happy-dom 15.0.0 → 15.1.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/cjs/ClassMethodBinder.cjs +8 -6
- package/cjs/ClassMethodBinder.cjs.map +1 -1
- package/cjs/ClassMethodBinder.d.ts +4 -2
- package/cjs/ClassMethodBinder.d.ts.map +1 -1
- package/cjs/PropertySymbol.cjs +20 -9
- package/cjs/PropertySymbol.cjs.map +1 -1
- package/cjs/PropertySymbol.d.ts +15 -4
- package/cjs/PropertySymbol.d.ts.map +1 -1
- package/cjs/async-task-manager/AsyncTaskManager.cjs +64 -35
- package/cjs/async-task-manager/AsyncTaskManager.cjs.map +1 -1
- package/cjs/async-task-manager/AsyncTaskManager.d.ts +11 -1
- package/cjs/async-task-manager/AsyncTaskManager.d.ts.map +1 -1
- package/cjs/browser/Browser.cjs +30 -0
- package/cjs/browser/Browser.cjs.map +1 -1
- package/cjs/browser/Browser.d.ts +3 -0
- package/cjs/browser/Browser.d.ts.map +1 -1
- package/cjs/browser/BrowserFrame.cjs +3 -7
- package/cjs/browser/BrowserFrame.cjs.map +1 -1
- package/cjs/browser/BrowserFrame.d.ts +1 -4
- package/cjs/browser/BrowserFrame.d.ts.map +1 -1
- package/cjs/browser/DefaultBrowserSettings.cjs +2 -1
- package/cjs/browser/DefaultBrowserSettings.cjs.map +1 -1
- package/cjs/browser/DefaultBrowserSettings.d.ts.map +1 -1
- package/cjs/browser/detached-browser/DetachedBrowser.cjs +30 -0
- package/cjs/browser/detached-browser/DetachedBrowser.cjs.map +1 -1
- package/cjs/browser/detached-browser/DetachedBrowser.d.ts +3 -0
- package/cjs/browser/detached-browser/DetachedBrowser.d.ts.map +1 -1
- package/cjs/browser/detached-browser/DetachedBrowserFrame.cjs +3 -7
- package/cjs/browser/detached-browser/DetachedBrowserFrame.cjs.map +1 -1
- package/cjs/browser/detached-browser/DetachedBrowserFrame.d.ts +1 -4
- package/cjs/browser/detached-browser/DetachedBrowserFrame.d.ts.map +1 -1
- package/cjs/browser/types/IBrowser.cjs +24 -0
- package/cjs/browser/types/IBrowser.cjs.map +1 -1
- package/cjs/browser/types/IBrowser.d.ts +3 -0
- package/cjs/browser/types/IBrowser.d.ts.map +1 -1
- package/cjs/browser/types/IBrowserFrame.d.ts +0 -3
- package/cjs/browser/types/IBrowserFrame.d.ts.map +1 -1
- package/cjs/browser/types/IBrowserSettings.d.ts +1 -0
- package/cjs/browser/types/IBrowserSettings.d.ts.map +1 -1
- package/cjs/browser/utilities/BrowserExceptionObserver.cjs +100 -0
- package/cjs/browser/utilities/BrowserExceptionObserver.cjs.map +1 -0
- package/{lib/browser/utilities/BrowserFrameExceptionObserver.d.ts → cjs/browser/utilities/BrowserExceptionObserver.d.ts} +9 -7
- package/cjs/browser/utilities/BrowserExceptionObserver.d.ts.map +1 -0
- package/cjs/browser/utilities/BrowserFrameFactory.cjs +27 -35
- package/cjs/browser/utilities/BrowserFrameFactory.cjs.map +1 -1
- package/cjs/browser/utilities/BrowserFrameFactory.d.ts.map +1 -1
- package/cjs/browser/utilities/BrowserFrameNavigator.cjs +52 -29
- package/cjs/browser/utilities/BrowserFrameNavigator.cjs.map +1 -1
- package/cjs/browser/utilities/BrowserFrameNavigator.d.ts.map +1 -1
- package/cjs/clipboard/Clipboard.cjs +18 -15
- package/cjs/clipboard/Clipboard.cjs.map +1 -1
- package/cjs/clipboard/Clipboard.d.ts +2 -2
- package/cjs/clipboard/Clipboard.d.ts.map +1 -1
- package/cjs/css/declaration/AbstractCSSStyleDeclaration.cjs +27 -4
- package/cjs/css/declaration/AbstractCSSStyleDeclaration.cjs.map +1 -1
- package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.cjs +6 -5
- package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.cjs.map +1 -1
- package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.d.ts.map +1 -1
- package/cjs/css/declaration/measurement-converter/CSSMeasurementConverter.cjs +5 -5
- package/cjs/css/declaration/measurement-converter/CSSMeasurementConverter.cjs.map +1 -1
- package/cjs/css/declaration/measurement-converter/CSSMeasurementConverter.d.ts +2 -2
- package/cjs/css/declaration/measurement-converter/CSSMeasurementConverter.d.ts.map +1 -1
- package/cjs/custom-element/CustomElementRegistry.cjs +37 -17
- package/cjs/custom-element/CustomElementRegistry.cjs.map +1 -1
- package/cjs/custom-element/CustomElementRegistry.d.ts +2 -3
- package/cjs/custom-element/CustomElementRegistry.d.ts.map +1 -1
- package/cjs/dom-implementation/DOMImplementation.cjs +12 -7
- package/cjs/dom-implementation/DOMImplementation.cjs.map +1 -1
- package/cjs/dom-implementation/DOMImplementation.d.ts +7 -3
- package/cjs/dom-implementation/DOMImplementation.d.ts.map +1 -1
- package/cjs/dom-parser/DOMParser.cjs +6 -15
- package/cjs/dom-parser/DOMParser.cjs.map +1 -1
- package/cjs/dom-parser/DOMParser.d.ts +2 -6
- package/cjs/dom-parser/DOMParser.d.ts.map +1 -1
- package/cjs/event/Event.cjs +76 -18
- package/cjs/event/Event.cjs.map +1 -1
- package/cjs/event/Event.d.ts +49 -7
- package/cjs/event/Event.d.ts.map +1 -1
- package/cjs/event/EventTarget.cjs +153 -141
- package/cjs/event/EventTarget.cjs.map +1 -1
- package/cjs/event/EventTarget.d.ts +12 -8
- package/cjs/event/EventTarget.d.ts.map +1 -1
- package/cjs/event/MessagePort.cjs.map +1 -1
- package/cjs/event/MessagePort.d.ts +1 -2
- package/cjs/event/MessagePort.d.ts.map +1 -1
- package/cjs/event/{IEventListener.cjs → TEventListener.cjs} +1 -1
- package/cjs/event/TEventListener.cjs.map +1 -0
- package/cjs/event/TEventListener.d.ts +5 -0
- package/cjs/event/TEventListener.d.ts.map +1 -0
- package/cjs/event/TEventListenerFunction.cjs +3 -0
- package/cjs/event/TEventListenerFunction.cjs.map +1 -0
- package/cjs/event/TEventListenerFunction.d.ts +4 -0
- package/cjs/event/TEventListenerFunction.d.ts.map +1 -0
- package/cjs/event/{IMessagePort.cjs → TEventListenerObject.cjs} +1 -1
- package/cjs/event/TEventListenerObject.cjs.map +1 -0
- package/cjs/event/TEventListenerObject.d.ts +6 -0
- package/cjs/event/TEventListenerObject.d.ts.map +1 -0
- package/cjs/event/events/CustomEvent.cjs +38 -6
- package/cjs/event/events/CustomEvent.cjs.map +1 -1
- package/cjs/event/events/CustomEvent.d.ts +8 -1
- package/cjs/event/events/CustomEvent.d.ts.map +1 -1
- package/cjs/event/events/IErrorEventInit.d.ts.map +1 -1
- package/cjs/event/events/IMessageEventInit.d.ts +2 -2
- package/cjs/event/events/IMessageEventInit.d.ts.map +1 -1
- package/cjs/event/events/MessageEvent.cjs.map +1 -1
- package/cjs/event/events/MessageEvent.d.ts +2 -2
- package/cjs/event/events/MessageEvent.d.ts.map +1 -1
- package/cjs/fetch/AbortController.cjs +2 -11
- package/cjs/fetch/AbortController.cjs.map +1 -1
- package/cjs/fetch/AbortController.d.ts +3 -4
- package/cjs/fetch/AbortController.d.ts.map +1 -1
- package/cjs/fetch/AbortSignal.cjs +14 -4
- package/cjs/fetch/AbortSignal.cjs.map +1 -1
- package/cjs/fetch/AbortSignal.d.ts +7 -0
- package/cjs/fetch/AbortSignal.d.ts.map +1 -1
- package/cjs/fetch/Fetch.cjs +24 -14
- package/cjs/fetch/Fetch.cjs.map +1 -1
- package/cjs/fetch/Fetch.d.ts.map +1 -1
- package/cjs/fetch/Request.cjs +62 -45
- package/cjs/fetch/Request.cjs.map +1 -1
- package/cjs/fetch/Request.d.ts +3 -14
- package/cjs/fetch/Request.d.ts.map +1 -1
- package/cjs/fetch/ResourceFetch.cjs +2 -3
- package/cjs/fetch/ResourceFetch.cjs.map +1 -1
- package/cjs/fetch/ResourceFetch.d.ts.map +1 -1
- package/cjs/fetch/Response.cjs +63 -40
- package/cjs/fetch/Response.cjs.map +1 -1
- package/cjs/fetch/Response.d.ts +3 -10
- package/cjs/fetch/Response.d.ts.map +1 -1
- package/cjs/fetch/SyncFetch.cjs +12 -13
- package/cjs/fetch/SyncFetch.cjs.map +1 -1
- package/cjs/fetch/SyncFetch.d.ts.map +1 -1
- package/cjs/fetch/multipart/MultipartFormDataParser.cjs +12 -6
- package/cjs/fetch/multipart/MultipartFormDataParser.cjs.map +1 -1
- package/cjs/fetch/multipart/MultipartFormDataParser.d.ts +3 -1
- package/cjs/fetch/multipart/MultipartFormDataParser.d.ts.map +1 -1
- package/cjs/fetch/multipart/MultipartReader.cjs +5 -3
- package/cjs/fetch/multipart/MultipartReader.cjs.map +1 -1
- package/cjs/fetch/multipart/MultipartReader.d.ts +4 -1
- package/cjs/fetch/multipart/MultipartReader.d.ts.map +1 -1
- package/cjs/fetch/utilities/FetchBodyUtility.cjs +10 -5
- package/cjs/fetch/utilities/FetchBodyUtility.cjs.map +1 -1
- package/cjs/fetch/utilities/FetchBodyUtility.d.ts +5 -2
- package/cjs/fetch/utilities/FetchBodyUtility.d.ts.map +1 -1
- package/cjs/file/FileReader.cjs +11 -11
- package/cjs/file/FileReader.cjs.map +1 -1
- package/cjs/file/FileReader.d.ts +1 -4
- package/cjs/file/FileReader.d.ts.map +1 -1
- package/cjs/history/History.cjs +28 -14
- package/cjs/history/History.cjs.map +1 -1
- package/cjs/history/History.d.ts +2 -2
- package/cjs/history/History.d.ts.map +1 -1
- package/cjs/index.d.ts +2 -2
- package/cjs/location/Location.cjs +43 -22
- package/cjs/location/Location.cjs.map +1 -1
- package/cjs/location/Location.d.ts +4 -0
- package/cjs/location/Location.d.ts.map +1 -1
- package/cjs/match-media/MediaQueryItem.cjs +26 -26
- package/cjs/match-media/MediaQueryItem.cjs.map +1 -1
- package/cjs/match-media/MediaQueryItem.d.ts +3 -3
- package/cjs/match-media/MediaQueryItem.d.ts.map +1 -1
- package/cjs/match-media/MediaQueryList.cjs +7 -7
- package/cjs/match-media/MediaQueryList.cjs.map +1 -1
- package/cjs/match-media/MediaQueryList.d.ts +5 -5
- package/cjs/match-media/MediaQueryList.d.ts.map +1 -1
- package/cjs/match-media/MediaQueryParser.cjs +4 -4
- package/cjs/match-media/MediaQueryParser.cjs.map +1 -1
- package/cjs/match-media/MediaQueryParser.d.ts +2 -2
- package/cjs/match-media/MediaQueryParser.d.ts.map +1 -1
- package/cjs/mutation-observer/MutationObserver.cjs +17 -15
- package/cjs/mutation-observer/MutationObserver.cjs.map +1 -1
- package/cjs/mutation-observer/MutationObserver.d.ts +3 -0
- package/cjs/mutation-observer/MutationObserver.d.ts.map +1 -1
- package/cjs/navigator/Navigator.cjs +13 -10
- package/cjs/navigator/Navigator.cjs.map +1 -1
- package/cjs/navigator/Navigator.d.ts +2 -2
- package/cjs/navigator/Navigator.d.ts.map +1 -1
- package/cjs/nodes/NodeFactory.cjs +1 -1
- package/cjs/nodes/NodeFactory.cjs.map +1 -1
- package/cjs/nodes/document/Document.cjs +69 -51
- package/cjs/nodes/document/Document.cjs.map +1 -1
- package/cjs/nodes/document/Document.d.ts +9 -16
- package/cjs/nodes/document/Document.d.ts.map +1 -1
- package/cjs/nodes/document/DocumentReadyStateManager.cjs +12 -10
- package/cjs/nodes/document/DocumentReadyStateManager.cjs.map +1 -1
- package/cjs/nodes/document/DocumentReadyStateManager.d.ts.map +1 -1
- package/cjs/nodes/element/Element.cjs +33 -20
- package/cjs/nodes/element/Element.cjs.map +1 -1
- package/cjs/nodes/element/Element.d.ts +7 -3
- package/cjs/nodes/element/Element.d.ts.map +1 -1
- package/cjs/nodes/element/HTMLCollection.cjs +1 -4
- package/cjs/nodes/element/HTMLCollection.cjs.map +1 -1
- package/cjs/nodes/element/HTMLCollection.d.ts.map +1 -1
- package/cjs/nodes/element/NamedNodeMap.cjs +4 -0
- package/cjs/nodes/element/NamedNodeMap.cjs.map +1 -1
- package/cjs/nodes/element/NamedNodeMap.d.ts.map +1 -1
- package/cjs/nodes/element/NamedNodeMapProxyFactory.cjs +0 -9
- package/cjs/nodes/element/NamedNodeMapProxyFactory.cjs.map +1 -1
- package/cjs/nodes/element/NamedNodeMapProxyFactory.d.ts.map +1 -1
- package/cjs/nodes/html-anchor-element/HTMLAnchorElement.cjs +5 -5
- package/cjs/nodes/html-anchor-element/HTMLAnchorElement.cjs.map +1 -1
- package/cjs/nodes/html-anchor-element/HTMLAnchorElement.d.ts.map +1 -1
- package/cjs/nodes/html-area-element/HTMLAreaElement.cjs +7 -8
- package/cjs/nodes/html-area-element/HTMLAreaElement.cjs.map +1 -1
- package/cjs/nodes/html-area-element/HTMLAreaElement.d.ts.map +1 -1
- package/cjs/nodes/html-audio-element/Audio.cjs +28 -0
- package/cjs/nodes/html-audio-element/Audio.cjs.map +1 -1
- package/cjs/nodes/html-audio-element/Audio.d.ts +4 -0
- package/cjs/nodes/html-audio-element/Audio.d.ts.map +1 -1
- package/cjs/nodes/html-button-element/HTMLButtonElement.cjs +63 -35
- package/cjs/nodes/html-button-element/HTMLButtonElement.cjs.map +1 -1
- package/cjs/nodes/html-button-element/HTMLButtonElement.d.ts +27 -3
- package/cjs/nodes/html-button-element/HTMLButtonElement.d.ts.map +1 -1
- package/cjs/nodes/html-canvas-element/HTMLCanvasElement.cjs +2 -4
- package/cjs/nodes/html-canvas-element/HTMLCanvasElement.cjs.map +1 -1
- package/cjs/nodes/html-canvas-element/HTMLCanvasElement.d.ts.map +1 -1
- package/cjs/nodes/html-document/HTMLDocument.cjs +2 -6
- package/cjs/nodes/html-document/HTMLDocument.cjs.map +1 -1
- package/cjs/nodes/html-document/HTMLDocument.d.ts +1 -10
- package/cjs/nodes/html-document/HTMLDocument.d.ts.map +1 -1
- package/cjs/nodes/html-element/HTMLElement.cjs +130 -89
- package/cjs/nodes/html-element/HTMLElement.cjs.map +1 -1
- package/cjs/nodes/html-element/HTMLElement.d.ts +14 -2
- package/cjs/nodes/html-element/HTMLElement.d.ts.map +1 -1
- package/cjs/nodes/html-form-element/HTMLFormElement.cjs +6 -7
- package/cjs/nodes/html-form-element/HTMLFormElement.cjs.map +1 -1
- package/cjs/nodes/html-form-element/HTMLFormElement.d.ts +1 -3
- package/cjs/nodes/html-form-element/HTMLFormElement.d.ts.map +1 -1
- package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs +30 -38
- package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs.map +1 -1
- package/cjs/nodes/html-iframe-element/HTMLIFrameElement.d.ts +0 -6
- package/cjs/nodes/html-iframe-element/HTMLIFrameElement.d.ts.map +1 -1
- package/cjs/nodes/html-image-element/Image.cjs +28 -0
- package/cjs/nodes/html-image-element/Image.cjs.map +1 -1
- package/cjs/nodes/html-image-element/Image.d.ts +4 -0
- package/cjs/nodes/html-image-element/Image.d.ts.map +1 -1
- package/cjs/nodes/html-input-element/HTMLInputElement.cjs +88 -56
- package/cjs/nodes/html-input-element/HTMLInputElement.cjs.map +1 -1
- package/cjs/nodes/html-input-element/HTMLInputElement.d.ts +25 -0
- package/cjs/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
- package/cjs/nodes/html-label-element/HTMLLabelElement.cjs +4 -3
- package/cjs/nodes/html-label-element/HTMLLabelElement.cjs.map +1 -1
- package/cjs/nodes/html-label-element/HTMLLabelElement.d.ts +8 -1
- package/cjs/nodes/html-label-element/HTMLLabelElement.d.ts.map +1 -1
- package/cjs/nodes/html-link-element/HTMLLinkElement.cjs +10 -16
- package/cjs/nodes/html-link-element/HTMLLinkElement.cjs.map +1 -1
- package/cjs/nodes/html-link-element/HTMLLinkElement.d.ts +0 -6
- package/cjs/nodes/html-link-element/HTMLLinkElement.d.ts.map +1 -1
- package/cjs/nodes/html-media-element/HTMLMediaElement.cjs +12 -16
- package/cjs/nodes/html-media-element/HTMLMediaElement.cjs.map +1 -1
- package/cjs/nodes/html-media-element/HTMLMediaElement.d.ts.map +1 -1
- package/cjs/nodes/html-media-element/MediaStream.cjs +3 -0
- package/cjs/nodes/html-media-element/MediaStream.cjs.map +1 -1
- package/cjs/nodes/html-media-element/MediaStream.d.ts.map +1 -1
- package/cjs/nodes/html-media-element/MediaStreamTrack.cjs +3 -0
- package/cjs/nodes/html-media-element/MediaStreamTrack.cjs.map +1 -1
- package/cjs/nodes/html-media-element/MediaStreamTrack.d.ts.map +1 -1
- package/cjs/nodes/html-media-element/TextTrack.cjs +3 -0
- package/cjs/nodes/html-media-element/TextTrack.cjs.map +1 -1
- package/cjs/nodes/html-media-element/TextTrack.d.ts.map +1 -1
- package/cjs/nodes/html-media-element/TextTrackCue.cjs +3 -0
- package/cjs/nodes/html-media-element/TextTrackCue.cjs.map +1 -1
- package/cjs/nodes/html-media-element/TextTrackCue.d.ts.map +1 -1
- package/cjs/nodes/html-media-element/VTTCue.cjs +7 -8
- package/cjs/nodes/html-media-element/VTTCue.cjs.map +1 -1
- package/cjs/nodes/html-media-element/VTTCue.d.ts +1 -4
- package/cjs/nodes/html-media-element/VTTCue.d.ts.map +1 -1
- package/cjs/nodes/html-meter-element/HTMLMeterElement.cjs +30 -6
- package/cjs/nodes/html-meter-element/HTMLMeterElement.cjs.map +1 -1
- package/cjs/nodes/html-meter-element/HTMLMeterElement.d.ts.map +1 -1
- package/cjs/nodes/html-progress-element/HTMLProgressElement.cjs +26 -2
- package/cjs/nodes/html-progress-element/HTMLProgressElement.cjs.map +1 -1
- package/cjs/nodes/html-progress-element/HTMLProgressElement.d.ts.map +1 -1
- package/cjs/nodes/html-script-element/HTMLScriptElement.cjs +21 -27
- package/cjs/nodes/html-script-element/HTMLScriptElement.cjs.map +1 -1
- package/cjs/nodes/html-script-element/HTMLScriptElement.d.ts +0 -6
- package/cjs/nodes/html-script-element/HTMLScriptElement.d.ts.map +1 -1
- package/cjs/nodes/html-select-element/HTMLSelectElement.cjs +5 -5
- package/cjs/nodes/html-select-element/HTMLSelectElement.cjs.map +1 -1
- package/cjs/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
- package/cjs/nodes/html-table-element/HTMLTableElement.cjs +8 -9
- package/cjs/nodes/html-table-element/HTMLTableElement.cjs.map +1 -1
- package/cjs/nodes/html-table-element/HTMLTableElement.d.ts.map +1 -1
- package/cjs/nodes/html-table-row-element/HTMLTableRowElement.cjs +5 -6
- package/cjs/nodes/html-table-row-element/HTMLTableRowElement.cjs.map +1 -1
- package/cjs/nodes/html-table-row-element/HTMLTableRowElement.d.ts.map +1 -1
- package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.cjs +1 -2
- package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.cjs.map +1 -1
- package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.d.ts.map +1 -1
- package/cjs/nodes/html-track-element/HTMLTrackElement.cjs +1 -2
- package/cjs/nodes/html-track-element/HTMLTrackElement.cjs.map +1 -1
- package/cjs/nodes/node/Node.cjs +23 -22
- package/cjs/nodes/node/Node.cjs.map +1 -1
- package/cjs/nodes/node/Node.d.ts +1 -2
- package/cjs/nodes/node/Node.d.ts.map +1 -1
- package/cjs/nodes/node/NodeList.cjs +4 -6
- package/cjs/nodes/node/NodeList.cjs.map +1 -1
- package/cjs/nodes/node/NodeList.d.ts.map +1 -1
- package/cjs/nodes/text/Text.cjs +1 -2
- package/cjs/nodes/text/Text.cjs.map +1 -1
- package/cjs/nodes/text/Text.d.ts.map +1 -1
- package/cjs/permissions/Permissions.cjs +13 -2
- package/cjs/permissions/Permissions.cjs.map +1 -1
- package/cjs/permissions/Permissions.d.ts +7 -0
- package/cjs/permissions/Permissions.d.ts.map +1 -1
- package/cjs/query-selector/QuerySelector.cjs +12 -10
- package/cjs/query-selector/QuerySelector.cjs.map +1 -1
- package/cjs/query-selector/QuerySelector.d.ts.map +1 -1
- package/cjs/range/Range.cjs +26 -23
- package/cjs/range/Range.cjs.map +1 -1
- package/cjs/range/Range.d.ts +2 -2
- package/cjs/range/Range.d.ts.map +1 -1
- package/cjs/selection/Selection.cjs +16 -17
- package/cjs/selection/Selection.cjs.map +1 -1
- package/cjs/selection/Selection.d.ts.map +1 -1
- package/cjs/window/BrowserWindow.cjs +136 -266
- package/cjs/window/BrowserWindow.cjs.map +1 -1
- package/cjs/window/BrowserWindow.d.ts +115 -117
- package/cjs/window/BrowserWindow.d.ts.map +1 -1
- package/cjs/window/VMGlobalPropertyScript.cjs +0 -1
- package/cjs/window/VMGlobalPropertyScript.cjs.map +1 -1
- package/cjs/window/VMGlobalPropertyScript.d.ts.map +1 -1
- package/cjs/window/WindowBrowserContext.cjs +117 -0
- package/cjs/window/WindowBrowserContext.cjs.map +1 -0
- package/cjs/window/WindowBrowserContext.d.ts +75 -0
- package/cjs/window/WindowBrowserContext.d.ts.map +1 -0
- package/cjs/window/WindowClassExtender.cjs +332 -0
- package/cjs/window/WindowClassExtender.cjs.map +1 -0
- package/cjs/window/WindowClassExtender.d.ts +15 -0
- package/cjs/window/WindowClassExtender.d.ts.map +1 -0
- package/cjs/window/WindowPageOpenUtility.cjs +11 -1
- package/cjs/window/WindowPageOpenUtility.cjs.map +1 -1
- package/cjs/window/WindowPageOpenUtility.d.ts.map +1 -1
- package/cjs/xml-http-request/XMLHttpRequest.cjs +33 -33
- package/cjs/xml-http-request/XMLHttpRequest.cjs.map +1 -1
- package/cjs/xml-http-request/XMLHttpRequest.d.ts +2 -11
- package/cjs/xml-http-request/XMLHttpRequest.d.ts.map +1 -1
- package/lib/ClassMethodBinder.d.ts +4 -2
- package/lib/ClassMethodBinder.d.ts.map +1 -1
- package/lib/ClassMethodBinder.js +8 -6
- package/lib/ClassMethodBinder.js.map +1 -1
- package/lib/PropertySymbol.d.ts +15 -4
- package/lib/PropertySymbol.d.ts.map +1 -1
- package/lib/PropertySymbol.js +15 -4
- package/lib/PropertySymbol.js.map +1 -1
- package/lib/async-task-manager/AsyncTaskManager.d.ts +11 -1
- package/lib/async-task-manager/AsyncTaskManager.d.ts.map +1 -1
- package/lib/async-task-manager/AsyncTaskManager.js +64 -35
- package/lib/async-task-manager/AsyncTaskManager.js.map +1 -1
- package/lib/browser/Browser.d.ts +3 -0
- package/lib/browser/Browser.d.ts.map +1 -1
- package/lib/browser/Browser.js +7 -0
- package/lib/browser/Browser.js.map +1 -1
- package/lib/browser/BrowserFrame.d.ts +1 -4
- package/lib/browser/BrowserFrame.d.ts.map +1 -1
- package/lib/browser/BrowserFrame.js +3 -7
- package/lib/browser/BrowserFrame.js.map +1 -1
- package/lib/browser/DefaultBrowserSettings.d.ts.map +1 -1
- package/lib/browser/DefaultBrowserSettings.js +2 -1
- package/lib/browser/DefaultBrowserSettings.js.map +1 -1
- package/lib/browser/detached-browser/DetachedBrowser.d.ts +3 -0
- package/lib/browser/detached-browser/DetachedBrowser.d.ts.map +1 -1
- package/lib/browser/detached-browser/DetachedBrowser.js +7 -0
- package/lib/browser/detached-browser/DetachedBrowser.js.map +1 -1
- package/lib/browser/detached-browser/DetachedBrowserFrame.d.ts +1 -4
- package/lib/browser/detached-browser/DetachedBrowserFrame.d.ts.map +1 -1
- package/lib/browser/detached-browser/DetachedBrowserFrame.js +3 -7
- package/lib/browser/detached-browser/DetachedBrowserFrame.js.map +1 -1
- package/lib/browser/types/IBrowser.d.ts +3 -0
- package/lib/browser/types/IBrowser.d.ts.map +1 -1
- package/lib/browser/types/IBrowser.js +1 -1
- package/lib/browser/types/IBrowser.js.map +1 -1
- package/lib/browser/types/IBrowserFrame.d.ts +0 -3
- package/lib/browser/types/IBrowserFrame.d.ts.map +1 -1
- package/lib/browser/types/IBrowserSettings.d.ts +1 -0
- package/lib/browser/types/IBrowserSettings.d.ts.map +1 -1
- package/{cjs/browser/utilities/BrowserFrameExceptionObserver.d.ts → lib/browser/utilities/BrowserExceptionObserver.d.ts} +9 -7
- package/lib/browser/utilities/BrowserExceptionObserver.d.ts.map +1 -0
- package/lib/browser/utilities/BrowserExceptionObserver.js +97 -0
- package/lib/browser/utilities/BrowserExceptionObserver.js.map +1 -0
- package/lib/browser/utilities/BrowserFrameFactory.d.ts.map +1 -1
- package/lib/browser/utilities/BrowserFrameFactory.js +27 -35
- package/lib/browser/utilities/BrowserFrameFactory.js.map +1 -1
- package/lib/browser/utilities/BrowserFrameNavigator.d.ts.map +1 -1
- package/lib/browser/utilities/BrowserFrameNavigator.js +52 -29
- package/lib/browser/utilities/BrowserFrameNavigator.js.map +1 -1
- package/lib/clipboard/Clipboard.d.ts +2 -2
- package/lib/clipboard/Clipboard.d.ts.map +1 -1
- package/lib/clipboard/Clipboard.js +18 -15
- package/lib/clipboard/Clipboard.js.map +1 -1
- package/lib/css/declaration/AbstractCSSStyleDeclaration.js +4 -4
- package/lib/css/declaration/AbstractCSSStyleDeclaration.js.map +1 -1
- package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.d.ts.map +1 -1
- package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.js +6 -5
- package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.js.map +1 -1
- package/lib/css/declaration/measurement-converter/CSSMeasurementConverter.d.ts +2 -2
- package/lib/css/declaration/measurement-converter/CSSMeasurementConverter.d.ts.map +1 -1
- package/lib/css/declaration/measurement-converter/CSSMeasurementConverter.js +5 -5
- package/lib/css/declaration/measurement-converter/CSSMeasurementConverter.js.map +1 -1
- package/lib/custom-element/CustomElementRegistry.d.ts +2 -3
- package/lib/custom-element/CustomElementRegistry.d.ts.map +1 -1
- package/lib/custom-element/CustomElementRegistry.js +37 -17
- package/lib/custom-element/CustomElementRegistry.js.map +1 -1
- package/lib/dom-implementation/DOMImplementation.d.ts +7 -3
- package/lib/dom-implementation/DOMImplementation.d.ts.map +1 -1
- package/lib/dom-implementation/DOMImplementation.js +12 -7
- package/lib/dom-implementation/DOMImplementation.js.map +1 -1
- package/lib/dom-parser/DOMParser.d.ts +2 -6
- package/lib/dom-parser/DOMParser.d.ts.map +1 -1
- package/lib/dom-parser/DOMParser.js +6 -15
- package/lib/dom-parser/DOMParser.js.map +1 -1
- package/lib/event/Event.d.ts +49 -7
- package/lib/event/Event.d.ts.map +1 -1
- package/lib/event/Event.js +76 -18
- package/lib/event/Event.js.map +1 -1
- package/lib/event/EventTarget.d.ts +12 -8
- package/lib/event/EventTarget.d.ts.map +1 -1
- package/lib/event/EventTarget.js +153 -141
- package/lib/event/EventTarget.js.map +1 -1
- package/lib/event/MessagePort.d.ts +1 -2
- package/lib/event/MessagePort.d.ts.map +1 -1
- package/lib/event/MessagePort.js.map +1 -1
- package/lib/event/TEventListener.d.ts +5 -0
- package/lib/event/TEventListener.d.ts.map +1 -0
- package/lib/event/TEventListener.js +2 -0
- package/lib/event/TEventListener.js.map +1 -0
- package/lib/event/TEventListenerFunction.d.ts +4 -0
- package/lib/event/TEventListenerFunction.d.ts.map +1 -0
- package/lib/event/TEventListenerFunction.js +2 -0
- package/lib/event/TEventListenerFunction.js.map +1 -0
- package/lib/event/TEventListenerObject.d.ts +6 -0
- package/lib/event/TEventListenerObject.d.ts.map +1 -0
- package/lib/event/TEventListenerObject.js +2 -0
- package/lib/event/TEventListenerObject.js.map +1 -0
- package/lib/event/events/CustomEvent.d.ts +8 -1
- package/lib/event/events/CustomEvent.d.ts.map +1 -1
- package/lib/event/events/CustomEvent.js +15 -6
- package/lib/event/events/CustomEvent.js.map +1 -1
- package/lib/event/events/IErrorEventInit.d.ts.map +1 -1
- package/lib/event/events/IMessageEventInit.d.ts +2 -2
- package/lib/event/events/IMessageEventInit.d.ts.map +1 -1
- package/lib/event/events/MessageEvent.d.ts +2 -2
- package/lib/event/events/MessageEvent.d.ts.map +1 -1
- package/lib/event/events/MessageEvent.js.map +1 -1
- package/lib/fetch/AbortController.d.ts +3 -4
- package/lib/fetch/AbortController.d.ts.map +1 -1
- package/lib/fetch/AbortController.js +2 -8
- package/lib/fetch/AbortController.js.map +1 -1
- package/lib/fetch/AbortSignal.d.ts +7 -0
- package/lib/fetch/AbortSignal.d.ts.map +1 -1
- package/lib/fetch/AbortSignal.js +14 -4
- package/lib/fetch/AbortSignal.js.map +1 -1
- package/lib/fetch/Fetch.d.ts.map +1 -1
- package/lib/fetch/Fetch.js +24 -14
- package/lib/fetch/Fetch.js.map +1 -1
- package/lib/fetch/Request.d.ts +3 -14
- package/lib/fetch/Request.d.ts.map +1 -1
- package/lib/fetch/Request.js +62 -45
- package/lib/fetch/Request.js.map +1 -1
- package/lib/fetch/ResourceFetch.d.ts.map +1 -1
- package/lib/fetch/ResourceFetch.js +2 -3
- package/lib/fetch/ResourceFetch.js.map +1 -1
- package/lib/fetch/Response.d.ts +3 -10
- package/lib/fetch/Response.d.ts.map +1 -1
- package/lib/fetch/Response.js +63 -40
- package/lib/fetch/Response.js.map +1 -1
- package/lib/fetch/SyncFetch.d.ts.map +1 -1
- package/lib/fetch/SyncFetch.js +12 -13
- package/lib/fetch/SyncFetch.js.map +1 -1
- package/lib/fetch/multipart/MultipartFormDataParser.d.ts +3 -1
- package/lib/fetch/multipart/MultipartFormDataParser.d.ts.map +1 -1
- package/lib/fetch/multipart/MultipartFormDataParser.js +12 -6
- package/lib/fetch/multipart/MultipartFormDataParser.js.map +1 -1
- package/lib/fetch/multipart/MultipartReader.d.ts +4 -1
- package/lib/fetch/multipart/MultipartReader.d.ts.map +1 -1
- package/lib/fetch/multipart/MultipartReader.js +5 -3
- package/lib/fetch/multipart/MultipartReader.js.map +1 -1
- package/lib/fetch/utilities/FetchBodyUtility.d.ts +5 -2
- package/lib/fetch/utilities/FetchBodyUtility.d.ts.map +1 -1
- package/lib/fetch/utilities/FetchBodyUtility.js +10 -5
- package/lib/fetch/utilities/FetchBodyUtility.js.map +1 -1
- package/lib/file/FileReader.d.ts +1 -4
- package/lib/file/FileReader.d.ts.map +1 -1
- package/lib/file/FileReader.js +11 -11
- package/lib/file/FileReader.js.map +1 -1
- package/lib/history/History.d.ts +2 -2
- package/lib/history/History.d.ts.map +1 -1
- package/lib/history/History.js +28 -14
- package/lib/history/History.js.map +1 -1
- package/lib/index.d.ts +2 -2
- package/lib/location/Location.d.ts +4 -0
- package/lib/location/Location.d.ts.map +1 -1
- package/lib/location/Location.js +43 -22
- package/lib/location/Location.js.map +1 -1
- package/lib/match-media/MediaQueryItem.d.ts +3 -3
- package/lib/match-media/MediaQueryItem.d.ts.map +1 -1
- package/lib/match-media/MediaQueryItem.js +26 -26
- package/lib/match-media/MediaQueryItem.js.map +1 -1
- package/lib/match-media/MediaQueryList.d.ts +5 -5
- package/lib/match-media/MediaQueryList.d.ts.map +1 -1
- package/lib/match-media/MediaQueryList.js +7 -7
- package/lib/match-media/MediaQueryList.js.map +1 -1
- package/lib/match-media/MediaQueryParser.d.ts +2 -2
- package/lib/match-media/MediaQueryParser.d.ts.map +1 -1
- package/lib/match-media/MediaQueryParser.js +4 -4
- package/lib/match-media/MediaQueryParser.js.map +1 -1
- package/lib/mutation-observer/MutationObserver.d.ts +3 -0
- package/lib/mutation-observer/MutationObserver.d.ts.map +1 -1
- package/lib/mutation-observer/MutationObserver.js +17 -15
- package/lib/mutation-observer/MutationObserver.js.map +1 -1
- package/lib/navigator/Navigator.d.ts +2 -2
- package/lib/navigator/Navigator.d.ts.map +1 -1
- package/lib/navigator/Navigator.js +13 -10
- package/lib/navigator/Navigator.js.map +1 -1
- package/lib/nodes/NodeFactory.js +1 -1
- package/lib/nodes/NodeFactory.js.map +1 -1
- package/lib/nodes/document/Document.d.ts +9 -16
- package/lib/nodes/document/Document.d.ts.map +1 -1
- package/lib/nodes/document/Document.js +69 -51
- package/lib/nodes/document/Document.js.map +1 -1
- package/lib/nodes/document/DocumentReadyStateManager.d.ts.map +1 -1
- package/lib/nodes/document/DocumentReadyStateManager.js +12 -10
- package/lib/nodes/document/DocumentReadyStateManager.js.map +1 -1
- package/lib/nodes/element/Element.d.ts +7 -3
- package/lib/nodes/element/Element.d.ts.map +1 -1
- package/lib/nodes/element/Element.js +33 -20
- package/lib/nodes/element/Element.js.map +1 -1
- package/lib/nodes/element/HTMLCollection.d.ts.map +1 -1
- package/lib/nodes/element/HTMLCollection.js +1 -4
- package/lib/nodes/element/HTMLCollection.js.map +1 -1
- package/lib/nodes/element/NamedNodeMap.d.ts.map +1 -1
- package/lib/nodes/element/NamedNodeMap.js +4 -0
- package/lib/nodes/element/NamedNodeMap.js.map +1 -1
- package/lib/nodes/element/NamedNodeMapProxyFactory.d.ts.map +1 -1
- package/lib/nodes/element/NamedNodeMapProxyFactory.js +0 -6
- package/lib/nodes/element/NamedNodeMapProxyFactory.js.map +1 -1
- package/lib/nodes/html-anchor-element/HTMLAnchorElement.d.ts.map +1 -1
- package/lib/nodes/html-anchor-element/HTMLAnchorElement.js +5 -5
- package/lib/nodes/html-anchor-element/HTMLAnchorElement.js.map +1 -1
- package/lib/nodes/html-area-element/HTMLAreaElement.d.ts.map +1 -1
- package/lib/nodes/html-area-element/HTMLAreaElement.js +7 -8
- package/lib/nodes/html-area-element/HTMLAreaElement.js.map +1 -1
- package/lib/nodes/html-audio-element/Audio.d.ts +4 -0
- package/lib/nodes/html-audio-element/Audio.d.ts.map +1 -1
- package/lib/nodes/html-audio-element/Audio.js +5 -0
- package/lib/nodes/html-audio-element/Audio.js.map +1 -1
- package/lib/nodes/html-button-element/HTMLButtonElement.d.ts +27 -3
- package/lib/nodes/html-button-element/HTMLButtonElement.d.ts.map +1 -1
- package/lib/nodes/html-button-element/HTMLButtonElement.js +63 -35
- package/lib/nodes/html-button-element/HTMLButtonElement.js.map +1 -1
- package/lib/nodes/html-canvas-element/HTMLCanvasElement.d.ts.map +1 -1
- package/lib/nodes/html-canvas-element/HTMLCanvasElement.js +2 -4
- package/lib/nodes/html-canvas-element/HTMLCanvasElement.js.map +1 -1
- package/lib/nodes/html-document/HTMLDocument.d.ts +1 -10
- package/lib/nodes/html-document/HTMLDocument.d.ts.map +1 -1
- package/lib/nodes/html-document/HTMLDocument.js +2 -6
- package/lib/nodes/html-document/HTMLDocument.js.map +1 -1
- package/lib/nodes/html-element/HTMLElement.d.ts +14 -2
- package/lib/nodes/html-element/HTMLElement.d.ts.map +1 -1
- package/lib/nodes/html-element/HTMLElement.js +130 -89
- package/lib/nodes/html-element/HTMLElement.js.map +1 -1
- package/lib/nodes/html-form-element/HTMLFormElement.d.ts +1 -3
- package/lib/nodes/html-form-element/HTMLFormElement.d.ts.map +1 -1
- package/lib/nodes/html-form-element/HTMLFormElement.js +6 -7
- package/lib/nodes/html-form-element/HTMLFormElement.js.map +1 -1
- package/lib/nodes/html-iframe-element/HTMLIFrameElement.d.ts +0 -6
- package/lib/nodes/html-iframe-element/HTMLIFrameElement.d.ts.map +1 -1
- package/lib/nodes/html-iframe-element/HTMLIFrameElement.js +30 -38
- package/lib/nodes/html-iframe-element/HTMLIFrameElement.js.map +1 -1
- package/lib/nodes/html-image-element/Image.d.ts +4 -0
- package/lib/nodes/html-image-element/Image.d.ts.map +1 -1
- package/lib/nodes/html-image-element/Image.js +5 -0
- package/lib/nodes/html-image-element/Image.js.map +1 -1
- package/lib/nodes/html-input-element/HTMLInputElement.d.ts +25 -0
- package/lib/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
- package/lib/nodes/html-input-element/HTMLInputElement.js +88 -56
- package/lib/nodes/html-input-element/HTMLInputElement.js.map +1 -1
- package/lib/nodes/html-label-element/HTMLLabelElement.d.ts +8 -1
- package/lib/nodes/html-label-element/HTMLLabelElement.d.ts.map +1 -1
- package/lib/nodes/html-label-element/HTMLLabelElement.js +4 -3
- package/lib/nodes/html-label-element/HTMLLabelElement.js.map +1 -1
- package/lib/nodes/html-link-element/HTMLLinkElement.d.ts +0 -6
- package/lib/nodes/html-link-element/HTMLLinkElement.d.ts.map +1 -1
- package/lib/nodes/html-link-element/HTMLLinkElement.js +10 -16
- package/lib/nodes/html-link-element/HTMLLinkElement.js.map +1 -1
- package/lib/nodes/html-media-element/HTMLMediaElement.d.ts.map +1 -1
- package/lib/nodes/html-media-element/HTMLMediaElement.js +12 -16
- package/lib/nodes/html-media-element/HTMLMediaElement.js.map +1 -1
- package/lib/nodes/html-media-element/MediaStream.d.ts.map +1 -1
- package/lib/nodes/html-media-element/MediaStream.js +3 -0
- package/lib/nodes/html-media-element/MediaStream.js.map +1 -1
- package/lib/nodes/html-media-element/MediaStreamTrack.d.ts.map +1 -1
- package/lib/nodes/html-media-element/MediaStreamTrack.js +3 -0
- package/lib/nodes/html-media-element/MediaStreamTrack.js.map +1 -1
- package/lib/nodes/html-media-element/TextTrack.d.ts.map +1 -1
- package/lib/nodes/html-media-element/TextTrack.js +3 -0
- package/lib/nodes/html-media-element/TextTrack.js.map +1 -1
- package/lib/nodes/html-media-element/TextTrackCue.d.ts.map +1 -1
- package/lib/nodes/html-media-element/TextTrackCue.js +3 -0
- package/lib/nodes/html-media-element/TextTrackCue.js.map +1 -1
- package/lib/nodes/html-media-element/VTTCue.d.ts +1 -4
- package/lib/nodes/html-media-element/VTTCue.d.ts.map +1 -1
- package/lib/nodes/html-media-element/VTTCue.js +7 -8
- package/lib/nodes/html-media-element/VTTCue.js.map +1 -1
- package/lib/nodes/html-meter-element/HTMLMeterElement.d.ts.map +1 -1
- package/lib/nodes/html-meter-element/HTMLMeterElement.js +7 -6
- package/lib/nodes/html-meter-element/HTMLMeterElement.js.map +1 -1
- package/lib/nodes/html-progress-element/HTMLProgressElement.d.ts.map +1 -1
- package/lib/nodes/html-progress-element/HTMLProgressElement.js +3 -2
- package/lib/nodes/html-progress-element/HTMLProgressElement.js.map +1 -1
- package/lib/nodes/html-script-element/HTMLScriptElement.d.ts +0 -6
- package/lib/nodes/html-script-element/HTMLScriptElement.d.ts.map +1 -1
- package/lib/nodes/html-script-element/HTMLScriptElement.js +21 -27
- package/lib/nodes/html-script-element/HTMLScriptElement.js.map +1 -1
- package/lib/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
- package/lib/nodes/html-select-element/HTMLSelectElement.js +5 -5
- package/lib/nodes/html-select-element/HTMLSelectElement.js.map +1 -1
- package/lib/nodes/html-table-element/HTMLTableElement.d.ts.map +1 -1
- package/lib/nodes/html-table-element/HTMLTableElement.js +8 -9
- package/lib/nodes/html-table-element/HTMLTableElement.js.map +1 -1
- package/lib/nodes/html-table-row-element/HTMLTableRowElement.d.ts.map +1 -1
- package/lib/nodes/html-table-row-element/HTMLTableRowElement.js +5 -6
- package/lib/nodes/html-table-row-element/HTMLTableRowElement.js.map +1 -1
- package/lib/nodes/html-text-area-element/HTMLTextAreaElement.d.ts.map +1 -1
- package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js +1 -2
- package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js.map +1 -1
- package/lib/nodes/html-track-element/HTMLTrackElement.js +1 -2
- package/lib/nodes/html-track-element/HTMLTrackElement.js.map +1 -1
- package/lib/nodes/node/Node.d.ts +1 -2
- package/lib/nodes/node/Node.d.ts.map +1 -1
- package/lib/nodes/node/Node.js +23 -22
- package/lib/nodes/node/Node.js.map +1 -1
- package/lib/nodes/node/NodeList.d.ts.map +1 -1
- package/lib/nodes/node/NodeList.js +4 -6
- package/lib/nodes/node/NodeList.js.map +1 -1
- package/lib/nodes/text/Text.d.ts.map +1 -1
- package/lib/nodes/text/Text.js +1 -2
- package/lib/nodes/text/Text.js.map +1 -1
- package/lib/permissions/Permissions.d.ts +7 -0
- package/lib/permissions/Permissions.d.ts.map +1 -1
- package/lib/permissions/Permissions.js +13 -2
- package/lib/permissions/Permissions.js.map +1 -1
- package/lib/query-selector/QuerySelector.d.ts.map +1 -1
- package/lib/query-selector/QuerySelector.js +12 -10
- package/lib/query-selector/QuerySelector.js.map +1 -1
- package/lib/range/Range.d.ts +2 -2
- package/lib/range/Range.d.ts.map +1 -1
- package/lib/range/Range.js +26 -23
- package/lib/range/Range.js.map +1 -1
- package/lib/selection/Selection.d.ts.map +1 -1
- package/lib/selection/Selection.js +16 -17
- package/lib/selection/Selection.js.map +1 -1
- package/lib/window/BrowserWindow.d.ts +115 -117
- package/lib/window/BrowserWindow.d.ts.map +1 -1
- package/lib/window/BrowserWindow.js +140 -270
- package/lib/window/BrowserWindow.js.map +1 -1
- package/lib/window/VMGlobalPropertyScript.d.ts.map +1 -1
- package/lib/window/VMGlobalPropertyScript.js +0 -1
- package/lib/window/VMGlobalPropertyScript.js.map +1 -1
- package/lib/window/WindowBrowserContext.d.ts +75 -0
- package/lib/window/WindowBrowserContext.d.ts.map +1 -0
- package/lib/window/WindowBrowserContext.js +91 -0
- package/lib/window/WindowBrowserContext.js.map +1 -0
- package/lib/window/WindowClassExtender.d.ts +15 -0
- package/lib/window/WindowClassExtender.d.ts.map +1 -0
- package/lib/window/WindowClassExtender.js +303 -0
- package/lib/window/WindowClassExtender.js.map +1 -0
- package/lib/window/WindowPageOpenUtility.d.ts.map +1 -1
- package/lib/window/WindowPageOpenUtility.js +11 -1
- package/lib/window/WindowPageOpenUtility.js.map +1 -1
- package/lib/xml-http-request/XMLHttpRequest.d.ts +2 -11
- package/lib/xml-http-request/XMLHttpRequest.d.ts.map +1 -1
- package/lib/xml-http-request/XMLHttpRequest.js +33 -33
- package/lib/xml-http-request/XMLHttpRequest.js.map +1 -1
- package/package.json +1 -1
- package/src/ClassMethodBinder.ts +10 -7
- package/src/PropertySymbol.ts +15 -4
- package/src/async-task-manager/AsyncTaskManager.ts +71 -39
- package/src/browser/Browser.ts +7 -0
- package/src/browser/BrowserFrame.ts +3 -7
- package/src/browser/DefaultBrowserSettings.ts +2 -1
- package/src/browser/detached-browser/DetachedBrowser.ts +7 -0
- package/src/browser/detached-browser/DetachedBrowserFrame.ts +3 -7
- package/src/browser/types/IBrowser.ts +3 -0
- package/src/browser/types/IBrowserFrame.ts +0 -3
- package/src/browser/types/IBrowserSettings.ts +1 -0
- package/src/browser/utilities/BrowserExceptionObserver.ts +125 -0
- package/src/browser/utilities/BrowserFrameFactory.ts +29 -33
- package/src/browser/utilities/BrowserFrameNavigator.ts +60 -38
- package/src/clipboard/Clipboard.ts +20 -14
- package/src/css/declaration/AbstractCSSStyleDeclaration.ts +4 -4
- package/src/css/declaration/element-style/CSSStyleDeclarationElementStyle.ts +6 -7
- package/src/css/declaration/measurement-converter/CSSMeasurementConverter.ts +6 -8
- package/src/custom-element/CustomElementRegistry.ts +45 -17
- package/src/dom-implementation/DOMImplementation.ts +15 -10
- package/src/dom-parser/DOMParser.ts +11 -16
- package/src/event/Event.ts +85 -18
- package/src/event/EventTarget.ts +200 -185
- package/src/event/MessagePort.ts +1 -2
- package/src/event/TEventListener.ts +6 -0
- package/src/event/TEventListenerFunction.ts +5 -0
- package/src/event/TEventListenerObject.ts +7 -0
- package/src/event/events/CustomEvent.ts +16 -6
- package/src/event/events/IErrorEventInit.ts +0 -1
- package/src/event/events/IMessageEventInit.ts +2 -2
- package/src/event/events/MessageEvent.ts +2 -2
- package/src/fetch/AbortController.ts +5 -7
- package/src/fetch/AbortSignal.ts +30 -4
- package/src/fetch/Fetch.ts +44 -16
- package/src/fetch/Request.ts +83 -55
- package/src/fetch/ResourceFetch.ts +2 -3
- package/src/fetch/Response.ts +80 -45
- package/src/fetch/SyncFetch.ts +20 -14
- package/src/fetch/multipart/MultipartFormDataParser.ts +16 -5
- package/src/fetch/multipart/MultipartReader.ts +6 -3
- package/src/fetch/utilities/FetchBodyUtility.ts +23 -8
- package/src/file/FileReader.ts +16 -12
- package/src/history/History.ts +31 -14
- package/src/index.ts +2 -2
- package/src/location/Location.ts +46 -22
- package/src/match-media/MediaQueryItem.ts +27 -30
- package/src/match-media/MediaQueryList.ts +11 -21
- package/src/match-media/MediaQueryParser.ts +5 -5
- package/src/mutation-observer/MutationObserver.ts +25 -17
- package/src/navigator/Navigator.ts +14 -12
- package/src/nodes/NodeFactory.ts +1 -1
- package/src/nodes/document/Document.ts +67 -62
- package/src/nodes/document/DocumentReadyStateManager.ts +13 -10
- package/src/nodes/element/Element.ts +44 -29
- package/src/nodes/element/HTMLCollection.ts +1 -4
- package/src/nodes/element/NamedNodeMap.ts +4 -0
- package/src/nodes/element/NamedNodeMapProxyFactory.ts +0 -6
- package/src/nodes/html-anchor-element/HTMLAnchorElement.ts +4 -8
- package/src/nodes/html-area-element/HTMLAreaElement.ts +7 -11
- package/src/nodes/html-audio-element/Audio.ts +6 -0
- package/src/nodes/html-button-element/HTMLButtonElement.ts +67 -37
- package/src/nodes/html-canvas-element/HTMLCanvasElement.ts +5 -3
- package/src/nodes/html-document/HTMLDocument.ts +2 -8
- package/src/nodes/html-element/HTMLElement.ts +151 -129
- package/src/nodes/html-form-element/HTMLFormElement.ts +7 -9
- package/src/nodes/html-iframe-element/HTMLIFrameElement.ts +31 -42
- package/src/nodes/html-image-element/Image.ts +6 -0
- package/src/nodes/html-input-element/HTMLInputElement.ts +96 -61
- package/src/nodes/html-label-element/HTMLLabelElement.ts +21 -6
- package/src/nodes/html-link-element/HTMLLinkElement.ts +12 -19
- package/src/nodes/html-media-element/HTMLMediaElement.ts +15 -12
- package/src/nodes/html-media-element/MediaStream.ts +6 -0
- package/src/nodes/html-media-element/MediaStreamTrack.ts +6 -0
- package/src/nodes/html-media-element/TextTrack.ts +6 -0
- package/src/nodes/html-media-element/TextTrackCue.ts +6 -0
- package/src/nodes/html-media-element/VTTCue.ts +10 -9
- package/src/nodes/html-meter-element/HTMLMeterElement.ts +8 -6
- package/src/nodes/html-progress-element/HTMLProgressElement.ts +4 -2
- package/src/nodes/html-script-element/HTMLScriptElement.ts +25 -45
- package/src/nodes/html-select-element/HTMLSelectElement.ts +6 -5
- package/src/nodes/html-table-element/HTMLTableElement.ts +8 -9
- package/src/nodes/html-table-row-element/HTMLTableRowElement.ts +5 -6
- package/src/nodes/html-text-area-element/HTMLTextAreaElement.ts +1 -2
- package/src/nodes/html-track-element/HTMLTrackElement.ts +1 -1
- package/src/nodes/node/Node.ts +28 -26
- package/src/nodes/node/NodeList.ts +10 -11
- package/src/nodes/text/Text.ts +1 -2
- package/src/permissions/Permissions.ts +17 -1
- package/src/query-selector/QuerySelector.ts +15 -10
- package/src/range/Range.ts +39 -23
- package/src/selection/Selection.ts +27 -17
- package/src/window/BrowserWindow.ts +308 -335
- package/src/window/VMGlobalPropertyScript.ts +0 -1
- package/src/window/WindowBrowserContext.ts +114 -0
- package/src/window/WindowClassExtender.ts +306 -0
- package/src/window/WindowPageOpenUtility.ts +11 -1
- package/src/xml-http-request/XMLHttpRequest.ts +39 -36
- package/cjs/browser/utilities/BrowserFrameExceptionObserver.cjs +0 -80
- package/cjs/browser/utilities/BrowserFrameExceptionObserver.cjs.map +0 -1
- package/cjs/browser/utilities/BrowserFrameExceptionObserver.d.ts.map +0 -1
- package/cjs/event/IEventListener.cjs.map +0 -1
- package/cjs/event/IEventListener.d.ts +0 -13
- package/cjs/event/IEventListener.d.ts.map +0 -1
- package/cjs/event/IMessagePort.cjs.map +0 -1
- package/cjs/event/IMessagePort.d.ts +0 -24
- package/cjs/event/IMessagePort.d.ts.map +0 -1
- package/cjs/window/WindowBrowserSettingsReader.cjs +0 -72
- package/cjs/window/WindowBrowserSettingsReader.cjs.map +0 -1
- package/cjs/window/WindowBrowserSettingsReader.d.ts +0 -29
- package/cjs/window/WindowBrowserSettingsReader.d.ts.map +0 -1
- package/lib/browser/utilities/BrowserFrameExceptionObserver.d.ts.map +0 -1
- package/lib/browser/utilities/BrowserFrameExceptionObserver.js +0 -77
- package/lib/browser/utilities/BrowserFrameExceptionObserver.js.map +0 -1
- package/lib/event/IEventListener.d.ts +0 -13
- package/lib/event/IEventListener.d.ts.map +0 -1
- package/lib/event/IEventListener.js +0 -2
- package/lib/event/IEventListener.js.map +0 -1
- package/lib/event/IMessagePort.d.ts +0 -24
- package/lib/event/IMessagePort.d.ts.map +0 -1
- package/lib/event/IMessagePort.js +0 -2
- package/lib/event/IMessagePort.js.map +0 -1
- package/lib/window/WindowBrowserSettingsReader.d.ts +0 -29
- package/lib/window/WindowBrowserSettingsReader.d.ts.map +0 -1
- package/lib/window/WindowBrowserSettingsReader.js +0 -46
- package/lib/window/WindowBrowserSettingsReader.js.map +0 -1
- package/src/browser/utilities/BrowserFrameExceptionObserver.ts +0 -111
- package/src/event/IEventListener.ts +0 -13
- package/src/event/IMessagePort.ts +0 -26
- package/src/window/WindowBrowserSettingsReader.ts +0 -55
@@ -2,6 +2,8 @@ import HTMLElement from '../html-element/HTMLElement.js';
|
|
2
2
|
import HTMLLabelElement from '../html-label-element/HTMLLabelElement.js';
|
3
3
|
import HTMLLabelElementUtility from '../html-label-element/HTMLLabelElementUtility.js';
|
4
4
|
import NodeList from '../node/NodeList.js';
|
5
|
+
import * as PropertySymbol from '../../PropertySymbol.js';
|
6
|
+
|
5
7
|
/**
|
6
8
|
* HTMLMeterElement
|
7
9
|
*
|
@@ -31,7 +33,7 @@ export default class HTMLMeterElement extends HTMLElement {
|
|
31
33
|
*/
|
32
34
|
public set high(high: number) {
|
33
35
|
if (typeof high !== 'number') {
|
34
|
-
throw new TypeError(
|
36
|
+
throw new this[PropertySymbol.window].TypeError(
|
35
37
|
"Failed to set the 'high' property on 'HTMLMeterElement': The provided double value is non-finite."
|
36
38
|
);
|
37
39
|
}
|
@@ -62,7 +64,7 @@ export default class HTMLMeterElement extends HTMLElement {
|
|
62
64
|
*/
|
63
65
|
public set low(low: number) {
|
64
66
|
if (typeof low !== 'number') {
|
65
|
-
throw new TypeError(
|
67
|
+
throw new this[PropertySymbol.window].TypeError(
|
66
68
|
"Failed to set the 'low' property on 'HTMLMeterElement': The provided double value is non-finite."
|
67
69
|
);
|
68
70
|
}
|
@@ -93,7 +95,7 @@ export default class HTMLMeterElement extends HTMLElement {
|
|
93
95
|
*/
|
94
96
|
public set max(max: number) {
|
95
97
|
if (typeof max !== 'number') {
|
96
|
-
throw new TypeError(
|
98
|
+
throw new this[PropertySymbol.window].TypeError(
|
97
99
|
"Failed to set the 'max' property on 'HTMLMeterElement': The provided double value is non-finite."
|
98
100
|
);
|
99
101
|
}
|
@@ -124,7 +126,7 @@ export default class HTMLMeterElement extends HTMLElement {
|
|
124
126
|
*/
|
125
127
|
public set min(min: number) {
|
126
128
|
if (typeof min !== 'number') {
|
127
|
-
throw new TypeError(
|
129
|
+
throw new this[PropertySymbol.window].TypeError(
|
128
130
|
"Failed to set the 'min' property on 'HTMLMeterElement': The provided double value is non-finite."
|
129
131
|
);
|
130
132
|
}
|
@@ -158,7 +160,7 @@ export default class HTMLMeterElement extends HTMLElement {
|
|
158
160
|
*/
|
159
161
|
public set optimum(optimum: number) {
|
160
162
|
if (typeof optimum !== 'number') {
|
161
|
-
throw new TypeError(
|
163
|
+
throw new this[PropertySymbol.window].TypeError(
|
162
164
|
"Failed to set the 'optimum' property on 'HTMLMeterElement': The provided double value is non-finite."
|
163
165
|
);
|
164
166
|
}
|
@@ -189,7 +191,7 @@ export default class HTMLMeterElement extends HTMLElement {
|
|
189
191
|
*/
|
190
192
|
public set value(value: number) {
|
191
193
|
if (typeof value !== 'number') {
|
192
|
-
throw new TypeError(
|
194
|
+
throw new this[PropertySymbol.window].TypeError(
|
193
195
|
"Failed to set the 'value' property on 'HTMLMeterElement': The provided double value is non-finite."
|
194
196
|
);
|
195
197
|
}
|
@@ -2,6 +2,8 @@ import HTMLElement from '../html-element/HTMLElement.js';
|
|
2
2
|
import HTMLLabelElement from '../html-label-element/HTMLLabelElement.js';
|
3
3
|
import HTMLLabelElementUtility from '../html-label-element/HTMLLabelElementUtility.js';
|
4
4
|
import NodeList from '../node/NodeList.js';
|
5
|
+
import * as PropertySymbol from '../../PropertySymbol.js';
|
6
|
+
|
5
7
|
/**
|
6
8
|
* HTMLProgressElement
|
7
9
|
*
|
@@ -31,7 +33,7 @@ export default class HTMLProgressElement extends HTMLElement {
|
|
31
33
|
*/
|
32
34
|
public set max(max: number) {
|
33
35
|
if (typeof max !== 'number') {
|
34
|
-
throw new TypeError(
|
36
|
+
throw new this[PropertySymbol.window].TypeError(
|
35
37
|
"Failed to set the 'max' property on 'HTMLProgressElement': The provided double value is non-finite."
|
36
38
|
);
|
37
39
|
}
|
@@ -62,7 +64,7 @@ export default class HTMLProgressElement extends HTMLElement {
|
|
62
64
|
*/
|
63
65
|
public set value(value: number) {
|
64
66
|
if (typeof value !== 'number') {
|
65
|
-
throw new TypeError(
|
67
|
+
throw new this[PropertySymbol.window].TypeError(
|
66
68
|
"Failed to set the 'value' property on 'HTMLProgressElement': The provided double value is non-finite."
|
67
69
|
);
|
68
70
|
}
|
@@ -3,11 +3,9 @@ import * as PropertySymbol from '../../PropertySymbol.js';
|
|
3
3
|
import Event from '../../event/Event.js';
|
4
4
|
import ErrorEvent from '../../event/events/ErrorEvent.js';
|
5
5
|
import WindowErrorUtility from '../../window/WindowErrorUtility.js';
|
6
|
-
import
|
7
|
-
import IBrowserFrame from '../../browser/types/IBrowserFrame.js';
|
6
|
+
import WindowBrowserContext from '../../window/WindowBrowserContext.js';
|
8
7
|
import BrowserErrorCaptureEnum from '../../browser/enums/BrowserErrorCaptureEnum.js';
|
9
8
|
import Attr from '../attr/Attr.js';
|
10
|
-
import DOMException from '../../exception/DOMException.js';
|
11
9
|
import DOMExceptionNameEnum from '../../exception/DOMExceptionNameEnum.js';
|
12
10
|
import ResourceFetch from '../../fetch/ResourceFetch.js';
|
13
11
|
import DocumentReadyStateManager from '../document/DocumentReadyStateManager.js';
|
@@ -30,20 +28,7 @@ export default class HTMLScriptElement extends HTMLElement {
|
|
30
28
|
public [PropertySymbol.evaluateScript] = true;
|
31
29
|
|
32
30
|
// Private properties
|
33
|
-
#browserFrame: IBrowserFrame;
|
34
31
|
#loadedScriptURL: string | null = null;
|
35
|
-
|
36
|
-
/**
|
37
|
-
* Constructor.
|
38
|
-
*
|
39
|
-
* @param browserFrame Browser frame.
|
40
|
-
*/
|
41
|
-
constructor(browserFrame) {
|
42
|
-
super();
|
43
|
-
|
44
|
-
this.#browserFrame = browserFrame;
|
45
|
-
}
|
46
|
-
|
47
32
|
/**
|
48
33
|
* Returns type.
|
49
34
|
*
|
@@ -198,9 +183,7 @@ export default class HTMLScriptElement extends HTMLElement {
|
|
198
183
|
* @override
|
199
184
|
*/
|
200
185
|
public override [PropertySymbol.connectedToDocument](): void {
|
201
|
-
const browserSettings =
|
202
|
-
this[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow]
|
203
|
-
);
|
186
|
+
const browserSettings = new WindowBrowserContext(this[PropertySymbol.window]).getSettings();
|
204
187
|
|
205
188
|
super[PropertySymbol.connectedToDocument]();
|
206
189
|
|
@@ -209,7 +192,7 @@ export default class HTMLScriptElement extends HTMLElement {
|
|
209
192
|
|
210
193
|
if (src !== null) {
|
211
194
|
this.#loadScript(src);
|
212
|
-
} else if (!browserSettings.disableJavaScriptEvaluation) {
|
195
|
+
} else if (browserSettings && !browserSettings.disableJavaScriptEvaluation) {
|
213
196
|
const textContent = this.textContent;
|
214
197
|
const type = this.getAttribute('type');
|
215
198
|
if (
|
@@ -221,20 +204,16 @@ export default class HTMLScriptElement extends HTMLElement {
|
|
221
204
|
) {
|
222
205
|
this[PropertySymbol.ownerDocument][PropertySymbol.currentScript] = this;
|
223
206
|
|
224
|
-
const code =
|
225
|
-
`//# sourceURL=${
|
226
|
-
this[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow].location.href
|
227
|
-
}\n` + textContent;
|
207
|
+
const code = `//# sourceURL=${this[PropertySymbol.window].location.href}\n` + textContent;
|
228
208
|
|
229
209
|
if (
|
230
210
|
browserSettings.disableErrorCapturing ||
|
231
211
|
browserSettings.errorCapture !== BrowserErrorCaptureEnum.tryAndCatch
|
232
212
|
) {
|
233
|
-
this[PropertySymbol.
|
213
|
+
this[PropertySymbol.window].eval(code);
|
234
214
|
} else {
|
235
|
-
WindowErrorUtility.captureError(
|
236
|
-
this[PropertySymbol.
|
237
|
-
() => this[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow].eval(code)
|
215
|
+
WindowErrorUtility.captureError(this[PropertySymbol.window], () =>
|
216
|
+
this[PropertySymbol.window].eval(code)
|
238
217
|
);
|
239
218
|
}
|
240
219
|
|
@@ -268,19 +247,23 @@ export default class HTMLScriptElement extends HTMLElement {
|
|
268
247
|
* @param url URL.
|
269
248
|
*/
|
270
249
|
async #loadScript(url: string): Promise<void> {
|
271
|
-
const
|
250
|
+
const window = this[PropertySymbol.window];
|
251
|
+
const browserFrame = new WindowBrowserContext(window).getBrowserFrame();
|
272
252
|
const async = this.getAttribute('async') !== null;
|
273
253
|
|
254
|
+
if (!browserFrame) {
|
255
|
+
return;
|
256
|
+
}
|
257
|
+
|
258
|
+
const browserSettings = browserFrame.page?.context?.browser?.settings;
|
259
|
+
|
274
260
|
if (!url || !this[PropertySymbol.isConnected]) {
|
275
261
|
return;
|
276
262
|
}
|
277
263
|
|
278
264
|
let absoluteURL: string;
|
279
265
|
try {
|
280
|
-
absoluteURL = new URL(
|
281
|
-
url,
|
282
|
-
this[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow].location.href
|
283
|
-
).href;
|
266
|
+
absoluteURL = new URL(url, this[PropertySymbol.window].location.href).href;
|
284
267
|
} catch (error) {
|
285
268
|
return;
|
286
269
|
}
|
@@ -290,15 +273,15 @@ export default class HTMLScriptElement extends HTMLElement {
|
|
290
273
|
}
|
291
274
|
|
292
275
|
if (
|
293
|
-
browserSettings
|
294
|
-
browserSettings.disableJavaScriptEvaluation
|
276
|
+
browserSettings &&
|
277
|
+
(browserSettings.disableJavaScriptFileLoading || browserSettings.disableJavaScriptEvaluation)
|
295
278
|
) {
|
296
279
|
if (browserSettings.handleDisabledFileLoadingAsSuccess) {
|
297
280
|
this.dispatchEvent(new Event('load'));
|
298
281
|
} else {
|
299
282
|
WindowErrorUtility.dispatchError(
|
300
283
|
this,
|
301
|
-
new DOMException(
|
284
|
+
new window.DOMException(
|
302
285
|
`Failed to load external script "${absoluteURL}". JavaScript file loading is disabled.`,
|
303
286
|
DOMExceptionNameEnum.notSupportedError
|
304
287
|
)
|
@@ -308,8 +291,8 @@ export default class HTMLScriptElement extends HTMLElement {
|
|
308
291
|
}
|
309
292
|
|
310
293
|
const resourceFetch = new ResourceFetch({
|
311
|
-
browserFrame
|
312
|
-
window: this[PropertySymbol.
|
294
|
+
browserFrame,
|
295
|
+
window: this[PropertySymbol.window]
|
313
296
|
});
|
314
297
|
let code: string | null = null;
|
315
298
|
let error: Error | null = null;
|
@@ -319,9 +302,7 @@ export default class HTMLScriptElement extends HTMLElement {
|
|
319
302
|
if (async) {
|
320
303
|
const readyStateManager = (<
|
321
304
|
{ [PropertySymbol.readyStateManager]: DocumentReadyStateManager }
|
322
|
-
>(<unknown>this[PropertySymbol.
|
323
|
-
PropertySymbol.readyStateManager
|
324
|
-
];
|
305
|
+
>(<unknown>this[PropertySymbol.window]))[PropertySymbol.readyStateManager];
|
325
306
|
|
326
307
|
readyStateManager.startTask();
|
327
308
|
|
@@ -350,11 +331,10 @@ export default class HTMLScriptElement extends HTMLElement {
|
|
350
331
|
browserSettings.disableErrorCapturing ||
|
351
332
|
browserSettings.errorCapture !== BrowserErrorCaptureEnum.tryAndCatch
|
352
333
|
) {
|
353
|
-
this[PropertySymbol.
|
334
|
+
this[PropertySymbol.window].eval(code);
|
354
335
|
} else {
|
355
|
-
WindowErrorUtility.captureError(
|
356
|
-
this[PropertySymbol.
|
357
|
-
() => this[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow].eval(code)
|
336
|
+
WindowErrorUtility.captureError(this[PropertySymbol.window], () =>
|
337
|
+
this[PropertySymbol.window].eval(code)
|
358
338
|
);
|
359
339
|
}
|
360
340
|
this[PropertySymbol.ownerDocument][PropertySymbol.currentScript] = null;
|
@@ -11,7 +11,6 @@ import HTMLCollection from '../element/HTMLCollection.js';
|
|
11
11
|
import NodeTypeEnum from '../node/NodeTypeEnum.js';
|
12
12
|
import QuerySelector from '../../query-selector/QuerySelector.js';
|
13
13
|
import NodeList from '../node/NodeList.js';
|
14
|
-
import DOMException from '../../exception/DOMException.js';
|
15
14
|
import ClassMethodBinder from '../../ClassMethodBinder.js';
|
16
15
|
import Element from '../element/Element.js';
|
17
16
|
import Node from '../node/Node.js';
|
@@ -74,7 +73,7 @@ export default class HTMLSelectElement extends HTMLElement {
|
|
74
73
|
}
|
75
74
|
|
76
75
|
if (!newValue || !(newValue instanceof HTMLOptionElement)) {
|
77
|
-
throw new Error(
|
76
|
+
throw new this[PropertySymbol.window].Error(
|
78
77
|
`TypeError: Failed to set an indexed property [${index}] on 'HTMLSelectElement': parameter 2 is not of type 'HTMLOptionElement'.`
|
79
78
|
);
|
80
79
|
}
|
@@ -136,7 +135,7 @@ export default class HTMLSelectElement extends HTMLElement {
|
|
136
135
|
}
|
137
136
|
|
138
137
|
if (!descriptor.value || !(descriptor.value instanceof HTMLOptionElement)) {
|
139
|
-
throw new Error(
|
138
|
+
throw new this[PropertySymbol.window].Error(
|
140
139
|
`TypeError: Failed to set an indexed property [${index}] on 'HTMLSelectElement': parameter 2 is not of type 'HTMLOptionElement'.`
|
141
140
|
);
|
142
141
|
}
|
@@ -553,9 +552,11 @@ export default class HTMLSelectElement extends HTMLElement {
|
|
553
552
|
return;
|
554
553
|
}
|
555
554
|
|
555
|
+
const window = this[PropertySymbol.window];
|
556
|
+
|
556
557
|
if (typeof before !== 'number') {
|
557
558
|
if (!(before instanceof HTMLOptionElement)) {
|
558
|
-
throw new DOMException(
|
559
|
+
throw new window.DOMException(
|
559
560
|
"Failed to execute 'add' on 'HTMLFormElement': The node before which the new node is to be inserted before is not an 'HTMLOptionElement'."
|
560
561
|
);
|
561
562
|
}
|
@@ -566,7 +567,7 @@ export default class HTMLSelectElement extends HTMLElement {
|
|
566
567
|
const optionsElement = options[before];
|
567
568
|
|
568
569
|
if (!optionsElement) {
|
569
|
-
throw new DOMException(
|
570
|
+
throw new window.DOMException(
|
570
571
|
"Failed to execute 'add' on 'HTMLFormElement': The node before which the new node is to be inserted before is not a child of this node."
|
571
572
|
);
|
572
573
|
}
|
@@ -5,7 +5,6 @@ import * as PropertySymbol from '../../PropertySymbol.js';
|
|
5
5
|
import QuerySelector from '../../query-selector/QuerySelector.js';
|
6
6
|
import HTMLTableCaptionElement from '../html-table-caption-element/HTMLTableCaptionElement.js';
|
7
7
|
import HTMLTableSectionElement from '../html-table-section-element/HTMLTableSectionElement.js';
|
8
|
-
import DOMException from '../../exception/DOMException.js';
|
9
8
|
import DOMExceptionNameEnum from '../../exception/DOMExceptionNameEnum.js';
|
10
9
|
|
11
10
|
/**
|
@@ -34,7 +33,7 @@ export default class HTMLTableElement extends HTMLElement {
|
|
34
33
|
public set caption(caption: HTMLTableCaptionElement | null) {
|
35
34
|
if (caption) {
|
36
35
|
if (!(caption instanceof HTMLTableCaptionElement)) {
|
37
|
-
throw new TypeError(
|
36
|
+
throw new this[PropertySymbol.window].TypeError(
|
38
37
|
"Failed to set the 'caption' property on 'HTMLTableElement': Failed to convert value to 'HTMLTableCaptionElement'."
|
39
38
|
);
|
40
39
|
}
|
@@ -63,7 +62,7 @@ export default class HTMLTableElement extends HTMLElement {
|
|
63
62
|
public set tHead(tHead: HTMLTableSectionElement | null) {
|
64
63
|
if (tHead) {
|
65
64
|
if (!(tHead instanceof HTMLTableSectionElement)) {
|
66
|
-
throw new TypeError(
|
65
|
+
throw new this[PropertySymbol.window].TypeError(
|
67
66
|
"Failed to set the 'tHead' property on 'HTMLTableElement': Failed to convert value to 'HTMLTableSectionElement'."
|
68
67
|
);
|
69
68
|
}
|
@@ -109,7 +108,7 @@ export default class HTMLTableElement extends HTMLElement {
|
|
109
108
|
public set tFoot(tFoot: HTMLTableSectionElement | null) {
|
110
109
|
if (tFoot) {
|
111
110
|
if (!(tFoot instanceof HTMLTableSectionElement)) {
|
112
|
-
throw new TypeError(
|
111
|
+
throw new this[PropertySymbol.window].TypeError(
|
113
112
|
"Failed to set the 'tFoot' property on 'HTMLTableElement': Failed to convert value to 'HTMLTableSectionElement'."
|
114
113
|
);
|
115
114
|
}
|
@@ -271,14 +270,14 @@ export default class HTMLTableElement extends HTMLElement {
|
|
271
270
|
const rows = QuerySelector.querySelectorAll(this, 'tr')[PropertySymbol.items];
|
272
271
|
|
273
272
|
if (index < -1) {
|
274
|
-
throw new DOMException(
|
273
|
+
throw new this[PropertySymbol.window].DOMException(
|
275
274
|
`Failed to execute 'insertRow' on 'HTMLTableElement': The index provided (${index}) is less than -1.`,
|
276
275
|
DOMExceptionNameEnum.indexSizeError
|
277
276
|
);
|
278
277
|
}
|
279
278
|
|
280
279
|
if (index > rows.length) {
|
281
|
-
throw new DOMException(
|
280
|
+
throw new this[PropertySymbol.window].DOMException(
|
282
281
|
`Failed to execute 'insertRow' on 'HTMLTableElement': The index provided (${index}) is greater than the number of rows (${rows.length}).`,
|
283
282
|
DOMExceptionNameEnum.indexSizeError
|
284
283
|
);
|
@@ -303,7 +302,7 @@ export default class HTMLTableElement extends HTMLElement {
|
|
303
302
|
*/
|
304
303
|
public deleteRow(index: number): void {
|
305
304
|
if (arguments.length === 0) {
|
306
|
-
throw new TypeError(
|
305
|
+
throw new this[PropertySymbol.window].TypeError(
|
307
306
|
"Failed to execute 'deleteRow' on 'HTMLTableElement': 1 argument required, but only 0 present."
|
308
307
|
);
|
309
308
|
}
|
@@ -313,7 +312,7 @@ export default class HTMLTableElement extends HTMLElement {
|
|
313
312
|
}
|
314
313
|
|
315
314
|
if (index < -1) {
|
316
|
-
throw new DOMException(
|
315
|
+
throw new this[PropertySymbol.window].DOMException(
|
317
316
|
`Failed to execute 'deleteRow' on 'HTMLTableElement': The index provided (${index}) is less than -1.`,
|
318
317
|
DOMExceptionNameEnum.indexSizeError
|
319
318
|
);
|
@@ -322,7 +321,7 @@ export default class HTMLTableElement extends HTMLElement {
|
|
322
321
|
const rows = QuerySelector.querySelectorAll(this, 'tr')[PropertySymbol.items];
|
323
322
|
|
324
323
|
if (index >= rows.length) {
|
325
|
-
throw new DOMException(
|
324
|
+
throw new this[PropertySymbol.window].DOMException(
|
326
325
|
`Failed to execute 'deleteRow' on 'HTMLTableElement': The index provided (${index}) is greater than the number of rows in the table (${rows.length}).`,
|
327
326
|
DOMExceptionNameEnum.indexSizeError
|
328
327
|
);
|
@@ -4,7 +4,6 @@ import HTMLTableCellElement from '../html-table-cell-element/HTMLTableCellElemen
|
|
4
4
|
import * as PropertySymbol from '../../PropertySymbol.js';
|
5
5
|
import QuerySelector from '../../query-selector/QuerySelector.js';
|
6
6
|
import HTMLTableSectionElement from '../html-table-section-element/HTMLTableSectionElement.js';
|
7
|
-
import DOMException from '../../exception/DOMException.js';
|
8
7
|
import DOMExceptionNameEnum from '../../exception/DOMExceptionNameEnum.js';
|
9
8
|
|
10
9
|
/**
|
@@ -83,14 +82,14 @@ export default class HTMLTableRowElement extends HTMLElement {
|
|
83
82
|
const cells = QuerySelector.querySelectorAll(this, 'td,th')[PropertySymbol.items];
|
84
83
|
|
85
84
|
if (index < -1) {
|
86
|
-
throw new DOMException(
|
85
|
+
throw new this[PropertySymbol.window].DOMException(
|
87
86
|
`Failed to execute 'insertCell' on 'HTMLTableRowElement': The index provided (${index}) is less than -1.`,
|
88
87
|
DOMExceptionNameEnum.indexSizeError
|
89
88
|
);
|
90
89
|
}
|
91
90
|
|
92
91
|
if (index > cells.length) {
|
93
|
-
throw new DOMException(
|
92
|
+
throw new this[PropertySymbol.window].DOMException(
|
94
93
|
`Failed to execute 'insertCell' on 'HTMLTableRowElement': The index provided (${index}) is greater than the number of cells (${cells.length}).`,
|
95
94
|
DOMExceptionNameEnum.indexSizeError
|
96
95
|
);
|
@@ -115,7 +114,7 @@ export default class HTMLTableRowElement extends HTMLElement {
|
|
115
114
|
*/
|
116
115
|
public deleteCell(index: number): void {
|
117
116
|
if (arguments.length === 0) {
|
118
|
-
throw new TypeError(
|
117
|
+
throw new this[PropertySymbol.window].TypeError(
|
119
118
|
"Failed to execute 'deleteCell' on 'HTMLTableRowElement': 1 argument required, but only 0 present."
|
120
119
|
);
|
121
120
|
}
|
@@ -125,7 +124,7 @@ export default class HTMLTableRowElement extends HTMLElement {
|
|
125
124
|
}
|
126
125
|
|
127
126
|
if (index < -1) {
|
128
|
-
throw new DOMException(
|
127
|
+
throw new this[PropertySymbol.window].DOMException(
|
129
128
|
`Failed to execute 'deleteCell' on 'HTMLTableRowElement': The index provided (${index}) is less than -1.`,
|
130
129
|
DOMExceptionNameEnum.indexSizeError
|
131
130
|
);
|
@@ -134,7 +133,7 @@ export default class HTMLTableRowElement extends HTMLElement {
|
|
134
133
|
const cells = QuerySelector.querySelectorAll(this, 'td,th')[PropertySymbol.items];
|
135
134
|
|
136
135
|
if (index >= cells.length) {
|
137
|
-
throw new DOMException(
|
136
|
+
throw new this[PropertySymbol.window].DOMException(
|
138
137
|
`Failed to execute 'deleteCell' on 'HTMLTableRowElement': The index provided (${index}) is greater than the number of cells in the row (${cells.length}).`,
|
139
138
|
DOMExceptionNameEnum.indexSizeError
|
140
139
|
);
|
@@ -1,6 +1,5 @@
|
|
1
1
|
import Event from '../../event/Event.js';
|
2
2
|
import * as PropertySymbol from '../../PropertySymbol.js';
|
3
|
-
import DOMException from '../../exception/DOMException.js';
|
4
3
|
import DOMExceptionNameEnum from '../../exception/DOMExceptionNameEnum.js';
|
5
4
|
import HTMLElement from '../html-element/HTMLElement.js';
|
6
5
|
import HTMLFormElement from '../html-form-element/HTMLFormElement.js';
|
@@ -494,7 +493,7 @@ export default class HTMLTextAreaElement extends HTMLElement {
|
|
494
493
|
}
|
495
494
|
|
496
495
|
if (start > end) {
|
497
|
-
throw new DOMException(
|
496
|
+
throw new this[PropertySymbol.window].DOMException(
|
498
497
|
'The index is not in the allowed range.',
|
499
498
|
DOMExceptionNameEnum.invalidStateError
|
500
499
|
);
|
@@ -140,7 +140,7 @@ export default class HTMLTrackElement extends HTMLElement {
|
|
140
140
|
* @returns TextTrack
|
141
141
|
*/
|
142
142
|
public get track(): TextTrack {
|
143
|
-
const textTrack = new TextTrack(PropertySymbol.illegalConstructor);
|
143
|
+
const textTrack = new this[PropertySymbol.window].TextTrack(PropertySymbol.illegalConstructor);
|
144
144
|
textTrack[PropertySymbol.kind] = <TextTrackKindEnum>this.kind;
|
145
145
|
textTrack[PropertySymbol.label] = this.label;
|
146
146
|
textTrack[PropertySymbol.language] = this.srclang;
|
package/src/nodes/node/Node.ts
CHANGED
@@ -9,7 +9,6 @@ import Attr from '../attr/Attr.js';
|
|
9
9
|
import NodeList from './NodeList.js';
|
10
10
|
import MutationRecord from '../../mutation-observer/MutationRecord.js';
|
11
11
|
import MutationTypeEnum from '../../mutation-observer/MutationTypeEnum.js';
|
12
|
-
import DOMException from '../../exception/DOMException.js';
|
13
12
|
import DOMExceptionNameEnum from '../../exception/DOMExceptionNameEnum.js';
|
14
13
|
import IMutationListener from '../../mutation-observer/IMutationListener.js';
|
15
14
|
import ICachedQuerySelectorAllResult from './ICachedQuerySelectorAllResult.js';
|
@@ -26,14 +25,15 @@ import HTMLFormElement from '../html-form-element/HTMLFormElement.js';
|
|
26
25
|
import HTMLSelectElement from '../html-select-element/HTMLSelectElement.js';
|
27
26
|
import HTMLTextAreaElement from '../html-text-area-element/HTMLTextAreaElement.js';
|
28
27
|
import HTMLSlotElement from '../html-slot-element/HTMLSlotElement.js';
|
28
|
+
import WindowBrowserContext from '../../window/WindowBrowserContext.js';
|
29
29
|
import NodeFactory from '../NodeFactory.js';
|
30
30
|
|
31
31
|
/**
|
32
32
|
* Node.
|
33
33
|
*/
|
34
34
|
export default class Node extends EventTarget {
|
35
|
-
//
|
36
|
-
public
|
35
|
+
// Can be injected by CustomElementRegistry or a sub-class
|
36
|
+
public declare [PropertySymbol.ownerDocument]: Document;
|
37
37
|
|
38
38
|
// Public properties
|
39
39
|
public static readonly ELEMENT_NODE = NodeTypeEnum.elementNode;
|
@@ -72,7 +72,6 @@ export default class Node extends EventTarget {
|
|
72
72
|
|
73
73
|
// Internal properties
|
74
74
|
public [PropertySymbol.isConnected] = false;
|
75
|
-
public [PropertySymbol.ownerDocument]: Document;
|
76
75
|
public [PropertySymbol.parentNode]: Node | null = null;
|
77
76
|
public [PropertySymbol.nodeType]: NodeTypeEnum;
|
78
77
|
public [PropertySymbol.rootNode]: Node = null;
|
@@ -114,17 +113,18 @@ export default class Node extends EventTarget {
|
|
114
113
|
constructor() {
|
115
114
|
super();
|
116
115
|
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
this[PropertySymbol.ownerDocument] = definedOwnerDocument;
|
116
|
+
// Window injected by WindowClassExtender (used when the Node can be created using "new" keyword)
|
117
|
+
if (this[PropertySymbol.window]) {
|
118
|
+
this[PropertySymbol.ownerDocument] = this[PropertySymbol.window].document;
|
121
119
|
} else {
|
122
120
|
const ownerDocument = NodeFactory.pullOwnerDocument();
|
123
121
|
|
124
122
|
if (!ownerDocument) {
|
125
123
|
throw new TypeError('Illegal constructor');
|
126
124
|
}
|
125
|
+
|
127
126
|
this[PropertySymbol.ownerDocument] = ownerDocument;
|
127
|
+
this[PropertySymbol.window] = ownerDocument[PropertySymbol.window];
|
128
128
|
}
|
129
129
|
}
|
130
130
|
|
@@ -314,7 +314,7 @@ export default class Node extends EventTarget {
|
|
314
314
|
if (base) {
|
315
315
|
return base.href;
|
316
316
|
}
|
317
|
-
return this[PropertySymbol.
|
317
|
+
return this[PropertySymbol.window].location.href;
|
318
318
|
}
|
319
319
|
|
320
320
|
/**
|
@@ -386,7 +386,7 @@ export default class Node extends EventTarget {
|
|
386
386
|
*/
|
387
387
|
public appendChild(node: Node): Node {
|
388
388
|
if (arguments.length < 1) {
|
389
|
-
throw new TypeError(
|
389
|
+
throw new this[PropertySymbol.window].TypeError(
|
390
390
|
`Failed to execute 'appendChild' on 'Node': 1 argument required, but only 0 present`
|
391
391
|
);
|
392
392
|
}
|
@@ -401,7 +401,7 @@ export default class Node extends EventTarget {
|
|
401
401
|
*/
|
402
402
|
public removeChild(node: Node): Node {
|
403
403
|
if (arguments.length < 1) {
|
404
|
-
throw new TypeError(
|
404
|
+
throw new this[PropertySymbol.window].TypeError(
|
405
405
|
`Failed to execute 'removeChild' on 'Node': 1 argument required, but only 0 present`
|
406
406
|
);
|
407
407
|
}
|
@@ -417,7 +417,7 @@ export default class Node extends EventTarget {
|
|
417
417
|
*/
|
418
418
|
public insertBefore(newNode: Node, referenceNode: Node | null): Node {
|
419
419
|
if (arguments.length < 2) {
|
420
|
-
throw new TypeError(
|
420
|
+
throw new this[PropertySymbol.window].TypeError(
|
421
421
|
`Failed to execute 'insertBefore' on 'Node': 2 arguments required, but only ${arguments.length} present.`
|
422
422
|
);
|
423
423
|
}
|
@@ -433,7 +433,7 @@ export default class Node extends EventTarget {
|
|
433
433
|
*/
|
434
434
|
public replaceChild(newChild: Node, oldChild: Node): Node {
|
435
435
|
if (arguments.length < 2) {
|
436
|
-
throw new TypeError(
|
436
|
+
throw new this[PropertySymbol.window].TypeError(
|
437
437
|
`Failed to execute 'replaceChild' on 'Node': 2 arguments required, but only ${arguments.length} present.`
|
438
438
|
);
|
439
439
|
}
|
@@ -453,6 +453,7 @@ export default class Node extends EventTarget {
|
|
453
453
|
);
|
454
454
|
|
455
455
|
// Document has childNodes directly when it is created
|
456
|
+
// We need to remove them
|
456
457
|
if (clone[PropertySymbol.nodeArray].length) {
|
457
458
|
const childNodes = clone[PropertySymbol.nodeArray];
|
458
459
|
while (childNodes.length) {
|
@@ -485,13 +486,13 @@ export default class Node extends EventTarget {
|
|
485
486
|
public [PropertySymbol.appendChild](node: Node, disableValidations = false): Node {
|
486
487
|
if (!disableValidations) {
|
487
488
|
if (node === this) {
|
488
|
-
throw new DOMException(
|
489
|
+
throw new this[PropertySymbol.window].DOMException(
|
489
490
|
"Failed to execute 'appendChild' on 'Node': Not possible to append a node as a child of itself."
|
490
491
|
);
|
491
492
|
}
|
492
493
|
|
493
494
|
if (NodeUtility.isInclusiveAncestor(node, this, true)) {
|
494
|
-
throw new DOMException(
|
495
|
+
throw new this[PropertySymbol.window].DOMException(
|
495
496
|
"Failed to execute 'appendChild' on 'Node': The new node is a parent of the node to insert to.",
|
496
497
|
DOMExceptionNameEnum.domException
|
497
498
|
);
|
@@ -557,7 +558,7 @@ export default class Node extends EventTarget {
|
|
557
558
|
const index = this[PropertySymbol.nodeArray].indexOf(node);
|
558
559
|
|
559
560
|
if (index === -1) {
|
560
|
-
throw new DOMException(
|
561
|
+
throw new this[PropertySymbol.window].DOMException(
|
561
562
|
`Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.`
|
562
563
|
);
|
563
564
|
}
|
@@ -612,7 +613,7 @@ export default class Node extends EventTarget {
|
|
612
613
|
}
|
613
614
|
|
614
615
|
if (NodeUtility.isInclusiveAncestor(newNode, this, true)) {
|
615
|
-
throw new DOMException(
|
616
|
+
throw new this[PropertySymbol.window].DOMException(
|
616
617
|
"Failed to execute 'insertBefore' on 'Node': The new node is a parent of the node to insert to.",
|
617
618
|
DOMExceptionNameEnum.domException
|
618
619
|
);
|
@@ -639,7 +640,7 @@ export default class Node extends EventTarget {
|
|
639
640
|
|
640
641
|
// We need to check if the referenceNode is a child of this node before removing it from its parent, as the parent may be the same node and the index would be wrong.
|
641
642
|
if (!nodeArray.includes(referenceNode)) {
|
642
|
-
throw new DOMException(
|
643
|
+
throw new this[PropertySymbol.window].DOMException(
|
643
644
|
"Failed to execute 'insertBefore' on 'Node': The node before which the new node is to be inserted is not a child of this node."
|
644
645
|
);
|
645
646
|
}
|
@@ -1007,14 +1008,15 @@ export default class Node extends EventTarget {
|
|
1007
1008
|
* @see https://github.com/capricorn86/happy-dom/issues/1442
|
1008
1009
|
*/
|
1009
1010
|
if (result instanceof Promise) {
|
1010
|
-
const asyncTaskManager =
|
1011
|
-
this[PropertySymbol.
|
1012
|
-
|
1013
|
-
|
1014
|
-
|
1015
|
-
|
1016
|
-
|
1017
|
-
|
1011
|
+
const asyncTaskManager = new WindowBrowserContext(
|
1012
|
+
this[PropertySymbol.window]
|
1013
|
+
).getAsyncTaskManager();
|
1014
|
+
if (asyncTaskManager) {
|
1015
|
+
const taskID = asyncTaskManager.startTask();
|
1016
|
+
result
|
1017
|
+
.then(() => asyncTaskManager.endTask(taskID))
|
1018
|
+
.catch(() => asyncTaskManager.endTask(taskID));
|
1019
|
+
}
|
1018
1020
|
}
|
1019
1021
|
}
|
1020
1022
|
}
|
@@ -24,17 +24,7 @@ class NodeList<T extends Node> {
|
|
24
24
|
|
25
25
|
this[PropertySymbol.items] = items;
|
26
26
|
|
27
|
-
|
28
|
-
ClassMethodBinder.bindMethods(
|
29
|
-
this,
|
30
|
-
this.constructor !== NodeList ? [NodeList, this.constructor] : [NodeList],
|
31
|
-
{
|
32
|
-
bindSymbols: true,
|
33
|
-
forwardToPrototype: true
|
34
|
-
}
|
35
|
-
);
|
36
|
-
|
37
|
-
return new Proxy(this, {
|
27
|
+
const proxy = new Proxy(this, {
|
38
28
|
get: (target, property) => {
|
39
29
|
if (property === 'length') {
|
40
30
|
return items.length;
|
@@ -106,6 +96,15 @@ class NodeList<T extends Node> {
|
|
106
96
|
}
|
107
97
|
}
|
108
98
|
});
|
99
|
+
|
100
|
+
// This only works for one level of inheritance, but it should be fine as there is no collection that goes deeper according to spec.
|
101
|
+
ClassMethodBinder.bindMethods(
|
102
|
+
this,
|
103
|
+
this.constructor !== NodeList ? [NodeList, this.constructor] : [NodeList],
|
104
|
+
{ bindSymbols: true, proxy }
|
105
|
+
);
|
106
|
+
|
107
|
+
return proxy;
|
109
108
|
}
|
110
109
|
|
111
110
|
/**
|