happy-dom 3.1.0 → 3.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of happy-dom might be problematic. Click here for more details.
- package/lib/fetch/ResourceFetchHandler.js +2 -2
- package/lib/fetch/ResourceFetchHandler.js.map +1 -1
- package/lib/window/GlobalWindow.d.ts +6 -0
- package/lib/window/GlobalWindow.js +8 -0
- package/lib/window/GlobalWindow.js.map +1 -1
- package/lib/window/Window.d.ts +8 -0
- package/lib/window/Window.js +21 -11
- package/lib/window/Window.js.map +1 -1
- package/package.json +2 -2
- package/src/fetch/ResourceFetchHandler.ts +2 -2
- package/src/window/GlobalWindow.ts +9 -0
- package/src/window/Window.ts +24 -12
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
const RelativeURL_1 = __importDefault(require("../location/RelativeURL"));
|
7
7
|
const DOMException_1 = __importDefault(require("../exception/DOMException"));
|
8
|
-
const sync_request_1 = __importDefault(require("sync-request"));
|
9
8
|
/**
|
10
9
|
* Helper class for performing fetch of resources.
|
11
10
|
*/
|
@@ -34,7 +33,8 @@ class ResourceFetchHandler {
|
|
34
33
|
static fetchSync(document, url) {
|
35
34
|
// We want to only load SyncRequest when it is needed to improve performance and not have direct dependencies to server side packages.
|
36
35
|
const absoluteURL = RelativeURL_1.default.getAbsoluteURL(document.defaultView.location, url);
|
37
|
-
const
|
36
|
+
const syncRequest = require('sync-request');
|
37
|
+
const response = syncRequest('GET', absoluteURL);
|
38
38
|
if (response.isError()) {
|
39
39
|
throw new DOMException_1.default(`Failed to perform request to "${absoluteURL}". Status code: ${response.statusCode}`);
|
40
40
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ResourceFetchHandler.js","sourceRoot":"","sources":["../../src/fetch/ResourceFetchHandler.ts"],"names":[],"mappings":";;;;;AAAA,0EAAkD;AAClD,6EAAqD;
|
1
|
+
{"version":3,"file":"ResourceFetchHandler.js","sourceRoot":"","sources":["../../src/fetch/ResourceFetchHandler.ts"],"names":[],"mappings":";;;;;AAAA,0EAAkD;AAClD,6EAAqD;AAGrD;;GAEG;AACH,MAAqB,oBAAoB;IACxC;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAmB,EAAE,GAAW;QACzD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YACjB,MAAM,IAAI,sBAAY,CACrB,iCAAiC,GAAG,mBAAmB,QAAQ,CAAC,MAAM,EAAE,CACxE,CAAC;SACF;QACD,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,SAAS,CAAC,QAAmB,EAAE,GAAW;QACvD,sIAAsI;QACtI,MAAM,WAAW,GAAG,qBAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACnF,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAEjD,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE;YACvB,MAAM,IAAI,sBAAY,CACrB,iCAAiC,WAAW,mBAAmB,QAAQ,CAAC,UAAU,EAAE,CACpF,CAAC;SACF;QAED,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;IACtC,CAAC;CACD;AAvCD,uCAuCC"}
|
@@ -85,6 +85,14 @@ class GlobalWindow extends Window_1.default {
|
|
85
85
|
eval(code) {
|
86
86
|
return eval(code);
|
87
87
|
}
|
88
|
+
/**
|
89
|
+
* Setup of VM context.
|
90
|
+
*
|
91
|
+
* @override
|
92
|
+
*/
|
93
|
+
_setupVMContext() {
|
94
|
+
// Do nothing
|
95
|
+
}
|
88
96
|
}
|
89
97
|
exports.default = GlobalWindow;
|
90
98
|
//# sourceMappingURL=GlobalWindow.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"GlobalWindow.js","sourceRoot":"","sources":["../../src/window/GlobalWindow.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"GlobalWindow.js","sourceRoot":"","sources":["../../src/window/GlobalWindow.ts"],"names":[],"mappings":";;;;;AAAA,sDAA8B;AAE9B;;;;;GAKG;AACH,MAAqB,YAAa,SAAQ,gBAAM;IAAhD;;QACC,kBAAkB;QACX,gBAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QACrC,YAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAC7B,WAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAC/D,aAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QAC/B,SAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QACvB,UAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QACzB,cAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACjC,iBAAY,GAAG,UAAU,CAAC,YAAY,CAAC;QACvC,iBAAY,GAAG,UAAU,CAAC,YAAY,CAAC;QACvC,WAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAC3B,aAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QAC/B,eAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACnC,eAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACnC,cAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACjC,SAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QACvB,SAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QACvB,QAAG,GAAG,UAAU,CAAC,GAAG,CAAC;QACrB,SAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QACvB,QAAG,GAAG,UAAU,CAAC,GAAG,CAAC;QACrB,WAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAC3B,YAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAC7B,eAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACnC,mBAAc,GAAG,UAAU,CAAC,cAAc,CAAC;QAC3C,WAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAC3B,YAAO,GAAG,UAAU,CAAC,WAAW,CAAC;QACjC,QAAG,GAAG,UAAU,CAAC,GAAG,CAAC;QACrB,WAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAC3B,gBAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QACrC,WAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAC3B,cAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACjC,aAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QAC/B,gBAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QACrC,gBAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QACrC,eAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACnC,sBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC;QACjD,YAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAC7B,YAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAC7B,mBAAc,GAAG,UAAU,CAAC,cAAc,CAAC;QAC3C,cAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACjC,uBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC;QACnD,cAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACjC,uBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC;QACnD,WAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAC3B,WAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAC3B,aAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QAC/B,UAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QACzB,eAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACnC,aAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QAC/B,YAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAC7B,SAAI,GAAG,UAAU,CAAC,WAAW,CAAC;QAC9B,iBAAY,GAAG,UAAU,CAAC,YAAY,CAAC;QACvC,mBAAc,GAAG,UAAU,CAAC,cAAc,CAAC;QAC3C,cAAS,GAAG,UAAU,CAAC,WAAW,CAAC;QACnC,aAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QAC/B,OAAE,GAAG,UAAU,CAAC,EAAE,CAAC;QACnB,YAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAC7B,oBAAe,GAAG,UAAU,CAAC,eAAe,CAAC;QAC7C,gBAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QACrC,UAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QACzB,WAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAC3B,aAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IAoBvC,CAAC;IAlBA;;;;;OAKG;IACI,IAAI,CAAC,IAAY;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACO,eAAe;QACxB,aAAa;IACd,CAAC;CACD;AAlFD,+BAkFC"}
|
package/lib/window/Window.d.ts
CHANGED
@@ -277,6 +277,10 @@ export default class Window extends EventTarget implements IWindow {
|
|
277
277
|
Array: any;
|
278
278
|
Object: any;
|
279
279
|
Function: any;
|
280
|
+
private _setTimeout;
|
281
|
+
private _clearTimeout;
|
282
|
+
private _setInterval;
|
283
|
+
private _clearInterval;
|
280
284
|
/**
|
281
285
|
* Constructor.
|
282
286
|
*/
|
@@ -393,4 +397,8 @@ export default class Window extends EventTarget implements IWindow {
|
|
393
397
|
* @returns Promise.
|
394
398
|
*/
|
395
399
|
fetch(url: string, init?: IRequestInit): Promise<IResponse>;
|
400
|
+
/**
|
401
|
+
* Setup of VM context.
|
402
|
+
*/
|
403
|
+
protected _setupVMContext(): void;
|
396
404
|
}
|
package/lib/window/Window.js
CHANGED
@@ -233,6 +233,11 @@ class Window extends EventTarget_1.default {
|
|
233
233
|
this.localStorage = new Storage_1.default();
|
234
234
|
this.performance = PerfHooks.performance;
|
235
235
|
this.Buffer = buffer_1.Buffer;
|
236
|
+
// Private properties
|
237
|
+
this._setTimeout = setTimeout;
|
238
|
+
this._clearTimeout = clearTimeout;
|
239
|
+
this._setInterval = setInterval;
|
240
|
+
this._clearInterval = clearInterval;
|
236
241
|
this.document = new HTMLDocument_1.default();
|
237
242
|
this.document.defaultView = this;
|
238
243
|
this.document._readyStateManager.whenComplete().then(() => {
|
@@ -259,13 +264,7 @@ class Window extends EventTarget_1.default {
|
|
259
264
|
this[key] = this[key].bind(this);
|
260
265
|
}
|
261
266
|
}
|
262
|
-
|
263
|
-
if (this.Array === undefined && !vm_1.default.isContext(this)) {
|
264
|
-
vm_1.default.createContext(this);
|
265
|
-
// Sets global properties from the VM to the Window object.
|
266
|
-
// Otherwise "this.Array" will be undefined for example.
|
267
|
-
vm_1.default.runInContext(VMGlobalPropertyScript_1.default, this);
|
268
|
-
}
|
267
|
+
this._setupVMContext();
|
269
268
|
}
|
270
269
|
/**
|
271
270
|
* The CSS interface holds useful CSS-related methods.
|
@@ -366,7 +365,7 @@ class Window extends EventTarget_1.default {
|
|
366
365
|
* @returns Timeout ID.
|
367
366
|
*/
|
368
367
|
setTimeout(callback, delay = 0) {
|
369
|
-
const id =
|
368
|
+
const id = this._setTimeout(() => {
|
370
369
|
this.happyDOM.asyncTaskManager.endTimer(id);
|
371
370
|
callback();
|
372
371
|
}, delay);
|
@@ -380,7 +379,7 @@ class Window extends EventTarget_1.default {
|
|
380
379
|
* @param id ID of the timeout.
|
381
380
|
*/
|
382
381
|
clearTimeout(id) {
|
383
|
-
|
382
|
+
this._clearTimeout(id);
|
384
383
|
this.happyDOM.asyncTaskManager.endTimer(id);
|
385
384
|
}
|
386
385
|
/**
|
@@ -392,7 +391,7 @@ class Window extends EventTarget_1.default {
|
|
392
391
|
* @returns Interval ID.
|
393
392
|
*/
|
394
393
|
setInterval(callback, delay = 0) {
|
395
|
-
const id =
|
394
|
+
const id = this._setInterval(callback, delay);
|
396
395
|
this.happyDOM.asyncTaskManager.startTimer(id);
|
397
396
|
return id;
|
398
397
|
}
|
@@ -403,7 +402,7 @@ class Window extends EventTarget_1.default {
|
|
403
402
|
* @param id ID of the interval.
|
404
403
|
*/
|
405
404
|
clearInterval(id) {
|
406
|
-
|
405
|
+
this._clearInterval(id);
|
407
406
|
this.happyDOM.asyncTaskManager.endTimer(id);
|
408
407
|
}
|
409
408
|
/**
|
@@ -438,6 +437,17 @@ class Window extends EventTarget_1.default {
|
|
438
437
|
async fetch(url, init) {
|
439
438
|
return await FetchHandler_1.default.fetch(this.document, url, init);
|
440
439
|
}
|
440
|
+
/**
|
441
|
+
* Setup of VM context.
|
442
|
+
*/
|
443
|
+
_setupVMContext() {
|
444
|
+
if (!vm_1.default.isContext(this)) {
|
445
|
+
vm_1.default.createContext(this);
|
446
|
+
// Sets global properties from the VM to the Window object.
|
447
|
+
// Otherwise "this.Array" will be undefined for example.
|
448
|
+
vm_1.default.runInContext(VMGlobalPropertyScript_1.default, this);
|
449
|
+
}
|
450
|
+
}
|
441
451
|
}
|
442
452
|
exports.default = Window;
|
443
453
|
//# sourceMappingURL=Window.js.map
|
package/lib/window/Window.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Window.js","sourceRoot":"","sources":["../../src/window/Window.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oGAA4E;AAC5E,0EAAkD;AAClD,uFAA+D;AAC/D,oFAA4D;AAC5D,oFAA4D;AAC5D,8DAAsC;AACtC,2EAAmD;AACnD,8DAAsC;AACtC,uEAA+C;AAC/C,iFAAyD;AACzD,uEAA+C;AAC/C,6GAAqF;AACrF,iGAAyE;AACzE,oFAA4D;AAC5D,0GAAkF;AAClF,oGAA4E;AAC5E,8GAAsF;AACtF,iGAAyE;AACzE,oGAA4E;AAC5E,iGAAyE;AACzE,oGAA4E;AAC5E,iGAAyE;AACzE,iGAAyE;AACzE,uFAA+D;AAC/D,iFAAyD;AACzD,uGAA+E;AAC/E,oGAA4E;AAC5E,8EAAsD;AACtD,mGAA2E;AAC3E,0FAAkE;AAClE,2EAAmD;AACnD,2DAAmC;AACnC,8EAAsD;AACtD,oFAA4D;AAC5D,kFAA0D;AAC1D,kFAA0D;AAC1D,uEAA+C;AAC/C,0DAAkC;AAClC,oEAA4C;AAC5C,iGAAyE;AACzE,6FAAqE;AACrE,4GAAoF;AACpF,wEAAgD;AAChD,oFAA4D;AAC5D,uFAA+D;AAC/D,wDAAgC;AAChC,wDAAgC;AAChC,6EAAqD;AACrD,oEAA4C;AAC5C,iEAAyC;AACzC,yEAAiD;AACjD,qFAA6D;AAC7D,qDAA6B;AAC7B,uEAA+C;AAC/C,4EAAoD;AACpD,gFAAwD;AACxD,4EAAoD;AACpD,4EAAoD;AACpD,yEAAiD;AACjD,iFAAyD;AACzD,yFAAiE;AACjE,4EAAoD;AACpD,+DAAuC;AACvC,4EAAoD;AACpD,gFAAwD;AACxD,8DAAsC;AACtC,8FAAsE;AAOtE,+DAAuC;AACvC,+DAAuC;AACvC,iEAAyC;AACzC,iEAAyC;AAEzC,qFAA6D;AAC7D,sEAA8C;AAC9C,mFAA2D;AAC3D,uEAA+C;AAC/C,uEAA+C;AAC/C,qEAA6C;AAC7C,+EAAuD;AACvD,iEAAyC;AACzC,2EAAmD;AACnD,6BAAsC;AACtC,yEAAiD;AACjD,sFAA8D;AAC9D,sDAAwC;AACxC,4CAAoB;AACpB,mCAAgC;AAEhC;;;;;GAKG;AACH,MAAqB,MAAO,SAAQ,qBAAW;
|
1
|
+
{"version":3,"file":"Window.js","sourceRoot":"","sources":["../../src/window/Window.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "happy-dom",
|
3
|
-
"version": "3.1.
|
3
|
+
"version": "3.1.1",
|
4
4
|
"license": "MIT",
|
5
5
|
"homepage": "https://github.com/capricorn86/happy-dom",
|
6
6
|
"repository": "https://github.com/capricorn86/happy-dom",
|
@@ -75,5 +75,5 @@
|
|
75
75
|
"ts-jest": "^27.1.3",
|
76
76
|
"typescript": "^4.6.2"
|
77
77
|
},
|
78
|
-
"gitHead": "
|
78
|
+
"gitHead": "77f6987dbb6876e8ef1279ad0854461d3ff3f668"
|
79
79
|
}
|
@@ -1,7 +1,6 @@
|
|
1
1
|
import RelativeURL from '../location/RelativeURL';
|
2
2
|
import DOMException from '../exception/DOMException';
|
3
3
|
import IDocument from '../nodes/document/IDocument';
|
4
|
-
import SyncRequest from 'sync-request';
|
5
4
|
|
6
5
|
/**
|
7
6
|
* Helper class for performing fetch of resources.
|
@@ -34,7 +33,8 @@ export default class ResourceFetchHandler {
|
|
34
33
|
public static fetchSync(document: IDocument, url: string): string {
|
35
34
|
// We want to only load SyncRequest when it is needed to improve performance and not have direct dependencies to server side packages.
|
36
35
|
const absoluteURL = RelativeURL.getAbsoluteURL(document.defaultView.location, url);
|
37
|
-
const
|
36
|
+
const syncRequest = require('sync-request');
|
37
|
+
const response = syncRequest('GET', absoluteURL);
|
38
38
|
|
39
39
|
if (response.isError()) {
|
40
40
|
throw new DOMException(
|
package/src/window/Window.ts
CHANGED
@@ -280,6 +280,12 @@ export default class Window extends EventTarget implements IWindow {
|
|
280
280
|
public Object;
|
281
281
|
public Function;
|
282
282
|
|
283
|
+
// Private properties
|
284
|
+
private _setTimeout = setTimeout;
|
285
|
+
private _clearTimeout = clearTimeout;
|
286
|
+
private _setInterval = setInterval;
|
287
|
+
private _clearInterval = clearInterval;
|
288
|
+
|
283
289
|
/**
|
284
290
|
* Constructor.
|
285
291
|
*/
|
@@ -317,14 +323,7 @@ export default class Window extends EventTarget implements IWindow {
|
|
317
323
|
}
|
318
324
|
}
|
319
325
|
|
320
|
-
|
321
|
-
if (this.Array === undefined && !VM.isContext(this)) {
|
322
|
-
VM.createContext(this);
|
323
|
-
|
324
|
-
// Sets global properties from the VM to the Window object.
|
325
|
-
// Otherwise "this.Array" will be undefined for example.
|
326
|
-
VM.runInContext(VMGlobalPropertyScript, this);
|
327
|
-
}
|
326
|
+
this._setupVMContext();
|
328
327
|
}
|
329
328
|
|
330
329
|
/**
|
@@ -435,7 +434,7 @@ export default class Window extends EventTarget implements IWindow {
|
|
435
434
|
* @returns Timeout ID.
|
436
435
|
*/
|
437
436
|
public setTimeout(callback: () => void, delay = 0): NodeJS.Timeout {
|
438
|
-
const id =
|
437
|
+
const id = this._setTimeout(() => {
|
439
438
|
this.happyDOM.asyncTaskManager.endTimer(id);
|
440
439
|
callback();
|
441
440
|
}, delay);
|
@@ -450,7 +449,7 @@ export default class Window extends EventTarget implements IWindow {
|
|
450
449
|
* @param id ID of the timeout.
|
451
450
|
*/
|
452
451
|
public clearTimeout(id: NodeJS.Timeout): void {
|
453
|
-
|
452
|
+
this._clearTimeout(id);
|
454
453
|
this.happyDOM.asyncTaskManager.endTimer(id);
|
455
454
|
}
|
456
455
|
|
@@ -463,7 +462,7 @@ export default class Window extends EventTarget implements IWindow {
|
|
463
462
|
* @returns Interval ID.
|
464
463
|
*/
|
465
464
|
public setInterval(callback: () => void, delay = 0): NodeJS.Timeout {
|
466
|
-
const id =
|
465
|
+
const id = this._setInterval(callback, delay);
|
467
466
|
this.happyDOM.asyncTaskManager.startTimer(id);
|
468
467
|
return id;
|
469
468
|
}
|
@@ -475,7 +474,7 @@ export default class Window extends EventTarget implements IWindow {
|
|
475
474
|
* @param id ID of the interval.
|
476
475
|
*/
|
477
476
|
public clearInterval(id: NodeJS.Timeout): void {
|
478
|
-
|
477
|
+
this._clearInterval(id);
|
479
478
|
this.happyDOM.asyncTaskManager.endTimer(id);
|
480
479
|
}
|
481
480
|
|
@@ -513,4 +512,17 @@ export default class Window extends EventTarget implements IWindow {
|
|
513
512
|
public async fetch(url: string, init?: IRequestInit): Promise<IResponse> {
|
514
513
|
return await FetchHandler.fetch(this.document, url, init);
|
515
514
|
}
|
515
|
+
|
516
|
+
/**
|
517
|
+
* Setup of VM context.
|
518
|
+
*/
|
519
|
+
protected _setupVMContext(): void {
|
520
|
+
if (!VM.isContext(this)) {
|
521
|
+
VM.createContext(this);
|
522
|
+
|
523
|
+
// Sets global properties from the VM to the Window object.
|
524
|
+
// Otherwise "this.Array" will be undefined for example.
|
525
|
+
VM.runInContext(VMGlobalPropertyScript, this);
|
526
|
+
}
|
527
|
+
}
|
516
528
|
}
|