Remove global window and navigator usages from the core code.
This commit is contained in:
parent
1e3e14e6b2
commit
1e4886a15a
@ -120,10 +120,6 @@ DOMElement.prototype = {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
global.window = global;
|
|
||||||
|
|
||||||
global.navigator = { userAgent: 'node' };
|
|
||||||
|
|
||||||
global.document = {
|
global.document = {
|
||||||
childNodes : [],
|
childNodes : [],
|
||||||
|
|
||||||
|
@ -2002,7 +2002,7 @@ var InternalRenderTask = (function InternalRenderTaskClosure() {
|
|||||||
},
|
},
|
||||||
|
|
||||||
_scheduleNext: function InternalRenderTask__scheduleNext() {
|
_scheduleNext: function InternalRenderTask__scheduleNext() {
|
||||||
if (this.useRequestAnimationFrame) {
|
if (this.useRequestAnimationFrame && typeof window !== 'undefined') {
|
||||||
window.requestAnimationFrame(this._nextBound);
|
window.requestAnimationFrame(this._nextBound);
|
||||||
} else {
|
} else {
|
||||||
Promise.resolve(undefined).then(this._nextBound);
|
Promise.resolve(undefined).then(this._nextBound);
|
||||||
|
@ -308,19 +308,20 @@ FontLoader.isFontLoadingAPISupported = typeof document !== 'undefined' &&
|
|||||||
//#if !(MOZCENTRAL || CHROME)
|
//#if !(MOZCENTRAL || CHROME)
|
||||||
Object.defineProperty(FontLoader, 'isSyncFontLoadingSupported', {
|
Object.defineProperty(FontLoader, 'isSyncFontLoadingSupported', {
|
||||||
get: function () {
|
get: function () {
|
||||||
|
if (typeof navigator === 'undefined') {
|
||||||
|
// node.js - we can pretend sync font loading is supported.
|
||||||
|
return shadow(FontLoader, 'isSyncFontLoadingSupported', true);
|
||||||
|
}
|
||||||
|
|
||||||
var supported = false;
|
var supported = false;
|
||||||
|
|
||||||
// User agent string sniffing is bad, but there is no reliable way to tell
|
// User agent string sniffing is bad, but there is no reliable way to tell
|
||||||
// if font is fully loaded and ready to be used with canvas.
|
// if font is fully loaded and ready to be used with canvas.
|
||||||
var userAgent = window.navigator.userAgent;
|
var m = /Mozilla\/5.0.*?rv:(\d+).*? Gecko/.exec(navigator.userAgent);
|
||||||
var m = /Mozilla\/5.0.*?rv:(\d+).*? Gecko/.exec(userAgent);
|
|
||||||
if (m && m[1] >= 14) {
|
if (m && m[1] >= 14) {
|
||||||
supported = true;
|
supported = true;
|
||||||
}
|
}
|
||||||
// TODO other browsers
|
// TODO other browsers
|
||||||
if (userAgent === 'node') {
|
|
||||||
supported = true;
|
|
||||||
}
|
|
||||||
return shadow(FontLoader, 'isSyncFontLoadingSupported', supported);
|
return shadow(FontLoader, 'isSyncFontLoadingSupported', supported);
|
||||||
},
|
},
|
||||||
enumerable: true,
|
enumerable: true,
|
||||||
@ -378,8 +379,7 @@ var FontFaceObject = (function FontFaceObjectClosure() {
|
|||||||
var fontName = this.loadedName;
|
var fontName = this.loadedName;
|
||||||
|
|
||||||
// Add the font-face rule to the document
|
// Add the font-face rule to the document
|
||||||
var url = ('url(data:' + this.mimetype + ';base64,' +
|
var url = ('url(data:' + this.mimetype + ';base64,' + btoa(data) + ');');
|
||||||
window.btoa(data) + ');');
|
|
||||||
var rule = '@font-face { font-family:"' + fontName + '";src:' + url + '}';
|
var rule = '@font-face { font-family:"' + fontName + '";src:' + url + '}';
|
||||||
|
|
||||||
if (this.options.fontRegistry) {
|
if (this.options.fontRegistry) {
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var useRequireEnsure = false;
|
var useRequireEnsure = false;
|
||||||
if (typeof module !== 'undefined' && module.require) {
|
if (typeof window === 'undefined') {
|
||||||
// node.js - disable worker and set require.ensure.
|
// node.js - disable worker and set require.ensure.
|
||||||
isWorkerDisabled = true;
|
isWorkerDisabled = true;
|
||||||
if (typeof require.ensure === 'undefined') {
|
if (typeof require.ensure === 'undefined') {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user