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
@@ -1,9 +1,9 @@
|
|
1
1
|
import * as PropertySymbol from '../PropertySymbol.js';
|
2
2
|
import Node from '../nodes/node/Node.js';
|
3
|
+
import BrowserWindow from '../window/BrowserWindow.js';
|
3
4
|
import IMutationObserverInit from './IMutationObserverInit.js';
|
4
5
|
import MutationObserverListener from './MutationObserverListener.js';
|
5
6
|
import MutationRecord from './MutationRecord.js';
|
6
|
-
import BrowserWindow from '../window/BrowserWindow.js';
|
7
7
|
|
8
8
|
/**
|
9
9
|
* The MutationObserver interface provides the ability to watch for changes being made to the DOM tree.
|
@@ -11,9 +11,11 @@ import BrowserWindow from '../window/BrowserWindow.js';
|
|
11
11
|
* @see https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver
|
12
12
|
*/
|
13
13
|
export default class MutationObserver {
|
14
|
+
// Injected by WindowClassExtender
|
15
|
+
protected declare [PropertySymbol.window]: BrowserWindow;
|
14
16
|
#callback: (records: MutationRecord[], observer: MutationObserver) => void;
|
15
17
|
#listeners: MutationObserverListener[] = [];
|
16
|
-
#
|
18
|
+
#destroyed: boolean = false;
|
17
19
|
|
18
20
|
/**
|
19
21
|
* Constructor.
|
@@ -21,6 +23,12 @@ export default class MutationObserver {
|
|
21
23
|
* @param callback Callback.
|
22
24
|
*/
|
23
25
|
constructor(callback: (records: MutationRecord[], observer: MutationObserver) => void) {
|
26
|
+
if (!this[PropertySymbol.window]) {
|
27
|
+
throw new TypeError(
|
28
|
+
`Failed to construct '${this.constructor.name}': '${this.constructor.name}' was constructed outside a Window context.`
|
29
|
+
);
|
30
|
+
}
|
31
|
+
|
24
32
|
this.#callback = callback;
|
25
33
|
}
|
26
34
|
|
@@ -31,8 +39,12 @@ export default class MutationObserver {
|
|
31
39
|
* @param options Options.
|
32
40
|
*/
|
33
41
|
public observe(target: Node, options: IMutationObserverInit): void {
|
42
|
+
if (this.#destroyed) {
|
43
|
+
return;
|
44
|
+
}
|
45
|
+
|
34
46
|
if (!target) {
|
35
|
-
throw new TypeError(
|
47
|
+
throw new this[PropertySymbol.window].TypeError(
|
36
48
|
`Failed to execute 'observe' on 'MutationObserver': The first parameter "target" should be of type "Node".`
|
37
49
|
);
|
38
50
|
}
|
@@ -47,13 +59,13 @@ export default class MutationObserver {
|
|
47
59
|
}
|
48
60
|
|
49
61
|
if (!options.attributes && options.attributeOldValue) {
|
50
|
-
throw new TypeError(
|
62
|
+
throw new this[PropertySymbol.window].TypeError(
|
51
63
|
`Failed to execute 'observe' on 'MutationObserver': The options object may only set 'attributeOldValue' to true when 'attributes' is true or not present.`
|
52
64
|
);
|
53
65
|
}
|
54
66
|
|
55
67
|
if (!options.attributes && options.attributeFilter) {
|
56
|
-
throw new TypeError(
|
68
|
+
throw new this[PropertySymbol.window].TypeError(
|
57
69
|
`Failed to execute 'observe' on 'MutationObserver': The options object may only set 'attributeFilter' when 'attributes' is true or not present.`
|
58
70
|
);
|
59
71
|
}
|
@@ -68,24 +80,18 @@ export default class MutationObserver {
|
|
68
80
|
}
|
69
81
|
|
70
82
|
if (!options.characterData && options.characterDataOldValue) {
|
71
|
-
throw new TypeError(
|
83
|
+
throw new this[PropertySymbol.window].TypeError(
|
72
84
|
`Failed to execute 'observe' on 'MutationObserver': The options object may only set 'characterDataOldValue' to true when 'characterData' is true or not present.`
|
73
85
|
);
|
74
86
|
}
|
75
87
|
}
|
76
88
|
|
77
89
|
if (!options || (!options.childList && !options.attributes && !options.characterData)) {
|
78
|
-
throw new TypeError(
|
90
|
+
throw new this[PropertySymbol.window].TypeError(
|
79
91
|
`Failed to execute 'observe' on 'MutationObserver': The options object must set at least one of 'attributes', 'characterData', or 'childList' to true.`
|
80
92
|
);
|
81
93
|
}
|
82
94
|
|
83
|
-
if (!this.#window) {
|
84
|
-
this.#window = target[PropertySymbol.ownerDocument]
|
85
|
-
? target[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow]
|
86
|
-
: target[PropertySymbol.ownerWindow];
|
87
|
-
}
|
88
|
-
|
89
95
|
// Makes sure that attribute names are lower case.
|
90
96
|
// TODO: Is this correct?
|
91
97
|
options = Object.assign({}, options, {
|
@@ -105,7 +111,7 @@ export default class MutationObserver {
|
|
105
111
|
}
|
106
112
|
|
107
113
|
const listener = new MutationObserverListener({
|
108
|
-
window: this
|
114
|
+
window: this[PropertySymbol.window],
|
109
115
|
options,
|
110
116
|
callback: this.#callback.bind(this),
|
111
117
|
observer: this,
|
@@ -115,8 +121,8 @@ export default class MutationObserver {
|
|
115
121
|
this.#listeners.push(listener);
|
116
122
|
|
117
123
|
// Stores all observers on the window object, so that they can be disconnected when the window is closed.
|
118
|
-
if (!this
|
119
|
-
this
|
124
|
+
if (!this[PropertySymbol.window][PropertySymbol.mutationObservers].includes(this)) {
|
125
|
+
this[PropertySymbol.window][PropertySymbol.mutationObservers].push(this);
|
120
126
|
}
|
121
127
|
|
122
128
|
// Starts observing target node.
|
@@ -127,6 +133,8 @@ export default class MutationObserver {
|
|
127
133
|
* Disconnects.
|
128
134
|
*/
|
129
135
|
public disconnect(): void {
|
136
|
+
this.#destroyed = true;
|
137
|
+
|
130
138
|
if (this.#listeners.length === 0) {
|
131
139
|
return;
|
132
140
|
}
|
@@ -138,7 +146,7 @@ export default class MutationObserver {
|
|
138
146
|
|
139
147
|
this.#listeners = [];
|
140
148
|
|
141
|
-
const mutationObservers = this
|
149
|
+
const mutationObservers = this[PropertySymbol.window][PropertySymbol.mutationObservers];
|
142
150
|
const index = mutationObservers.indexOf(this);
|
143
151
|
|
144
152
|
if (index !== -1) {
|
@@ -3,7 +3,7 @@ import PluginArray from './PluginArray.js';
|
|
3
3
|
import BrowserWindow from '../window/BrowserWindow.js';
|
4
4
|
import Permissions from '../permissions/Permissions.js';
|
5
5
|
import Clipboard from '../clipboard/Clipboard.js';
|
6
|
-
import
|
6
|
+
import WindowBrowserContext from '../window/WindowBrowserContext.js';
|
7
7
|
import Blob from '../file/Blob.js';
|
8
8
|
import FormData from '../form-data/FormData.js';
|
9
9
|
|
@@ -16,19 +16,23 @@ import FormData from '../form-data/FormData.js';
|
|
16
16
|
* https://html.spec.whatwg.org/multipage/system-state.html#dom-navigator.
|
17
17
|
*/
|
18
18
|
export default class Navigator {
|
19
|
-
#
|
19
|
+
#window: BrowserWindow;
|
20
20
|
#clipboard: Clipboard;
|
21
21
|
#permissions: Permissions;
|
22
22
|
|
23
23
|
/**
|
24
24
|
* Constructor.
|
25
25
|
*
|
26
|
-
* @param
|
26
|
+
* @param window Owner window.
|
27
27
|
*/
|
28
|
-
constructor(
|
29
|
-
|
30
|
-
|
31
|
-
|
28
|
+
constructor(window: BrowserWindow) {
|
29
|
+
if (!window) {
|
30
|
+
throw new TypeError('Invalid constructor');
|
31
|
+
}
|
32
|
+
|
33
|
+
this.#window = window;
|
34
|
+
this.#clipboard = new Clipboard(window);
|
35
|
+
this.#permissions = new Permissions(window);
|
32
36
|
}
|
33
37
|
|
34
38
|
/**
|
@@ -77,9 +81,7 @@ export default class Navigator {
|
|
77
81
|
* Maximum number of simultaneous touch contact points are supported by the current device.
|
78
82
|
*/
|
79
83
|
public get maxTouchPoints(): number {
|
80
|
-
return (
|
81
|
-
WindowBrowserSettingsReader.getSettings(this.#ownerWindow)?.navigator.maxTouchPoints || 0
|
82
|
-
);
|
84
|
+
return new WindowBrowserContext(this.#window).getSettings()?.navigator.maxTouchPoints || 0;
|
83
85
|
}
|
84
86
|
|
85
87
|
/**
|
@@ -156,7 +158,7 @@ export default class Navigator {
|
|
156
158
|
* "appCodeName/appVersion number (Platform; Security; OS-or-CPU; Localization; rv: revision-version-number) product/productSub Application-Name Application-Name-version".
|
157
159
|
*/
|
158
160
|
public get userAgent(): string {
|
159
|
-
return
|
161
|
+
return new WindowBrowserContext(this.#window).getSettings()?.navigator.userAgent || '';
|
160
162
|
}
|
161
163
|
|
162
164
|
/**
|
@@ -227,7 +229,7 @@ export default class Navigator {
|
|
227
229
|
url: string,
|
228
230
|
data: string | Blob | ArrayBuffer | ArrayBufferView | FormData
|
229
231
|
): boolean {
|
230
|
-
this.#
|
232
|
+
this.#window.fetch(url, {
|
231
233
|
method: 'POST',
|
232
234
|
body: data
|
233
235
|
});
|
package/src/nodes/NodeFactory.ts
CHANGED
@@ -21,7 +21,7 @@ export default class NodeFactory {
|
|
21
21
|
nodeClass: new (...args) => T,
|
22
22
|
...args: any[]
|
23
23
|
): T {
|
24
|
-
if (!nodeClass[PropertySymbol.
|
24
|
+
if (!nodeClass.prototype[PropertySymbol.window]) {
|
25
25
|
this.ownerDocuments.push(ownerDocument);
|
26
26
|
}
|
27
27
|
return new nodeClass(...args);
|
@@ -14,7 +14,6 @@ import DocumentType from '../document-type/DocumentType.js';
|
|
14
14
|
import ParentNodeUtility from '../parent-node/ParentNodeUtility.js';
|
15
15
|
import QuerySelector from '../../query-selector/QuerySelector.js';
|
16
16
|
import CSSStyleSheet from '../../css/CSSStyleSheet.js';
|
17
|
-
import DOMException from '../../exception/DOMException.js';
|
18
17
|
import HTMLScriptElement from '../html-script-element/HTMLScriptElement.js';
|
19
18
|
import HTMLElement from '../html-element/HTMLElement.js';
|
20
19
|
import Comment from '../comment/Comment.js';
|
@@ -33,7 +32,6 @@ import ProcessingInstruction from '../processing-instruction/ProcessingInstructi
|
|
33
32
|
import VisibilityStateEnum from './VisibilityStateEnum.js';
|
34
33
|
import NodeTypeEnum from '../node/NodeTypeEnum.js';
|
35
34
|
import CookieStringUtility from '../../cookie/urilities/CookieStringUtility.js';
|
36
|
-
import IBrowserFrame from '../../browser/types/IBrowserFrame.js';
|
37
35
|
import { URL } from 'url';
|
38
36
|
import IHTMLElementTagNameMap from '../../config/IHTMLElementTagNameMap.js';
|
39
37
|
import ISVGElementTagNameMap from '../../config/ISVGElementTagNameMap.js';
|
@@ -47,6 +45,7 @@ import HTMLHeadElement from '../html-head-element/HTMLHeadElement.js';
|
|
47
45
|
import HTMLBaseElement from '../html-base-element/HTMLBaseElement.js';
|
48
46
|
import ICachedResult from '../node/ICachedResult.js';
|
49
47
|
import HTMLTitleElement from '../html-title-element/HTMLTitleElement.js';
|
48
|
+
import WindowBrowserContext from '../../window/WindowBrowserContext.js';
|
50
49
|
import NodeFactory from '../NodeFactory.js';
|
51
50
|
|
52
51
|
const PROCESSING_INSTRUCTION_TARGET_REGEXP = /^[a-z][a-z0-9-]+$/;
|
@@ -55,9 +54,6 @@ const PROCESSING_INSTRUCTION_TARGET_REGEXP = /^[a-z][a-z0-9-]+$/;
|
|
55
54
|
* Document.
|
56
55
|
*/
|
57
56
|
export default class Document extends Node {
|
58
|
-
// Static properties
|
59
|
-
public static [PropertySymbol.ownerDocument]: Document = <Document>{};
|
60
|
-
|
61
57
|
// Internal properties
|
62
58
|
public [PropertySymbol.children]: HTMLCollection<Element> | null = null;
|
63
59
|
public [PropertySymbol.activeElement]: HTMLElement | SVGElement = null;
|
@@ -73,9 +69,9 @@ export default class Document extends Node {
|
|
73
69
|
public [PropertySymbol.readyState] = DocumentReadyStateEnum.interactive;
|
74
70
|
public [PropertySymbol.referrer] = '';
|
75
71
|
public [PropertySymbol.defaultView]: BrowserWindow | null = null;
|
76
|
-
public [PropertySymbol.ownerWindow]: BrowserWindow;
|
77
72
|
public [PropertySymbol.forms]: HTMLCollection<HTMLFormElement> | null = null;
|
78
73
|
public [PropertySymbol.affectsComputedStyleCache]: ICachedResult[] = [];
|
74
|
+
public [PropertySymbol.ownerDocument]: Document | null = null;
|
79
75
|
public [PropertySymbol.elementIdMap]: Map<
|
80
76
|
string,
|
81
77
|
{ htmlCollection: HTMLCollection<Element> | null; elements: Element[] }
|
@@ -84,7 +80,6 @@ export default class Document extends Node {
|
|
84
80
|
|
85
81
|
// Private properties
|
86
82
|
#selection: Selection = null;
|
87
|
-
#browserFrame: IBrowserFrame;
|
88
83
|
|
89
84
|
// Events
|
90
85
|
public onreadystatechange: (event: Event) => void = null;
|
@@ -197,20 +192,6 @@ export default class Document extends Node {
|
|
197
192
|
public onpaste: (event: Event) => void = null;
|
198
193
|
public onbeforematch: (event: Event) => void = null;
|
199
194
|
|
200
|
-
/**
|
201
|
-
* Constructor.
|
202
|
-
*
|
203
|
-
* @param injected Injected properties.
|
204
|
-
* @param injected.browserFrame Browser frame.
|
205
|
-
* @param injected.window Window.
|
206
|
-
*/
|
207
|
-
constructor(injected: { browserFrame: IBrowserFrame; window: BrowserWindow }) {
|
208
|
-
super();
|
209
|
-
this.#browserFrame = injected.browserFrame;
|
210
|
-
this[PropertySymbol.ownerWindow] = injected.window;
|
211
|
-
this[PropertySymbol.ownerDocument] = null;
|
212
|
-
}
|
213
|
-
|
214
195
|
/**
|
215
196
|
* Returns adopted style sheets.
|
216
197
|
*
|
@@ -383,9 +364,13 @@ export default class Document extends Node {
|
|
383
364
|
* @returns Cookie.
|
384
365
|
*/
|
385
366
|
public get cookie(): string {
|
367
|
+
const browserFrame = new WindowBrowserContext(this[PropertySymbol.window]).getBrowserFrame();
|
368
|
+
if (!browserFrame) {
|
369
|
+
return '';
|
370
|
+
}
|
386
371
|
return CookieStringUtility.cookiesToString(
|
387
|
-
|
388
|
-
new URL(this[PropertySymbol.
|
372
|
+
browserFrame.page.context.cookieContainer.getCookies(
|
373
|
+
new URL(this[PropertySymbol.window].location.href),
|
389
374
|
true
|
390
375
|
)
|
391
376
|
);
|
@@ -397,11 +382,12 @@ export default class Document extends Node {
|
|
397
382
|
* @param cookie Cookie string.
|
398
383
|
*/
|
399
384
|
public set cookie(cookie: string) {
|
400
|
-
this
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
385
|
+
const browserFrame = new WindowBrowserContext(this[PropertySymbol.window]).getBrowserFrame();
|
386
|
+
if (!browserFrame) {
|
387
|
+
return;
|
388
|
+
}
|
389
|
+
browserFrame.page.context.cookieContainer.addCookies([
|
390
|
+
CookieStringUtility.stringToCookie(new URL(this[PropertySymbol.window].location.href), cookie)
|
405
391
|
]);
|
406
392
|
}
|
407
393
|
|
@@ -519,7 +505,7 @@ export default class Document extends Node {
|
|
519
505
|
* @returns Location.
|
520
506
|
*/
|
521
507
|
public get location(): Location {
|
522
|
-
return this[PropertySymbol.
|
508
|
+
return this[PropertySymbol.window].location;
|
523
509
|
}
|
524
510
|
|
525
511
|
/**
|
@@ -542,27 +528,36 @@ export default class Document extends Node {
|
|
542
528
|
if (element) {
|
543
529
|
return element.href;
|
544
530
|
}
|
545
|
-
return this[PropertySymbol.
|
531
|
+
return this[PropertySymbol.window].location.href;
|
546
532
|
}
|
547
533
|
|
548
534
|
/**
|
549
535
|
* Returns URL.
|
550
536
|
*
|
551
|
-
* @returns
|
537
|
+
* @returns URL of the current document.
|
552
538
|
* */
|
553
539
|
public get URL(): string {
|
554
|
-
return this[PropertySymbol.
|
540
|
+
return this[PropertySymbol.window].location.href;
|
555
541
|
}
|
556
542
|
|
557
543
|
/**
|
558
544
|
* Returns document URI.
|
559
545
|
*
|
560
|
-
* @returns
|
546
|
+
* @returns URL of the current document.
|
561
547
|
* */
|
562
548
|
public get documentURI(): string {
|
563
549
|
return this.URL;
|
564
550
|
}
|
565
551
|
|
552
|
+
/**
|
553
|
+
* Returns domain.
|
554
|
+
*
|
555
|
+
* @returns Domain.
|
556
|
+
* */
|
557
|
+
public get domain(): string {
|
558
|
+
return this[PropertySymbol.window].location.hostname;
|
559
|
+
}
|
560
|
+
|
566
561
|
/**
|
567
562
|
* Returns document visibility state.
|
568
563
|
*
|
@@ -708,7 +703,7 @@ export default class Document extends Node {
|
|
708
703
|
*/
|
709
704
|
public queryCommandSupported(_: string): boolean {
|
710
705
|
if (!arguments.length) {
|
711
|
-
throw new TypeError(
|
706
|
+
throw new this[PropertySymbol.window].TypeError(
|
712
707
|
"Failed to execute 'queryCommandSupported' on 'Document': 1 argument required, but only 0 present."
|
713
708
|
);
|
714
709
|
}
|
@@ -937,8 +932,17 @@ export default class Document extends Node {
|
|
937
932
|
public open(): Document {
|
938
933
|
this[PropertySymbol.isFirstWriteAfterOpen] = true;
|
939
934
|
|
940
|
-
for (const eventType of
|
941
|
-
const listeners = this[PropertySymbol.listeners]
|
935
|
+
for (const eventType of this[PropertySymbol.listeners].bubbling.keys()) {
|
936
|
+
const listeners = this[PropertySymbol.listeners].bubbling.get(eventType);
|
937
|
+
if (listeners) {
|
938
|
+
for (const listener of listeners) {
|
939
|
+
this.removeEventListener(eventType, listener);
|
940
|
+
}
|
941
|
+
}
|
942
|
+
}
|
943
|
+
|
944
|
+
for (const eventType of this[PropertySymbol.listeners].capturing.keys()) {
|
945
|
+
const listeners = this[PropertySymbol.listeners].capturing.get(eventType);
|
942
946
|
if (listeners) {
|
943
947
|
for (const listener of listeners) {
|
944
948
|
this.removeEventListener(eventType, listener);
|
@@ -1071,7 +1075,7 @@ export default class Document extends Node {
|
|
1071
1075
|
qualifiedName = String(qualifiedName);
|
1072
1076
|
|
1073
1077
|
if (!qualifiedName) {
|
1074
|
-
throw new DOMException(
|
1078
|
+
throw new this[PropertySymbol.window].DOMException(
|
1075
1079
|
"Failed to execute 'createElementNS' on 'Document': The qualified name provided is empty."
|
1076
1080
|
);
|
1077
1081
|
}
|
@@ -1080,8 +1084,8 @@ export default class Document extends Node {
|
|
1080
1084
|
if (namespaceURI === NamespaceURI.svg) {
|
1081
1085
|
const elementClass =
|
1082
1086
|
qualifiedName === 'svg'
|
1083
|
-
? this[PropertySymbol.
|
1084
|
-
: this[PropertySymbol.
|
1087
|
+
? this[PropertySymbol.window].SVGSVGElement
|
1088
|
+
: this[PropertySymbol.window].SVGElement;
|
1085
1089
|
|
1086
1090
|
const element = NodeFactory.createNode<SVGElement>(this, elementClass);
|
1087
1091
|
|
@@ -1095,7 +1099,7 @@ export default class Document extends Node {
|
|
1095
1099
|
|
1096
1100
|
// Custom HTML element
|
1097
1101
|
const customElement =
|
1098
|
-
this[PropertySymbol.
|
1102
|
+
this[PropertySymbol.window].customElements[PropertySymbol.registry]?.[
|
1099
1103
|
options && options.is ? String(options.is) : qualifiedName
|
1100
1104
|
];
|
1101
1105
|
|
@@ -1110,7 +1114,7 @@ export default class Document extends Node {
|
|
1110
1114
|
|
1111
1115
|
const localName = qualifiedName.toLowerCase();
|
1112
1116
|
const elementClass = HTMLElementConfig[localName]
|
1113
|
-
? this[PropertySymbol.
|
1117
|
+
? this[PropertySymbol.window][HTMLElementConfig[localName].className]
|
1114
1118
|
: null;
|
1115
1119
|
|
1116
1120
|
// Known HTML element
|
@@ -1127,8 +1131,8 @@ export default class Document extends Node {
|
|
1127
1131
|
|
1128
1132
|
// Unknown HTML element
|
1129
1133
|
const unknownElementClass = localName.includes('-')
|
1130
|
-
? this[PropertySymbol.
|
1131
|
-
: this[PropertySymbol.
|
1134
|
+
? this[PropertySymbol.window].HTMLElement
|
1135
|
+
: this[PropertySymbol.window].HTMLUnknownElement;
|
1132
1136
|
|
1133
1137
|
const element = NodeFactory.createNode<Element>(this, unknownElementClass);
|
1134
1138
|
|
@@ -1150,11 +1154,12 @@ export default class Document extends Node {
|
|
1150
1154
|
*/
|
1151
1155
|
public createTextNode(data: string): Text {
|
1152
1156
|
if (arguments.length < 1) {
|
1153
|
-
throw new TypeError(
|
1157
|
+
throw new this[PropertySymbol.window].TypeError(
|
1154
1158
|
`Failed to execute 'createTextNode' on 'Document': 1 argument required, but only ${arguments.length} present.`
|
1155
1159
|
);
|
1156
1160
|
}
|
1157
|
-
|
1161
|
+
// We should use the NodeFactory and not the class constructor, so that owner document will be this document
|
1162
|
+
return NodeFactory.createNode(this, Text, String(data));
|
1158
1163
|
}
|
1159
1164
|
|
1160
1165
|
/**
|
@@ -1165,11 +1170,12 @@ export default class Document extends Node {
|
|
1165
1170
|
*/
|
1166
1171
|
public createComment(data?: string): Comment {
|
1167
1172
|
if (arguments.length < 1) {
|
1168
|
-
throw new TypeError(
|
1173
|
+
throw new this[PropertySymbol.window].TypeError(
|
1169
1174
|
`Failed to execute 'createComment' on 'Document': 1 argument required, but only ${arguments.length} present.`
|
1170
1175
|
);
|
1171
1176
|
}
|
1172
|
-
|
1177
|
+
// We should use the NodeFactory and not the class constructor, so that owner document will be this document
|
1178
|
+
return NodeFactory.createNode(this, Comment, String(data));
|
1173
1179
|
}
|
1174
1180
|
|
1175
1181
|
/**
|
@@ -1178,7 +1184,8 @@ export default class Document extends Node {
|
|
1178
1184
|
* @returns Document fragment.
|
1179
1185
|
*/
|
1180
1186
|
public createDocumentFragment(): DocumentFragment {
|
1181
|
-
|
1187
|
+
// We should use the NodeFactory and not the class constructor, so that owner document will be this document
|
1188
|
+
return NodeFactory.createNode(this, DocumentFragment);
|
1182
1189
|
}
|
1183
1190
|
|
1184
1191
|
/**
|
@@ -1211,8 +1218,8 @@ export default class Document extends Node {
|
|
1211
1218
|
* @returns Event.
|
1212
1219
|
*/
|
1213
1220
|
public createEvent(type: string): Event {
|
1214
|
-
if (typeof this[PropertySymbol.
|
1215
|
-
return new this[PropertySymbol.
|
1221
|
+
if (typeof this[PropertySymbol.window][type] === 'function') {
|
1222
|
+
return new this[PropertySymbol.window][type]('init');
|
1216
1223
|
}
|
1217
1224
|
return new Event('init');
|
1218
1225
|
}
|
@@ -1235,7 +1242,8 @@ export default class Document extends Node {
|
|
1235
1242
|
* @returns Element.
|
1236
1243
|
*/
|
1237
1244
|
public createAttributeNS(namespaceURI: string, qualifiedName: string): Attr {
|
1238
|
-
|
1245
|
+
// We should use the NodeFactory and not the class constructor, so that owner document will be this document
|
1246
|
+
const attribute = NodeFactory.createNode(this, Attr);
|
1239
1247
|
|
1240
1248
|
const parts = qualifiedName.split(':');
|
1241
1249
|
attribute[PropertySymbol.namespaceURI] = namespaceURI;
|
@@ -1254,7 +1262,7 @@ export default class Document extends Node {
|
|
1254
1262
|
*/
|
1255
1263
|
public importNode(node: Node, deep = false): Node {
|
1256
1264
|
if (!(node instanceof Node)) {
|
1257
|
-
throw new DOMException('Parameter 1 was not of type Node.');
|
1265
|
+
throw new this[PropertySymbol.window].DOMException('Parameter 1 was not of type Node.');
|
1258
1266
|
}
|
1259
1267
|
const clone = node.cloneNode(deep);
|
1260
1268
|
this.#importNode(clone);
|
@@ -1267,7 +1275,7 @@ export default class Document extends Node {
|
|
1267
1275
|
* @returns Range.
|
1268
1276
|
*/
|
1269
1277
|
public createRange(): Range {
|
1270
|
-
return new this[PropertySymbol.
|
1278
|
+
return new this[PropertySymbol.window].Range();
|
1271
1279
|
}
|
1272
1280
|
|
1273
1281
|
/**
|
@@ -1278,7 +1286,7 @@ export default class Document extends Node {
|
|
1278
1286
|
*/
|
1279
1287
|
public adoptNode(node: Node): Node {
|
1280
1288
|
if (!(node instanceof Node)) {
|
1281
|
-
throw new DOMException('Parameter 1 was not of type Node.');
|
1289
|
+
throw new this[PropertySymbol.window].DOMException('Parameter 1 was not of type Node.');
|
1282
1290
|
}
|
1283
1291
|
|
1284
1292
|
const adopted = node[PropertySymbol.parentNode]
|
@@ -1319,7 +1327,7 @@ export default class Document extends Node {
|
|
1319
1327
|
*/
|
1320
1328
|
public createProcessingInstruction(target: string, data: string): ProcessingInstruction {
|
1321
1329
|
if (arguments.length < 2) {
|
1322
|
-
throw new TypeError(
|
1330
|
+
throw new this[PropertySymbol.window].TypeError(
|
1323
1331
|
`Failed to execute 'createProcessingInstruction' on 'Document': 2 arguments required, but only ${arguments.length} present.`
|
1324
1332
|
);
|
1325
1333
|
}
|
@@ -1328,20 +1336,17 @@ export default class Document extends Node {
|
|
1328
1336
|
data = String(data);
|
1329
1337
|
|
1330
1338
|
if (!target || !PROCESSING_INSTRUCTION_TARGET_REGEXP.test(target)) {
|
1331
|
-
throw new DOMException(
|
1339
|
+
throw new this[PropertySymbol.window].DOMException(
|
1332
1340
|
`Failed to execute 'createProcessingInstruction' on 'Document': The target provided ('${target}') is not a valid name.`
|
1333
1341
|
);
|
1334
1342
|
}
|
1335
1343
|
if (data.includes('?>')) {
|
1336
|
-
throw new DOMException(
|
1344
|
+
throw new this[PropertySymbol.window].DOMException(
|
1337
1345
|
`Failed to execute 'createProcessingInstruction' on 'Document': The data provided ('?>') contains '?>'`
|
1338
1346
|
);
|
1339
1347
|
}
|
1340
|
-
|
1341
|
-
const element = NodeFactory.createNode
|
1342
|
-
this,
|
1343
|
-
this[PropertySymbol.ownerWindow].ProcessingInstruction
|
1344
|
-
);
|
1348
|
+
// We should use the NodeFactory and not the class constructor, so that owner document will be this document
|
1349
|
+
const element = NodeFactory.createNode(this, ProcessingInstruction);
|
1345
1350
|
|
1346
1351
|
element[PropertySymbol.data] = data;
|
1347
1352
|
element[PropertySymbol.target] = target;
|
@@ -30,9 +30,8 @@ export default class DocumentReadyStateManager {
|
|
30
30
|
resolve();
|
31
31
|
} else {
|
32
32
|
this.readyStateCallbacks.push(resolve);
|
33
|
-
|
34
|
-
|
35
|
-
}
|
33
|
+
this.startTask();
|
34
|
+
this.endTask();
|
36
35
|
}
|
37
36
|
});
|
38
37
|
}
|
@@ -68,15 +67,19 @@ export default class DocumentReadyStateManager {
|
|
68
67
|
|
69
68
|
this.totalTasks--;
|
70
69
|
|
71
|
-
|
72
|
-
|
70
|
+
this.immediate = this.window.requestAnimationFrame(() => {
|
71
|
+
this.immediate = null;
|
72
|
+
|
73
|
+
if (this.totalTasks <= 0) {
|
74
|
+
const callbacks = this.readyStateCallbacks;
|
73
75
|
|
74
|
-
|
75
|
-
|
76
|
+
this.readyStateCallbacks = [];
|
77
|
+
this.isComplete = true;
|
76
78
|
|
77
|
-
|
78
|
-
|
79
|
+
for (const callback of callbacks) {
|
80
|
+
callback();
|
81
|
+
}
|
79
82
|
}
|
80
|
-
}
|
83
|
+
});
|
81
84
|
}
|
82
85
|
}
|