happy-dom 19.0.2 → 20.0.0
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/PropertySymbol.d.ts +1 -0
- package/lib/PropertySymbol.d.ts.map +1 -1
- package/lib/PropertySymbol.js +1 -0
- package/lib/PropertySymbol.js.map +1 -1
- package/lib/browser/DefaultBrowserSettings.d.ts.map +1 -1
- package/lib/browser/DefaultBrowserSettings.js +2 -0
- package/lib/browser/DefaultBrowserSettings.js.map +1 -1
- package/lib/browser/types/IBrowserSettings.d.ts +16 -1
- package/lib/browser/types/IBrowserSettings.d.ts.map +1 -1
- package/lib/browser/types/IOptionalBrowserSettings.d.ts +16 -1
- package/lib/browser/types/IOptionalBrowserSettings.d.ts.map +1 -1
- package/lib/browser/utilities/BrowserFrameNavigator.js +3 -3
- package/lib/browser/utilities/BrowserFrameNavigator.js.map +1 -1
- package/lib/html-parser/HTMLParser.d.ts.map +1 -1
- package/lib/html-parser/HTMLParser.js +3 -2
- package/lib/html-parser/HTMLParser.js.map +1 -1
- package/lib/module/ECMAScriptModuleCompiler.d.ts.map +1 -1
- package/lib/module/ECMAScriptModuleCompiler.js +6 -2
- package/lib/module/ECMAScriptModuleCompiler.js.map +1 -1
- package/lib/nodes/element/ElementEventAttributeUtility.d.ts.map +1 -1
- package/lib/nodes/element/ElementEventAttributeUtility.js +5 -4
- package/lib/nodes/element/ElementEventAttributeUtility.js.map +1 -1
- package/lib/nodes/html-link-element/HTMLLinkElement.d.ts +1 -1
- package/lib/nodes/html-link-element/HTMLLinkElement.d.ts.map +1 -1
- package/lib/nodes/html-link-element/HTMLLinkElement.js +4 -4
- package/lib/nodes/html-link-element/HTMLLinkElement.js.map +1 -1
- package/lib/nodes/html-media-element/TextTrackList.d.ts +1 -0
- package/lib/nodes/html-media-element/TextTrackList.d.ts.map +1 -1
- package/lib/nodes/html-media-element/TextTrackList.js.map +1 -1
- package/lib/nodes/html-script-element/HTMLScriptElement.d.ts +1 -1
- package/lib/nodes/html-script-element/HTMLScriptElement.d.ts.map +1 -1
- package/lib/nodes/html-script-element/HTMLScriptElement.js +47 -37
- package/lib/nodes/html-script-element/HTMLScriptElement.js.map +1 -1
- package/lib/nodes/html-select-element/HTMLSelectElement.d.ts +1 -0
- package/lib/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
- package/lib/nodes/html-select-element/HTMLSelectElement.js.map +1 -1
- package/lib/version.js +1 -1
- package/lib/window/BrowserWindow.d.ts +11 -0
- package/lib/window/BrowserWindow.d.ts.map +1 -1
- package/lib/window/BrowserWindow.js +31 -0
- package/lib/window/BrowserWindow.js.map +1 -1
- package/lib/window/GlobalWindow.d.ts +7 -1
- package/lib/window/GlobalWindow.d.ts.map +1 -1
- package/lib/window/GlobalWindow.js +10 -1
- package/lib/window/GlobalWindow.js.map +1 -1
- package/lib/xml-parser/XMLParser.d.ts +0 -3
- package/lib/xml-parser/XMLParser.d.ts.map +1 -1
- package/lib/xml-parser/XMLParser.js +0 -3
- package/lib/xml-parser/XMLParser.js.map +1 -1
- package/package.json +1 -1
- package/src/PropertySymbol.ts +1 -0
- package/src/browser/DefaultBrowserSettings.ts +2 -0
- package/src/browser/types/IBrowserSettings.ts +18 -1
- package/src/browser/types/IOptionalBrowserSettings.ts +18 -1
- package/src/browser/utilities/BrowserFrameNavigator.ts +3 -3
- package/src/html-parser/HTMLParser.ts +3 -2
- package/src/module/ECMAScriptModuleCompiler.ts +6 -2
- package/src/nodes/element/ElementEventAttributeUtility.ts +5 -4
- package/src/nodes/html-link-element/HTMLLinkElement.ts +4 -4
- package/src/nodes/html-media-element/TextTrackList.ts +3 -0
- package/src/nodes/html-script-element/HTMLScriptElement.ts +51 -42
- package/src/nodes/html-select-element/HTMLSelectElement.ts +3 -0
- package/src/window/BrowserWindow.ts +38 -0
- package/src/window/GlobalWindow.ts +14 -1
- package/src/xml-parser/XMLParser.ts +0 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XMLParser.js","sourceRoot":"","sources":["../../src/xml-parser/XMLParser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"XMLParser.js","sourceRoot":"","sources":["../../src/xml-parser/XMLParser.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/PropertySymbol.ts
CHANGED
|
@@ -404,3 +404,4 @@ export const cssRule = Symbol('cssRule');
|
|
|
404
404
|
export const rulePrefix = Symbol('rulePrefix');
|
|
405
405
|
export const virtualServerFile = Symbol('virtualServerFile');
|
|
406
406
|
export const frames = Symbol('frames');
|
|
407
|
+
export const disableEvaluation = Symbol('disableEvaluation');
|
|
@@ -5,6 +5,7 @@ import IBrowserSettings from './types/IBrowserSettings.js';
|
|
|
5
5
|
|
|
6
6
|
export default <IBrowserSettings>{
|
|
7
7
|
disableJavaScriptEvaluation: false,
|
|
8
|
+
enableJavaScriptEvaluation: false,
|
|
8
9
|
disableJavaScriptFileLoading: false,
|
|
9
10
|
disableCSSFileLoading: false,
|
|
10
11
|
disableIframePageLoading: false,
|
|
@@ -13,6 +14,7 @@ export default <IBrowserSettings>{
|
|
|
13
14
|
disableErrorCapturing: false,
|
|
14
15
|
errorCapture: BrowserErrorCaptureEnum.tryAndCatch,
|
|
15
16
|
enableFileSystemHttpRequests: false,
|
|
17
|
+
suppressCodeGenerationFromStringsWarning: false,
|
|
16
18
|
timer: {
|
|
17
19
|
maxTimeout: -1,
|
|
18
20
|
maxIntervalTime: -1,
|
|
@@ -11,9 +11,23 @@ import BrowserWindow from '../../window/BrowserWindow.js';
|
|
|
11
11
|
* Browser settings.
|
|
12
12
|
*/
|
|
13
13
|
export default interface IBrowserSettings {
|
|
14
|
-
/**
|
|
14
|
+
/**
|
|
15
|
+
* Disables JavaScript evaluation.
|
|
16
|
+
*
|
|
17
|
+
* @deprecated Javascript evaluation is now disabled by default. Use "enableJavaScriptEvaluation" if you want to enable it.
|
|
18
|
+
*/
|
|
15
19
|
disableJavaScriptEvaluation: boolean;
|
|
16
20
|
|
|
21
|
+
/**
|
|
22
|
+
* Enables JavaScript evaluation.
|
|
23
|
+
*
|
|
24
|
+
* A VM Context is not an isolated environment, and if you run untrusted code you are at risk of RCE (Remote Code Execution) attacks.
|
|
25
|
+
* It is recommended to disable code generation at process level by running node with the "--disallow-code-generation-from-strings" flag enabled to protect against these types of attacks.
|
|
26
|
+
*
|
|
27
|
+
* @see https://github.com/capricorn86/happy-dom/wiki/Code-Generation-From-Strings-Warning
|
|
28
|
+
*/
|
|
29
|
+
enableJavaScriptEvaluation: boolean;
|
|
30
|
+
|
|
17
31
|
/** Disables JavaScript file loading. */
|
|
18
32
|
disableJavaScriptFileLoading: boolean;
|
|
19
33
|
|
|
@@ -26,6 +40,9 @@ export default interface IBrowserSettings {
|
|
|
26
40
|
/** Handle disabled resource loading as success */
|
|
27
41
|
handleDisabledFileLoadingAsSuccess: boolean;
|
|
28
42
|
|
|
43
|
+
/** Suppresses the warning that is printed when code generation from strings is enabled at process level. */
|
|
44
|
+
suppressCodeGenerationFromStringsWarning: boolean;
|
|
45
|
+
|
|
29
46
|
/**
|
|
30
47
|
* Settings for timers
|
|
31
48
|
*/
|
|
@@ -8,9 +8,23 @@ import IOptionalTimerLoopsLimit from '../../window/IOptionalTimerLoopsLimit.js';
|
|
|
8
8
|
import BrowserWindow from '../../window/BrowserWindow.js';
|
|
9
9
|
|
|
10
10
|
export default interface IOptionalBrowserSettings {
|
|
11
|
-
/**
|
|
11
|
+
/**
|
|
12
|
+
* Disables JavaScript evaluation.
|
|
13
|
+
*
|
|
14
|
+
* @deprecated Javascript evaluation is now disabled by default. Use "enableJavaScriptEvaluation" if you want to enable it.
|
|
15
|
+
*/
|
|
12
16
|
disableJavaScriptEvaluation?: boolean;
|
|
13
17
|
|
|
18
|
+
/**
|
|
19
|
+
* Enables JavaScript evaluation.
|
|
20
|
+
*
|
|
21
|
+
* A VM Context is not an isolated environment, and if you run untrusted code you are at risk of RCE (Remote Code Execution) attacks.
|
|
22
|
+
* It is recommended to disable code generation at process level by running node with the "--disallow-code-generation-from-strings" flag enabled to protect against these types of attacks.
|
|
23
|
+
*
|
|
24
|
+
* @see https://github.com/capricorn86/happy-dom/wiki/Code-Generation-From-Strings-Warning
|
|
25
|
+
*/
|
|
26
|
+
enableJavaScriptEvaluation?: boolean;
|
|
27
|
+
|
|
14
28
|
/** Disables JavaScript file loading. */
|
|
15
29
|
disableJavaScriptFileLoading?: boolean;
|
|
16
30
|
|
|
@@ -23,6 +37,9 @@ export default interface IOptionalBrowserSettings {
|
|
|
23
37
|
/** Handle disabled file loading as success */
|
|
24
38
|
handleDisabledFileLoadingAsSuccess?: boolean;
|
|
25
39
|
|
|
40
|
+
/** Suppresses the warning that is printed when code generation from strings is enabled at process level. */
|
|
41
|
+
suppressCodeGenerationFromStringsWarning?: boolean;
|
|
42
|
+
|
|
26
43
|
/** Settings for timers */
|
|
27
44
|
timer?: {
|
|
28
45
|
maxTimeout?: number;
|
|
@@ -89,12 +89,12 @@ export default class BrowserFrameNavigator {
|
|
|
89
89
|
|
|
90
90
|
// Javascript protocol
|
|
91
91
|
if (targetURL.protocol === 'javascript:') {
|
|
92
|
-
if (frame &&
|
|
92
|
+
if (frame && frame.page.context.browser.settings.enableJavaScriptEvaluation) {
|
|
93
93
|
const readyStateManager = frame.window[PropertySymbol.readyStateManager];
|
|
94
94
|
const asyncTaskManager = frame[PropertySymbol.asyncTaskManager];
|
|
95
95
|
|
|
96
96
|
const taskID = readyStateManager.startTask();
|
|
97
|
-
const code =
|
|
97
|
+
const code = targetURL.href.replace('javascript:', '');
|
|
98
98
|
|
|
99
99
|
// The browser will wait for the next tick before executing the script.
|
|
100
100
|
// Fixes issue where evaluating the response can throw an error.
|
|
@@ -110,7 +110,7 @@ export default class BrowserFrameNavigator {
|
|
|
110
110
|
clearImmediate(immediate);
|
|
111
111
|
resolve(null);
|
|
112
112
|
});
|
|
113
|
-
frame.window.
|
|
113
|
+
frame.window[PropertySymbol.evaluateScript](code, { filename: frame.url });
|
|
114
114
|
});
|
|
115
115
|
});
|
|
116
116
|
|
|
@@ -776,10 +776,11 @@ export default class HTMLParser {
|
|
|
776
776
|
// However, they are allowed to be executed when document.write() is used.
|
|
777
777
|
// See: https://developer.mozilla.org/en-US/docs/Web/API/HTMLScriptElement
|
|
778
778
|
if (upperTagName === 'SCRIPT') {
|
|
779
|
-
(<HTMLScriptElement>this.currentNode)[PropertySymbol.
|
|
779
|
+
(<HTMLScriptElement>this.currentNode)[PropertySymbol.disableEvaluation] =
|
|
780
|
+
!this.evaluateScripts;
|
|
780
781
|
} else if (upperTagName === 'LINK') {
|
|
781
782
|
// An assumption that the same rule should be applied for the HTMLLinkElement is made here.
|
|
782
|
-
(<HTMLLinkElement>this.currentNode)[PropertySymbol.
|
|
783
|
+
(<HTMLLinkElement>this.currentNode)[PropertySymbol.disableEvaluation] = !this.evaluateScripts;
|
|
783
784
|
}
|
|
784
785
|
|
|
785
786
|
// Plain text elements such as <script> and <style> should only contain text.
|
|
@@ -401,10 +401,14 @@ export default class ECMAScriptModuleCompiler {
|
|
|
401
401
|
}
|
|
402
402
|
|
|
403
403
|
newCode += '})';
|
|
404
|
-
newCode += `\n//# sourceURL=${sourceURL || moduleURL}`;
|
|
405
404
|
|
|
406
405
|
try {
|
|
407
|
-
return {
|
|
406
|
+
return {
|
|
407
|
+
imports,
|
|
408
|
+
execute: this.window[PropertySymbol.evaluateScript](newCode, {
|
|
409
|
+
filename: sourceURL || moduleURL
|
|
410
|
+
})
|
|
411
|
+
};
|
|
408
412
|
} catch (e) {
|
|
409
413
|
const errorMessage = this.getError(moduleURL, code, sourceURL) || (<Error>e).message;
|
|
410
414
|
const error = new this.window.SyntaxError(
|
|
@@ -32,7 +32,7 @@ export default class ElementEventAttributeUtility {
|
|
|
32
32
|
|
|
33
33
|
const browserSettings = new WindowBrowserContext(window).getSettings();
|
|
34
34
|
|
|
35
|
-
if (!browserSettings) {
|
|
35
|
+
if (!browserSettings || !browserSettings.enableJavaScriptEvaluation) {
|
|
36
36
|
return null;
|
|
37
37
|
}
|
|
38
38
|
|
|
@@ -63,13 +63,14 @@ export default class ElementEventAttributeUtility {
|
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
newCode += '})';
|
|
66
|
-
newCode += `\n//# sourceURL=${window.location.href}`;
|
|
67
66
|
|
|
68
67
|
let listener: ((event: Event) => void) | null = null;
|
|
69
68
|
|
|
70
69
|
try {
|
|
71
|
-
listener = window.
|
|
72
|
-
|
|
70
|
+
listener = window[PropertySymbol.evaluateScript](newCode, {
|
|
71
|
+
filename: window.location.href
|
|
72
|
+
}).bind(element, {
|
|
73
|
+
dispatchError: window[PropertySymbol.dispatchError].bind(window)
|
|
73
74
|
});
|
|
74
75
|
} catch (e) {
|
|
75
76
|
const error = new window.SyntaxError(
|
|
@@ -24,7 +24,7 @@ import IResourceFetchResponse from '../../fetch/types/IResourceFetchResponse.js'
|
|
|
24
24
|
export default class HTMLLinkElement extends HTMLElement {
|
|
25
25
|
// Internal properties
|
|
26
26
|
public [PropertySymbol.sheet]: CSSStyleSheet | null = null;
|
|
27
|
-
public [PropertySymbol.
|
|
27
|
+
public [PropertySymbol.disableEvaluation] = false;
|
|
28
28
|
public [PropertySymbol.relList]: DOMTokenList | null = null;
|
|
29
29
|
#loadedStyleSheetURL: string | null = null;
|
|
30
30
|
|
|
@@ -305,7 +305,7 @@ export default class HTMLLinkElement extends HTMLElement {
|
|
|
305
305
|
!browserSettings ||
|
|
306
306
|
!this[PropertySymbol.isConnected] ||
|
|
307
307
|
browserSettings.disableJavaScriptFileLoading ||
|
|
308
|
-
browserSettings.
|
|
308
|
+
!browserSettings.enableJavaScriptEvaluation
|
|
309
309
|
) {
|
|
310
310
|
return;
|
|
311
311
|
}
|
|
@@ -351,7 +351,7 @@ export default class HTMLLinkElement extends HTMLElement {
|
|
|
351
351
|
|
|
352
352
|
if (
|
|
353
353
|
as === 'script' &&
|
|
354
|
-
(browserSettings.disableJavaScriptFileLoading || browserSettings.
|
|
354
|
+
(browserSettings.disableJavaScriptFileLoading || !browserSettings.enableJavaScriptEvaluation)
|
|
355
355
|
) {
|
|
356
356
|
return;
|
|
357
357
|
}
|
|
@@ -422,7 +422,7 @@ export default class HTMLLinkElement extends HTMLElement {
|
|
|
422
422
|
|
|
423
423
|
const browserSettings = browserFrame.page.context.browser.settings;
|
|
424
424
|
|
|
425
|
-
if (
|
|
425
|
+
if (this[PropertySymbol.disableEvaluation] || !this[PropertySymbol.isConnected]) {
|
|
426
426
|
return;
|
|
427
427
|
}
|
|
428
428
|
|
|
@@ -9,6 +9,9 @@ import ClassMethodBinder from '../../utilities/ClassMethodBinder.js';
|
|
|
9
9
|
* @see https://developer.mozilla.org/en-US/docs/Web/API/TextTrackList
|
|
10
10
|
*/
|
|
11
11
|
export default class TextTrackList extends EventTarget {
|
|
12
|
+
// Index signature
|
|
13
|
+
[index: number]: TextTrack | undefined;
|
|
14
|
+
|
|
12
15
|
// Internal properties
|
|
13
16
|
public [PropertySymbol.items]: TextTrack[] = [];
|
|
14
17
|
|
|
@@ -25,7 +25,7 @@ export default class HTMLScriptElement extends HTMLElement {
|
|
|
25
25
|
public declare cloneNode: (deep?: boolean) => HTMLScriptElement;
|
|
26
26
|
|
|
27
27
|
// Internal properties
|
|
28
|
-
public [PropertySymbol.
|
|
28
|
+
public [PropertySymbol.disableEvaluation] = false;
|
|
29
29
|
public [PropertySymbol.blocking]: DOMTokenList | null = null;
|
|
30
30
|
|
|
31
31
|
// Private properties
|
|
@@ -349,32 +349,34 @@ export default class HTMLScriptElement extends HTMLElement {
|
|
|
349
349
|
|
|
350
350
|
super[PropertySymbol.connectedToDocument]();
|
|
351
351
|
|
|
352
|
-
if (this[PropertySymbol.
|
|
353
|
-
|
|
352
|
+
if (this[PropertySymbol.disableEvaluation]) {
|
|
353
|
+
return;
|
|
354
|
+
}
|
|
354
355
|
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
356
|
+
const src = this.getAttribute('src');
|
|
357
|
+
|
|
358
|
+
if (src !== null) {
|
|
359
|
+
if (this.getAttribute('type') === 'module') {
|
|
360
|
+
this.#loadModule(src);
|
|
361
|
+
} else {
|
|
362
|
+
this.#loadScript(src);
|
|
363
|
+
}
|
|
364
|
+
} else if (browserSettings && browserSettings.enableJavaScriptEvaluation) {
|
|
365
|
+
const source = this.textContent;
|
|
366
|
+
const type = this.getAttribute('type');
|
|
367
|
+
|
|
368
|
+
if (source) {
|
|
369
|
+
if (type === 'module') {
|
|
370
|
+
this.#evaluateModule(source);
|
|
371
|
+
} else if (type === 'importmap') {
|
|
372
|
+
this.#evaluateImportMap(source);
|
|
373
|
+
} else if (
|
|
374
|
+
type === null ||
|
|
375
|
+
type === 'application/x-ecmascript' ||
|
|
376
|
+
type === 'application/x-javascript' ||
|
|
377
|
+
type.startsWith('text/javascript')
|
|
378
|
+
) {
|
|
379
|
+
this.#evaluateScript(source);
|
|
378
380
|
}
|
|
379
381
|
}
|
|
380
382
|
}
|
|
@@ -413,7 +415,7 @@ export default class HTMLScriptElement extends HTMLElement {
|
|
|
413
415
|
const browserSettings = new WindowBrowserContext(window).getSettings();
|
|
414
416
|
const browserFrame = new WindowBrowserContext(window).getBrowserFrame();
|
|
415
417
|
|
|
416
|
-
if (!browserFrame || !browserSettings) {
|
|
418
|
+
if (!browserFrame || !browserSettings || !browserSettings.enableJavaScriptEvaluation) {
|
|
417
419
|
return;
|
|
418
420
|
}
|
|
419
421
|
|
|
@@ -446,7 +448,12 @@ export default class HTMLScriptElement extends HTMLElement {
|
|
|
446
448
|
const browserSettings = new WindowBrowserContext(window).getSettings();
|
|
447
449
|
const browserFrame = new WindowBrowserContext(window).getBrowserFrame();
|
|
448
450
|
|
|
449
|
-
if (
|
|
451
|
+
if (
|
|
452
|
+
!browserFrame ||
|
|
453
|
+
!browserSettings ||
|
|
454
|
+
window[PropertySymbol.moduleImportMap] ||
|
|
455
|
+
!browserSettings.enableJavaScriptEvaluation
|
|
456
|
+
) {
|
|
450
457
|
return;
|
|
451
458
|
}
|
|
452
459
|
|
|
@@ -510,9 +517,9 @@ export default class HTMLScriptElement extends HTMLElement {
|
|
|
510
517
|
/**
|
|
511
518
|
* Evaluates a script.
|
|
512
519
|
*
|
|
513
|
-
* @param
|
|
520
|
+
* @param code Code.
|
|
514
521
|
*/
|
|
515
|
-
#evaluateScript(
|
|
522
|
+
#evaluateScript(code: string): void {
|
|
516
523
|
const window = this[PropertySymbol.window];
|
|
517
524
|
const browserSettings = new WindowBrowserContext(window).getSettings();
|
|
518
525
|
|
|
@@ -522,16 +529,18 @@ export default class HTMLScriptElement extends HTMLElement {
|
|
|
522
529
|
|
|
523
530
|
this[PropertySymbol.ownerDocument][PropertySymbol.currentScript] = this;
|
|
524
531
|
|
|
525
|
-
const code = `${source}\n//# sourceURL=${this[PropertySymbol.ownerDocument].location.href}`;
|
|
526
|
-
|
|
527
532
|
if (
|
|
528
533
|
browserSettings.disableErrorCapturing ||
|
|
529
534
|
browserSettings.errorCapture !== BrowserErrorCaptureEnum.tryAndCatch
|
|
530
535
|
) {
|
|
531
|
-
window.
|
|
536
|
+
window[PropertySymbol.evaluateScript](code, {
|
|
537
|
+
filename: this[PropertySymbol.ownerDocument].location.href
|
|
538
|
+
});
|
|
532
539
|
} else {
|
|
533
540
|
try {
|
|
534
|
-
window.
|
|
541
|
+
window[PropertySymbol.evaluateScript](code, {
|
|
542
|
+
filename: this[PropertySymbol.ownerDocument].location.href
|
|
543
|
+
});
|
|
535
544
|
} catch (error) {
|
|
536
545
|
window[PropertySymbol.dispatchError](<Error>error);
|
|
537
546
|
}
|
|
@@ -560,7 +569,7 @@ export default class HTMLScriptElement extends HTMLElement {
|
|
|
560
569
|
|
|
561
570
|
if (
|
|
562
571
|
browserSettings &&
|
|
563
|
-
(browserSettings.disableJavaScriptFileLoading || browserSettings.
|
|
572
|
+
(browserSettings.disableJavaScriptFileLoading || !browserSettings.enableJavaScriptEvaluation)
|
|
564
573
|
) {
|
|
565
574
|
if (browserSettings.handleDisabledFileLoadingAsSuccess) {
|
|
566
575
|
this.dispatchEvent(new Event('load'));
|
|
@@ -639,7 +648,7 @@ export default class HTMLScriptElement extends HTMLElement {
|
|
|
639
648
|
|
|
640
649
|
if (
|
|
641
650
|
browserSettings &&
|
|
642
|
-
(browserSettings.disableJavaScriptFileLoading || browserSettings.
|
|
651
|
+
(browserSettings.disableJavaScriptFileLoading || !browserSettings.enableJavaScriptEvaluation)
|
|
643
652
|
) {
|
|
644
653
|
if (browserSettings.handleDisabledFileLoadingAsSuccess) {
|
|
645
654
|
this.dispatchEvent(new Event('load'));
|
|
@@ -693,18 +702,18 @@ export default class HTMLScriptElement extends HTMLElement {
|
|
|
693
702
|
|
|
694
703
|
this[PropertySymbol.ownerDocument][PropertySymbol.currentScript] = this;
|
|
695
704
|
|
|
696
|
-
const code = `${response.content}\n//# sourceURL=${
|
|
697
|
-
response.virtualServerFile || absoluteURLString
|
|
698
|
-
}`;
|
|
699
|
-
|
|
700
705
|
if (
|
|
701
706
|
browserSettings.disableErrorCapturing ||
|
|
702
707
|
browserSettings.errorCapture !== BrowserErrorCaptureEnum.tryAndCatch
|
|
703
708
|
) {
|
|
704
|
-
this[PropertySymbol.window].
|
|
709
|
+
this[PropertySymbol.window][PropertySymbol.evaluateScript](response.content, {
|
|
710
|
+
filename: response.virtualServerFile || absoluteURLString
|
|
711
|
+
});
|
|
705
712
|
} else {
|
|
706
713
|
try {
|
|
707
|
-
this[PropertySymbol.window].
|
|
714
|
+
this[PropertySymbol.window][PropertySymbol.evaluateScript](response.content, {
|
|
715
|
+
filename: response.virtualServerFile || absoluteURLString
|
|
716
|
+
});
|
|
708
717
|
} catch (error) {
|
|
709
718
|
this[PropertySymbol.ownerDocument][PropertySymbol.currentScript] = null;
|
|
710
719
|
window[PropertySymbol.dispatchError](<Error>error);
|
|
@@ -25,6 +25,9 @@ import BrowserWindow from '../../window/BrowserWindow.js';
|
|
|
25
25
|
* https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement.
|
|
26
26
|
*/
|
|
27
27
|
export default class HTMLSelectElement extends HTMLElement {
|
|
28
|
+
// Index signature
|
|
29
|
+
[index: number]: HTMLOptionElement | undefined;
|
|
30
|
+
|
|
28
31
|
// Injected by WindowContextClassExtender
|
|
29
32
|
protected declare [PropertySymbol.window]: BrowserWindow;
|
|
30
33
|
|
|
@@ -331,6 +331,16 @@ const TIMER = {
|
|
|
331
331
|
|
|
332
332
|
const IS_NODE_JS_TIMEOUT_ENVIRONMENT = setTimeout.toString().includes('new Timeout');
|
|
333
333
|
|
|
334
|
+
const IS_PROCESS_LEVEL_CODE_GENERATION_FROM_STRINGS_ALLOWED = (() => {
|
|
335
|
+
try {
|
|
336
|
+
// eslint-disable-next-line no-new-func
|
|
337
|
+
new Function('return true;')();
|
|
338
|
+
return true;
|
|
339
|
+
} catch {
|
|
340
|
+
return false;
|
|
341
|
+
}
|
|
342
|
+
})();
|
|
343
|
+
|
|
334
344
|
/**
|
|
335
345
|
* Class for PerformanceObserverEntryList as it is only available as an interface from Node.js.
|
|
336
346
|
*/
|
|
@@ -779,6 +789,7 @@ export default class BrowserWindow extends EventTarget implements INodeJSGlobal
|
|
|
779
789
|
public declare encodeURI: typeof encodeURI;
|
|
780
790
|
public declare encodeURIComponent: typeof encodeURIComponent;
|
|
781
791
|
public declare eval: typeof eval;
|
|
792
|
+
|
|
782
793
|
/**
|
|
783
794
|
* @deprecated
|
|
784
795
|
*/
|
|
@@ -847,6 +858,21 @@ export default class BrowserWindow extends EventTarget implements INodeJSGlobal
|
|
|
847
858
|
constructor(browserFrame: IBrowserFrame, options?: { url?: string }) {
|
|
848
859
|
super();
|
|
849
860
|
|
|
861
|
+
if (
|
|
862
|
+
IS_PROCESS_LEVEL_CODE_GENERATION_FROM_STRINGS_ALLOWED &&
|
|
863
|
+
browserFrame.page.context.browser.settings.enableJavaScriptEvaluation &&
|
|
864
|
+
!browserFrame.page.context.browser.settings.suppressCodeGenerationFromStringsWarning
|
|
865
|
+
) {
|
|
866
|
+
// eslint-disable-next-line no-console
|
|
867
|
+
console.warn(
|
|
868
|
+
'\nWarning! Happy DOM has JavaScript evaluation enabled and is running in an environment with code generation from strings (eval) enabled at process level.' +
|
|
869
|
+
'\n\nA VM Context is not an isolated environment, and if you run untrusted code you are at risk of RCE (Remote Code Execution) attacks. The attacker can use code generation to escape the VM and run code at process level.' +
|
|
870
|
+
'\n\nIt is recommended to disable code generation at process level by running node with the "--disallow-code-generation-from-strings" flag enabled when Javascript evaluation is enabled in Happy DOM.' +
|
|
871
|
+
' You can suppress this warning by setting "suppressCodeGenerationFromStringsWarning" to "true" at your own risk.' +
|
|
872
|
+
'\n\nFor more information, see https://github.com/capricorn86/happy-dom/wiki/Code-Generation-From-Strings-Warning\n\n'
|
|
873
|
+
);
|
|
874
|
+
}
|
|
875
|
+
|
|
850
876
|
this.#browserFrame = browserFrame;
|
|
851
877
|
|
|
852
878
|
this.console = browserFrame.page.console;
|
|
@@ -1806,6 +1832,18 @@ export default class BrowserWindow extends EventTarget implements INodeJSGlobal
|
|
|
1806
1832
|
this.dispatchEvent(new ErrorEvent('error', { message: error.message, error }));
|
|
1807
1833
|
}
|
|
1808
1834
|
|
|
1835
|
+
/**
|
|
1836
|
+
* Evaluates code in a VM context.
|
|
1837
|
+
*
|
|
1838
|
+
* @param code Code.
|
|
1839
|
+
* @param [options] Options.
|
|
1840
|
+
* @param [options.filename] Filename.
|
|
1841
|
+
* @returns any.
|
|
1842
|
+
*/
|
|
1843
|
+
public [PropertySymbol.evaluateScript](code: string, options?: { filename?: string }): any {
|
|
1844
|
+
return new VM.Script(code, options).runInContext(this);
|
|
1845
|
+
}
|
|
1846
|
+
|
|
1809
1847
|
/**
|
|
1810
1848
|
* Setup of VM context.
|
|
1811
1849
|
*/
|
|
@@ -69,7 +69,20 @@ export default class GlobalWindow extends Window {
|
|
|
69
69
|
public unescape: (str: string) => string = globalThis.unescape;
|
|
70
70
|
|
|
71
71
|
/**
|
|
72
|
-
*
|
|
72
|
+
* @override
|
|
73
|
+
*/
|
|
74
|
+
public override [PropertySymbol.evaluateScript](
|
|
75
|
+
code: string,
|
|
76
|
+
options?: { filename?: string }
|
|
77
|
+
): any {
|
|
78
|
+
if (options?.filename) {
|
|
79
|
+
return this.eval(`${code}\n//# sourceURL=${options.filename}`);
|
|
80
|
+
}
|
|
81
|
+
return this.eval(code);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* @override
|
|
73
86
|
*/
|
|
74
87
|
protected override [PropertySymbol.setupVMContext](): void {
|
|
75
88
|
// Do nothing
|
|
@@ -109,9 +109,6 @@ export default class XMLParser {
|
|
|
109
109
|
* Constructor.
|
|
110
110
|
*
|
|
111
111
|
* @param window Window.
|
|
112
|
-
* @param [options] Options.
|
|
113
|
-
* @param [options.mode] Mode. Defaults to "htmlFragment".
|
|
114
|
-
* @param [options.evaluateScripts] Set to "true" to enable script execution
|
|
115
112
|
*/
|
|
116
113
|
constructor(window: BrowserWindow) {
|
|
117
114
|
this.window = window;
|