happy-dom 15.0.0 → 15.2.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 +48 -4
- package/cjs/fetch/AbortSignal.cjs.map +1 -1
- package/cjs/fetch/AbortSignal.d.ts +19 -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 +19 -0
- package/lib/fetch/AbortSignal.d.ts.map +1 -1
- package/lib/fetch/AbortSignal.js +48 -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 +69 -4
- package/src/fetch/Fetch.ts +39 -15
- 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 +15 -13
- 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
@@ -37,11 +37,8 @@ const PropertySymbol = __importStar(require("../PropertySymbol.cjs"));
|
|
37
37
|
const Base64_js_1 = __importDefault(require("../base64/Base64.cjs"));
|
38
38
|
const BrowserErrorCaptureEnum_js_1 = __importDefault(require("../browser/enums/BrowserErrorCaptureEnum.cjs"));
|
39
39
|
const Clipboard_js_1 = __importDefault(require("../clipboard/Clipboard.cjs"));
|
40
|
-
const ClipboardItem_js_1 = __importDefault(require("../clipboard/ClipboardItem.cjs"));
|
41
40
|
const CSS_js_1 = __importDefault(require("../css/CSS.cjs"));
|
42
41
|
const CSSRule_js_1 = __importDefault(require("../css/CSSRule.cjs"));
|
43
|
-
const CSSStyleSheet_js_1 = __importDefault(require("../css/CSSStyleSheet.cjs"));
|
44
|
-
const CSSUnitValue_js_1 = __importDefault(require("../css/CSSUnitValue.cjs"));
|
45
42
|
const CSSStyleDeclaration_js_1 = __importDefault(require("../css/declaration/CSSStyleDeclaration.cjs"));
|
46
43
|
const CSSContainerRule_js_1 = __importDefault(require("../css/rules/CSSContainerRule.cjs"));
|
47
44
|
const CSSFontFaceRule_js_1 = __importDefault(require("../css/rules/CSSFontFaceRule.cjs"));
|
@@ -51,13 +48,8 @@ const CSSMediaRule_js_1 = __importDefault(require("../css/rules/CSSMediaRule.cjs
|
|
51
48
|
const CSSStyleRule_js_1 = __importDefault(require("../css/rules/CSSStyleRule.cjs"));
|
52
49
|
const CSSSupportsRule_js_1 = __importDefault(require("../css/rules/CSSSupportsRule.cjs"));
|
53
50
|
const CustomElementRegistry_js_1 = __importDefault(require("../custom-element/CustomElementRegistry.cjs"));
|
54
|
-
const DOMParser_js_1 = __importDefault(require("../dom-parser/DOMParser.cjs"));
|
55
|
-
const DataTransfer_js_1 = __importDefault(require("../event/DataTransfer.cjs"));
|
56
|
-
const DataTransferItem_js_1 = __importDefault(require("../event/DataTransferItem.cjs"));
|
57
|
-
const DataTransferItemList_js_1 = __importDefault(require("../event/DataTransferItemList.cjs"));
|
58
51
|
const Event_js_1 = __importDefault(require("../event/Event.cjs"));
|
59
52
|
const EventTarget_js_1 = __importDefault(require("../event/EventTarget.cjs"));
|
60
|
-
const MessagePort_js_1 = __importDefault(require("../event/MessagePort.cjs"));
|
61
53
|
const Touch_js_1 = __importDefault(require("../event/Touch.cjs"));
|
62
54
|
const UIEvent_js_1 = __importDefault(require("../event/UIEvent.cjs"));
|
63
55
|
const AnimationEvent_js_1 = __importDefault(require("../event/events/AnimationEvent.cjs"));
|
@@ -77,24 +69,15 @@ const StorageEvent_js_1 = __importDefault(require("../event/events/StorageEvent.
|
|
77
69
|
const SubmitEvent_js_1 = __importDefault(require("../event/events/SubmitEvent.cjs"));
|
78
70
|
const TouchEvent_js_1 = __importDefault(require("../event/events/TouchEvent.cjs"));
|
79
71
|
const WheelEvent_js_1 = __importDefault(require("../event/events/WheelEvent.cjs"));
|
80
|
-
const DOMException_js_1 = __importDefault(require("../exception/DOMException.cjs"));
|
81
72
|
const DOMExceptionNameEnum_js_1 = __importDefault(require("../exception/DOMExceptionNameEnum.cjs"));
|
82
|
-
const AbortController_js_1 = __importDefault(require("../fetch/AbortController.cjs"));
|
83
|
-
const AbortSignal_js_1 = __importDefault(require("../fetch/AbortSignal.cjs"));
|
84
73
|
const Fetch_js_1 = __importDefault(require("../fetch/Fetch.cjs"));
|
85
|
-
const Headers_js_1 = __importDefault(require("../fetch/Headers.cjs"));
|
86
|
-
const Request_js_1 = __importDefault(require("../fetch/Request.cjs"));
|
87
|
-
const Response_js_1 = __importDefault(require("../fetch/Response.cjs"));
|
88
74
|
const Blob_js_1 = __importDefault(require("../file/Blob.cjs"));
|
89
75
|
const File_js_1 = __importDefault(require("../file/File.cjs"));
|
90
|
-
const FileReader_js_1 = __importDefault(require("../file/FileReader.cjs"));
|
91
|
-
const FormData_js_1 = __importDefault(require("../form-data/FormData.cjs"));
|
92
76
|
const History_js_1 = __importDefault(require("../history/History.cjs"));
|
93
77
|
const IntersectionObserver_js_1 = __importDefault(require("../intersection-observer/IntersectionObserver.cjs"));
|
94
78
|
const IntersectionObserverEntry_js_1 = __importDefault(require("../intersection-observer/IntersectionObserverEntry.cjs"));
|
95
79
|
const Location_js_1 = __importDefault(require("../location/Location.cjs"));
|
96
80
|
const MediaQueryList_js_1 = __importDefault(require("../match-media/MediaQueryList.cjs"));
|
97
|
-
const MutationObserver_js_1 = __importDefault(require("../mutation-observer/MutationObserver.cjs"));
|
98
81
|
const MutationRecord_js_1 = __importDefault(require("../mutation-observer/MutationRecord.cjs"));
|
99
82
|
const MimeType_js_1 = __importDefault(require("../navigator/MimeType.cjs"));
|
100
83
|
const MimeTypeArray_js_1 = __importDefault(require("../navigator/MimeTypeArray.cjs"));
|
@@ -103,20 +86,15 @@ const Plugin_js_1 = __importDefault(require("../navigator/Plugin.cjs"));
|
|
103
86
|
const PluginArray_js_1 = __importDefault(require("../navigator/PluginArray.cjs"));
|
104
87
|
const Attr_js_1 = __importDefault(require("../nodes/attr/Attr.cjs"));
|
105
88
|
const CharacterData_js_1 = __importDefault(require("../nodes/character-data/CharacterData.cjs"));
|
106
|
-
const Comment_js_1 = __importDefault(require("../nodes/comment/Comment.cjs"));
|
107
|
-
const DocumentFragment_js_1 = __importDefault(require("../nodes/document-fragment/DocumentFragment.cjs"));
|
108
89
|
const DocumentType_js_1 = __importDefault(require("../nodes/document-type/DocumentType.cjs"));
|
109
|
-
const Document_js_1 = __importDefault(require("../nodes/document/Document.cjs"));
|
110
90
|
const DocumentReadyStateEnum_js_1 = __importDefault(require("../nodes/document/DocumentReadyStateEnum.cjs"));
|
111
91
|
const DocumentReadyStateManager_js_1 = __importDefault(require("../nodes/document/DocumentReadyStateManager.cjs"));
|
112
92
|
const DOMRect_js_1 = __importDefault(require("../nodes/element/DOMRect.cjs"));
|
113
93
|
const DOMRectReadOnly_js_1 = __importDefault(require("../nodes/element/DOMRectReadOnly.cjs"));
|
114
94
|
const Element_js_1 = __importDefault(require("../nodes/element/Element.cjs"));
|
115
95
|
const HTMLCollection_js_1 = __importDefault(require("../nodes/element/HTMLCollection.cjs"));
|
116
|
-
const NamedNodeMap_js_1 = __importDefault(require("../nodes/element/NamedNodeMap.cjs"));
|
117
96
|
const HTMLAnchorElement_js_1 = __importDefault(require("../nodes/html-anchor-element/HTMLAnchorElement.cjs"));
|
118
97
|
const HTMLAreaElement_js_1 = __importDefault(require("../nodes/html-area-element/HTMLAreaElement.cjs"));
|
119
|
-
const Audio_js_1 = __importDefault(require("../nodes/html-audio-element/Audio.cjs"));
|
120
98
|
const HTMLAudioElement_js_1 = __importDefault(require("../nodes/html-audio-element/HTMLAudioElement.cjs"));
|
121
99
|
const HTMLBaseElement_js_1 = __importDefault(require("../nodes/html-base-element/HTMLBaseElement.cjs"));
|
122
100
|
const HTMLBodyElement_js_1 = __importDefault(require("../nodes/html-body-element/HTMLBodyElement.cjs"));
|
@@ -129,7 +107,6 @@ const HTMLDataListElement_js_1 = __importDefault(require("../nodes/html-data-lis
|
|
129
107
|
const HTMLDetailsElement_js_1 = __importDefault(require("../nodes/html-details-element/HTMLDetailsElement.cjs"));
|
130
108
|
const HTMLDialogElement_js_1 = __importDefault(require("../nodes/html-dialog-element/HTMLDialogElement.cjs"));
|
131
109
|
const HTMLDivElement_js_1 = __importDefault(require("../nodes/html-div-element/HTMLDivElement.cjs"));
|
132
|
-
const HTMLDocument_js_1 = __importDefault(require("../nodes/html-document/HTMLDocument.cjs"));
|
133
110
|
const HTMLElement_js_1 = __importDefault(require("../nodes/html-element/HTMLElement.cjs"));
|
134
111
|
const HTMLEmbedElement_js_1 = __importDefault(require("../nodes/html-embed-element/HTMLEmbedElement.cjs"));
|
135
112
|
const HTMLFieldSetElement_js_1 = __importDefault(require("../nodes/html-field-set-element/HTMLFieldSetElement.cjs"));
|
@@ -142,7 +119,6 @@ const HTMLHRElement_js_1 = __importDefault(require("../nodes/html-hr-element/HTM
|
|
142
119
|
const HTMLHtmlElement_js_1 = __importDefault(require("../nodes/html-html-element/HTMLHtmlElement.cjs"));
|
143
120
|
const HTMLIFrameElement_js_1 = __importDefault(require("../nodes/html-iframe-element/HTMLIFrameElement.cjs"));
|
144
121
|
const HTMLImageElement_js_1 = __importDefault(require("../nodes/html-image-element/HTMLImageElement.cjs"));
|
145
|
-
const Image_js_1 = __importDefault(require("../nodes/html-image-element/Image.cjs"));
|
146
122
|
const FileList_js_1 = __importDefault(require("../nodes/html-input-element/FileList.cjs"));
|
147
123
|
const HTMLInputElement_js_1 = __importDefault(require("../nodes/html-input-element/HTMLInputElement.cjs"));
|
148
124
|
const HTMLLabelElement_js_1 = __importDefault(require("../nodes/html-label-element/HTMLLabelElement.cjs"));
|
@@ -151,15 +127,8 @@ const HTMLLIElement_js_1 = __importDefault(require("../nodes/html-li-element/HTM
|
|
151
127
|
const HTMLLinkElement_js_1 = __importDefault(require("../nodes/html-link-element/HTMLLinkElement.cjs"));
|
152
128
|
const HTMLMapElement_js_1 = __importDefault(require("../nodes/html-map-element/HTMLMapElement.cjs"));
|
153
129
|
const HTMLMediaElement_js_1 = __importDefault(require("../nodes/html-media-element/HTMLMediaElement.cjs"));
|
154
|
-
const MediaStream_js_1 = __importDefault(require("../nodes/html-media-element/MediaStream.cjs"));
|
155
|
-
const MediaStreamTrack_js_1 = __importDefault(require("../nodes/html-media-element/MediaStreamTrack.cjs"));
|
156
|
-
const RemotePlayback_js_1 = __importDefault(require("../nodes/html-media-element/RemotePlayback.cjs"));
|
157
|
-
const TextTrack_js_1 = __importDefault(require("../nodes/html-media-element/TextTrack.cjs"));
|
158
|
-
const TextTrackCue_js_1 = __importDefault(require("../nodes/html-media-element/TextTrackCue.cjs"));
|
159
130
|
const TextTrackCueList_js_1 = __importDefault(require("../nodes/html-media-element/TextTrackCueList.cjs"));
|
160
|
-
const TextTrackList_js_1 = __importDefault(require("../nodes/html-media-element/TextTrackList.cjs"));
|
161
131
|
const TimeRanges_js_1 = __importDefault(require("../nodes/html-media-element/TimeRanges.cjs"));
|
162
|
-
const VTTCue_js_1 = __importDefault(require("../nodes/html-media-element/VTTCue.cjs"));
|
163
132
|
const HTMLMenuElement_js_1 = __importDefault(require("../nodes/html-menu-element/HTMLMenuElement.cjs"));
|
164
133
|
const HTMLMetaElement_js_1 = __importDefault(require("../nodes/html-meta-element/HTMLMetaElement.cjs"));
|
165
134
|
const HTMLMeterElement_js_1 = __importDefault(require("../nodes/html-meter-element/HTMLMeterElement.cjs"));
|
@@ -199,32 +168,24 @@ const Node_js_1 = __importDefault(require("../nodes/node/Node.cjs"));
|
|
199
168
|
const NodeList_js_1 = __importDefault(require("../nodes/node/NodeList.cjs"));
|
200
169
|
const ProcessingInstruction_js_1 = __importDefault(require("../nodes/processing-instruction/ProcessingInstruction.cjs"));
|
201
170
|
const ShadowRoot_js_1 = __importDefault(require("../nodes/shadow-root/ShadowRoot.cjs"));
|
202
|
-
const SVGDocument_js_1 = __importDefault(require("../nodes/svg-document/SVGDocument.cjs"));
|
203
171
|
const SVGElement_js_1 = __importDefault(require("../nodes/svg-element/SVGElement.cjs"));
|
204
172
|
const SVGGraphicsElement_js_1 = __importDefault(require("../nodes/svg-element/SVGGraphicsElement.cjs"));
|
205
173
|
const SVGSVGElement_js_1 = __importDefault(require("../nodes/svg-element/SVGSVGElement.cjs"));
|
206
|
-
const Text_js_1 = __importDefault(require("../nodes/text/Text.cjs"));
|
207
|
-
const XMLDocument_js_1 = __importDefault(require("../nodes/xml-document/XMLDocument.cjs"));
|
208
|
-
const PermissionStatus_js_1 = __importDefault(require("../permissions/PermissionStatus.cjs"));
|
209
174
|
const Permissions_js_1 = __importDefault(require("../permissions/Permissions.cjs"));
|
210
|
-
const Range_js_1 = __importDefault(require("../range/Range.cjs"));
|
211
175
|
const ResizeObserver_js_1 = __importDefault(require("../resize-observer/ResizeObserver.cjs"));
|
212
176
|
const Screen_js_1 = __importDefault(require("../screen/Screen.cjs"));
|
213
|
-
const Selection_js_1 = __importDefault(require("../selection/Selection.cjs"));
|
214
177
|
const Storage_js_1 = __importDefault(require("../storage/Storage.cjs"));
|
215
178
|
const NodeFilter_js_1 = __importDefault(require("../tree-walker/NodeFilter.cjs"));
|
216
|
-
const NodeIterator_js_1 = __importDefault(require("../tree-walker/NodeIterator.cjs"));
|
217
|
-
const TreeWalker_js_1 = __importDefault(require("../tree-walker/TreeWalker.cjs"));
|
218
179
|
const URL_js_1 = __importDefault(require("../url/URL.cjs"));
|
219
180
|
const ValidityState_js_1 = __importDefault(require("../validity-state/ValidityState.cjs"));
|
220
|
-
const XMLHttpRequest_js_1 = __importDefault(require("../xml-http-request/XMLHttpRequest.cjs"));
|
221
|
-
const XMLHttpRequestEventTarget_js_1 = __importDefault(require("../xml-http-request/XMLHttpRequestEventTarget.cjs"));
|
222
|
-
const XMLHttpRequestUpload_js_1 = __importDefault(require("../xml-http-request/XMLHttpRequestUpload.cjs"));
|
223
|
-
const XMLSerializer_js_1 = __importDefault(require("../xml-serializer/XMLSerializer.cjs"));
|
224
181
|
const VMGlobalPropertyScript_js_1 = __importDefault(require("./VMGlobalPropertyScript.cjs"));
|
225
|
-
const WindowBrowserSettingsReader_js_1 = __importDefault(require("./WindowBrowserSettingsReader.cjs"));
|
226
182
|
const WindowErrorUtility_js_1 = __importDefault(require("./WindowErrorUtility.cjs"));
|
227
183
|
const WindowPageOpenUtility_js_1 = __importDefault(require("./WindowPageOpenUtility.cjs"));
|
184
|
+
const node_perf_hooks_1 = require("node:perf_hooks");
|
185
|
+
const EventPhaseEnum_js_1 = __importDefault(require("../event/EventPhaseEnum.cjs"));
|
186
|
+
const HTMLOptionsCollection_js_1 = __importDefault(require("../nodes/html-select-element/HTMLOptionsCollection.cjs"));
|
187
|
+
const WindowClassExtender_js_1 = __importDefault(require("./WindowClassExtender.cjs"));
|
188
|
+
const WindowBrowserContext_js_1 = __importDefault(require("./WindowBrowserContext.cjs"));
|
228
189
|
const TIMER = {
|
229
190
|
setTimeout: globalThis.setTimeout.bind(globalThis),
|
230
191
|
clearTimeout: globalThis.clearTimeout.bind(globalThis),
|
@@ -235,6 +196,17 @@ const TIMER = {
|
|
235
196
|
clearImmediate: globalThis.clearImmediate.bind(globalThis)
|
236
197
|
};
|
237
198
|
const IS_NODE_JS_TIMEOUT_ENVIRONMENT = setTimeout.toString().includes('new Timeout');
|
199
|
+
/**
|
200
|
+
* Class for PerformanceObserverEntryList as it is only available as an interface from Node.js.
|
201
|
+
*/
|
202
|
+
class PerformanceObserverEntryList {
|
203
|
+
/**
|
204
|
+
* Constructor.
|
205
|
+
*/
|
206
|
+
constructor() {
|
207
|
+
throw new TypeError('Illegal constructor');
|
208
|
+
}
|
209
|
+
}
|
238
210
|
/**
|
239
211
|
* Zero Timeout.
|
240
212
|
*/
|
@@ -266,15 +238,6 @@ class BrowserWindow extends EventTarget_js_1.default {
|
|
266
238
|
Element = Element_js_1.default;
|
267
239
|
CharacterData = CharacterData_js_1.default;
|
268
240
|
DocumentType = DocumentType_js_1.default;
|
269
|
-
Document;
|
270
|
-
HTMLDocument;
|
271
|
-
XMLDocument;
|
272
|
-
SVGDocument;
|
273
|
-
Text;
|
274
|
-
Comment;
|
275
|
-
Image;
|
276
|
-
DocumentFragment;
|
277
|
-
Audio;
|
278
241
|
// Element classes
|
279
242
|
HTMLAnchorElement = HTMLAnchorElement_js_1.default;
|
280
243
|
HTMLButtonElement = HTMLButtonElement_js_1.default;
|
@@ -296,10 +259,10 @@ class BrowserWindow extends EventTarget_js_1.default {
|
|
296
259
|
HTMLVideoElement = HTMLVideoElement_js_1.default;
|
297
260
|
HTMLBaseElement = HTMLBaseElement_js_1.default;
|
298
261
|
HTMLDialogElement = HTMLDialogElement_js_1.default;
|
299
|
-
HTMLScriptElement;
|
300
|
-
HTMLLinkElement;
|
301
|
-
HTMLIFrameElement;
|
302
|
-
HTMLFormElement;
|
262
|
+
HTMLScriptElement = HTMLScriptElement_js_1.default;
|
263
|
+
HTMLLinkElement = HTMLLinkElement_js_1.default;
|
264
|
+
HTMLIFrameElement = HTMLIFrameElement_js_1.default;
|
265
|
+
HTMLFormElement = HTMLFormElement_js_1.default;
|
303
266
|
HTMLUListElement = HTMLUListElement_js_1.default;
|
304
267
|
HTMLTrackElement = HTMLTrackElement_js_1.default;
|
305
268
|
HTMLTableRowElement = HTMLTableRowElement_js_1.default;
|
@@ -402,39 +365,17 @@ class BrowserWindow extends EventTarget_js_1.default {
|
|
402
365
|
UserProximityEvent = Event_js_1.default;
|
403
366
|
WebGLContextEvent = Event_js_1.default;
|
404
367
|
TextEvent = Event_js_1.default;
|
405
|
-
// Other classes
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
368
|
+
// Other classes that don't have to be bound to the Window context
|
369
|
+
Permissions = Permissions_js_1.default;
|
370
|
+
History = History_js_1.default;
|
371
|
+
Navigator = Navigator_js_1.default;
|
372
|
+
Clipboard = Clipboard_js_1.default;
|
373
|
+
TimeRanges = TimeRanges_js_1.default;
|
374
|
+
TextTrackCueList = TextTrackCueList_js_1.default;
|
375
|
+
ValidityState = ValidityState_js_1.default;
|
376
|
+
MutationRecord = MutationRecord_js_1.default;
|
411
377
|
IntersectionObserver = IntersectionObserver_js_1.default;
|
412
378
|
IntersectionObserverEntry = IntersectionObserverEntry_js_1.default;
|
413
|
-
MutationRecord = MutationRecord_js_1.default;
|
414
|
-
CSSStyleDeclaration = CSSStyleDeclaration_js_1.default;
|
415
|
-
EventTarget = EventTarget_js_1.default;
|
416
|
-
MessagePort = MessagePort_js_1.default;
|
417
|
-
DataTransfer = DataTransfer_js_1.default;
|
418
|
-
DataTransferItem = DataTransferItem_js_1.default;
|
419
|
-
DataTransferItemList = DataTransferItemList_js_1.default;
|
420
|
-
URL = URL_js_1.default;
|
421
|
-
Location = Location_js_1.default;
|
422
|
-
CustomElementRegistry = CustomElementRegistry_js_1.default;
|
423
|
-
Window = this.constructor;
|
424
|
-
XMLSerializer = XMLSerializer_js_1.default;
|
425
|
-
ResizeObserver = ResizeObserver_js_1.default;
|
426
|
-
CSSStyleSheet = CSSStyleSheet_js_1.default;
|
427
|
-
Blob = Blob_js_1.default;
|
428
|
-
File = File_js_1.default;
|
429
|
-
DOMException = DOMException_js_1.default;
|
430
|
-
History = History_js_1.default;
|
431
|
-
Screen = Screen_js_1.default;
|
432
|
-
Storage = Storage_js_1.default;
|
433
|
-
URLSearchParams = url_1.URLSearchParams;
|
434
|
-
HTMLCollection = HTMLCollection_js_1.default;
|
435
|
-
HTMLFormControlsCollection = HTMLFormControlsCollection_js_1.default;
|
436
|
-
NodeList = NodeList_js_1.default;
|
437
|
-
CSSUnitValue = CSSUnitValue_js_1.default;
|
438
379
|
CSSRule = CSSRule_js_1.default;
|
439
380
|
CSSContainerRule = CSSContainerRule_js_1.default;
|
440
381
|
CSSFontFaceRule = CSSFontFaceRule_js_1.default;
|
@@ -443,51 +384,42 @@ class BrowserWindow extends EventTarget_js_1.default {
|
|
443
384
|
CSSMediaRule = CSSMediaRule_js_1.default;
|
444
385
|
CSSStyleRule = CSSStyleRule_js_1.default;
|
445
386
|
CSSSupportsRule = CSSSupportsRule_js_1.default;
|
446
|
-
Selection = Selection_js_1.default;
|
447
|
-
Navigator = Navigator_js_1.default;
|
448
|
-
MimeType = MimeType_js_1.default;
|
449
|
-
MimeTypeArray = MimeTypeArray_js_1.default;
|
450
|
-
Plugin = Plugin_js_1.default;
|
451
|
-
PluginArray = PluginArray_js_1.default;
|
452
|
-
FileList = FileList_js_1.default;
|
453
387
|
DOMRect = DOMRect_js_1.default;
|
454
388
|
DOMRectReadOnly = DOMRectReadOnly_js_1.default;
|
389
|
+
Plugin = Plugin_js_1.default;
|
390
|
+
PluginArray = PluginArray_js_1.default;
|
391
|
+
Location = Location_js_1.default;
|
392
|
+
CustomElementRegistry = CustomElementRegistry_js_1.default;
|
393
|
+
ResizeObserver = ResizeObserver_js_1.default;
|
394
|
+
URL = URL_js_1.default;
|
395
|
+
Blob = Blob_js_1.default;
|
396
|
+
File = File_js_1.default;
|
397
|
+
Storage = Storage_js_1.default;
|
398
|
+
MimeType = MimeType_js_1.default;
|
399
|
+
MimeTypeArray = MimeTypeArray_js_1.default;
|
400
|
+
NodeFilter = NodeFilter_js_1.default;
|
401
|
+
HTMLCollection = HTMLCollection_js_1.default;
|
402
|
+
HTMLFormControlCollection = HTMLFormControlsCollection_js_1.default;
|
403
|
+
HTMLOptionsCollection = HTMLOptionsCollection_js_1.default;
|
404
|
+
NodeList = NodeList_js_1.default;
|
455
405
|
RadioNodeList = RadioNodeList_js_1.default;
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
XMLHttpRequestEventTarget = XMLHttpRequestEventTarget_js_1.default;
|
462
|
-
ReadableStream = web_1.ReadableStream;
|
406
|
+
FileList = FileList_js_1.default;
|
407
|
+
Screen = Screen_js_1.default;
|
408
|
+
Window = this.constructor;
|
409
|
+
// Node.js Classes
|
410
|
+
URLSearchParams = url_1.URLSearchParams;
|
463
411
|
WritableStream = stream_1.default.Writable;
|
412
|
+
ReadableStream = web_1.ReadableStream;
|
464
413
|
TransformStream = stream_1.default.Transform;
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
Permissions = Permissions_js_1.default;
|
469
|
-
PermissionStatus = PermissionStatus_js_1.default;
|
470
|
-
Clipboard = Clipboard_js_1.default;
|
471
|
-
ClipboardItem = ClipboardItem_js_1.default;
|
472
|
-
XMLHttpRequest;
|
473
|
-
DOMParser;
|
474
|
-
Range;
|
475
|
-
VTTCue;
|
476
|
-
TextTrack = TextTrack_js_1.default;
|
477
|
-
TextTrackCue = TextTrackCue_js_1.default;
|
478
|
-
TextTrackCueList = TextTrackCueList_js_1.default;
|
479
|
-
FileReader;
|
480
|
-
TimeRanges = TimeRanges_js_1.default;
|
481
|
-
RemotePlayback = RemotePlayback_js_1.default;
|
482
|
-
MediaStream = MediaStream_js_1.default;
|
483
|
-
MediaStreamTrack = MediaStreamTrack_js_1.default;
|
484
|
-
TextTrackList = TextTrackList_js_1.default;
|
414
|
+
PerformanceObserver = node_perf_hooks_1.PerformanceObserver;
|
415
|
+
PerformanceEntry = node_perf_hooks_1.PerformanceEntry;
|
416
|
+
PerformanceObserverEntryList = PerformanceObserverEntryList;
|
485
417
|
// Events
|
486
418
|
onload = null;
|
487
419
|
onerror = null;
|
488
420
|
// Public properties.
|
489
421
|
document;
|
490
|
-
customElements;
|
422
|
+
customElements = new CustomElementRegistry_js_1.default(this);
|
491
423
|
window = this;
|
492
424
|
globalThis = this;
|
493
425
|
performance = performance;
|
@@ -503,10 +435,8 @@ class BrowserWindow extends EventTarget_js_1.default {
|
|
503
435
|
// Public internal properties
|
504
436
|
// Used for tracking capture event listeners to improve performance when they are not used.
|
505
437
|
// See EventTarget class.
|
506
|
-
[PropertySymbol.captureEventListenerCount] = {};
|
507
438
|
[PropertySymbol.mutationObservers] = [];
|
508
439
|
[PropertySymbol.readyStateManager] = new DocumentReadyStateManager_js_1.default(this);
|
509
|
-
[PropertySymbol.asyncTaskManager] = null;
|
510
440
|
[PropertySymbol.location];
|
511
441
|
[PropertySymbol.history];
|
512
442
|
[PropertySymbol.navigator];
|
@@ -516,6 +446,8 @@ class BrowserWindow extends EventTarget_js_1.default {
|
|
516
446
|
[PropertySymbol.self] = this;
|
517
447
|
[PropertySymbol.top] = this;
|
518
448
|
[PropertySymbol.parent] = this;
|
449
|
+
[PropertySymbol.window] = this;
|
450
|
+
[PropertySymbol.internalId] = -1;
|
519
451
|
// Private properties
|
520
452
|
#browserFrame;
|
521
453
|
#innerWidth = null;
|
@@ -524,6 +456,7 @@ class BrowserWindow extends EventTarget_js_1.default {
|
|
524
456
|
#outerHeight = null;
|
525
457
|
#devicePixelRatio = null;
|
526
458
|
#zeroDelayTimeout = { timeouts: null };
|
459
|
+
#timerLoopStacks = [];
|
527
460
|
/**
|
528
461
|
* Constructor.
|
529
462
|
*
|
@@ -533,144 +466,33 @@ class BrowserWindow extends EventTarget_js_1.default {
|
|
533
466
|
*/
|
534
467
|
constructor(browserFrame, options) {
|
535
468
|
super();
|
536
|
-
const asyncTaskManager = browserFrame[PropertySymbol.asyncTaskManager];
|
537
469
|
this.#browserFrame = browserFrame;
|
538
|
-
this.
|
470
|
+
this.console = browserFrame.page.console;
|
539
471
|
this[PropertySymbol.navigator] = new Navigator_js_1.default(this);
|
540
472
|
this[PropertySymbol.screen] = new Screen_js_1.default();
|
541
473
|
this[PropertySymbol.sessionStorage] = new Storage_js_1.default();
|
542
474
|
this[PropertySymbol.localStorage] = new Storage_js_1.default();
|
543
475
|
this[PropertySymbol.location] = new Location_js_1.default(this.#browserFrame, options?.url ?? 'about:blank');
|
544
476
|
this[PropertySymbol.history] = new History_js_1.default(this.#browserFrame, this);
|
545
|
-
this
|
546
|
-
this.console = browserFrame.page.console;
|
547
|
-
WindowBrowserSettingsReader_js_1.default.setSettings(this, this.#browserFrame.page.context.browser.settings);
|
548
|
-
const window = this;
|
477
|
+
WindowBrowserContext_js_1.default.setWindowBrowserFrameRelation(this, this.#browserFrame);
|
549
478
|
this[PropertySymbol.setupVMContext]();
|
550
|
-
|
551
|
-
// For classes that need to be bound to the correct context to be instantiable using the "new" keyword.
|
552
|
-
/* eslint-disable jsdoc/require-jsdoc */
|
553
|
-
class Request extends Request_js_1.default {
|
554
|
-
constructor(input, init) {
|
555
|
-
super({ window, asyncTaskManager }, input, init);
|
556
|
-
}
|
557
|
-
}
|
558
|
-
class Response extends Response_js_1.default {
|
559
|
-
static [PropertySymbol.window] = window;
|
560
|
-
constructor(body, init) {
|
561
|
-
super({ window, browserFrame }, body, init);
|
562
|
-
}
|
563
|
-
}
|
564
|
-
class XMLHttpRequest extends XMLHttpRequest_js_1.default {
|
565
|
-
constructor() {
|
566
|
-
super({ window, browserFrame });
|
567
|
-
}
|
568
|
-
}
|
569
|
-
class FileReader extends FileReader_js_1.default {
|
570
|
-
constructor() {
|
571
|
-
super(window);
|
572
|
-
}
|
573
|
-
}
|
574
|
-
class DOMParser extends DOMParser_js_1.default {
|
575
|
-
constructor() {
|
576
|
-
super(window);
|
577
|
-
}
|
578
|
-
}
|
579
|
-
class Range extends Range_js_1.default {
|
580
|
-
constructor() {
|
581
|
-
super(window);
|
582
|
-
}
|
583
|
-
}
|
584
|
-
class VTTCue extends VTTCue_js_1.default {
|
585
|
-
constructor(startTime, endTime, text) {
|
586
|
-
super(window, startTime, endTime, text);
|
587
|
-
}
|
588
|
-
}
|
589
|
-
class HTMLScriptElement extends HTMLScriptElement_js_1.default {
|
590
|
-
constructor() {
|
591
|
-
super(browserFrame);
|
592
|
-
}
|
593
|
-
}
|
594
|
-
class HTMLLinkElement extends HTMLLinkElement_js_1.default {
|
595
|
-
constructor() {
|
596
|
-
super(browserFrame);
|
597
|
-
}
|
598
|
-
}
|
599
|
-
class HTMLIFrameElement extends HTMLIFrameElement_js_1.default {
|
600
|
-
constructor() {
|
601
|
-
super(browserFrame);
|
602
|
-
}
|
603
|
-
}
|
604
|
-
class HTMLFormElement extends HTMLFormElement_js_1.default {
|
605
|
-
constructor() {
|
606
|
-
super(browserFrame);
|
607
|
-
}
|
608
|
-
}
|
609
|
-
class Document extends Document_js_1.default {
|
610
|
-
constructor() {
|
611
|
-
super({ window, browserFrame });
|
612
|
-
}
|
613
|
-
}
|
614
|
-
class HTMLDocument extends HTMLDocument_js_1.default {
|
615
|
-
constructor() {
|
616
|
-
super({ window, browserFrame });
|
617
|
-
}
|
618
|
-
}
|
619
|
-
class XMLDocument extends XMLDocument_js_1.default {
|
620
|
-
constructor() {
|
621
|
-
super({ window, browserFrame });
|
622
|
-
}
|
623
|
-
}
|
624
|
-
class SVGDocument extends SVGDocument_js_1.default {
|
625
|
-
constructor() {
|
626
|
-
super({ window, browserFrame });
|
627
|
-
}
|
628
|
-
}
|
629
|
-
class Audio extends Audio_js_1.default {
|
630
|
-
}
|
631
|
-
class Image extends Image_js_1.default {
|
632
|
-
}
|
633
|
-
class DocumentFragment extends DocumentFragment_js_1.default {
|
634
|
-
}
|
635
|
-
class Text extends Text_js_1.default {
|
636
|
-
}
|
637
|
-
class Comment extends Comment_js_1.default {
|
638
|
-
}
|
639
|
-
/* eslint-enable jsdoc/require-jsdoc */
|
640
|
-
this.Response = Response;
|
641
|
-
this.Request = Request;
|
642
|
-
this.Image = Image;
|
643
|
-
this.Text = Text;
|
644
|
-
this.Comment = Comment;
|
645
|
-
this.DocumentFragment = DocumentFragment;
|
646
|
-
this.FileReader = FileReader;
|
647
|
-
this.DOMParser = DOMParser;
|
648
|
-
this.VTTCue = VTTCue;
|
649
|
-
this.XMLHttpRequest = XMLHttpRequest;
|
650
|
-
this.Range = Range;
|
651
|
-
this.Audio = Audio;
|
652
|
-
this.HTMLScriptElement = HTMLScriptElement;
|
653
|
-
this.HTMLLinkElement = HTMLLinkElement;
|
654
|
-
this.HTMLIFrameElement = HTMLIFrameElement;
|
655
|
-
this.HTMLFormElement = HTMLFormElement;
|
656
|
-
this.Document = Document;
|
657
|
-
this.HTMLDocument = HTMLDocument;
|
658
|
-
this.XMLDocument = XMLDocument;
|
659
|
-
this.SVGDocument = SVGDocument;
|
479
|
+
WindowClassExtender_js_1.default.extendClass(this);
|
660
480
|
// Document
|
661
|
-
this.document = new HTMLDocument();
|
481
|
+
this.document = new this.HTMLDocument();
|
662
482
|
this.document[PropertySymbol.defaultView] = this;
|
663
|
-
// Override owner document
|
664
|
-
this.Audio[PropertySymbol.ownerDocument] = this.document;
|
665
|
-
this.Image[PropertySymbol.ownerDocument] = this.document;
|
666
|
-
this.DocumentFragment[PropertySymbol.ownerDocument] = this.document;
|
667
|
-
this.Text[PropertySymbol.ownerDocument] = this.document;
|
668
|
-
this.Comment[PropertySymbol.ownerDocument] = this.document;
|
669
483
|
// Ready state manager
|
670
484
|
this[PropertySymbol.readyStateManager].waitUntilComplete().then(() => {
|
671
485
|
this.document[PropertySymbol.readyState] = DocumentReadyStateEnum_js_1.default.complete;
|
672
486
|
this.document.dispatchEvent(new Event_js_1.default('readystatechange'));
|
673
|
-
|
487
|
+
// Not sure why target is set to document here, but this is how it works in the browser
|
488
|
+
const loadEvent = new Event_js_1.default('load');
|
489
|
+
loadEvent[PropertySymbol.currentTarget] = this.document;
|
490
|
+
loadEvent[PropertySymbol.target] = this.document;
|
491
|
+
loadEvent[PropertySymbol.eventPhase] = EventPhaseEnum_js_1.default.atTarget;
|
492
|
+
this.dispatchEvent(loadEvent);
|
493
|
+
loadEvent[PropertySymbol.target] = null;
|
494
|
+
loadEvent[PropertySymbol.currentTarget] = null;
|
495
|
+
loadEvent[PropertySymbol.eventPhase] = EventPhaseEnum_js_1.default.none;
|
674
496
|
});
|
675
497
|
ClassMethodBinder_js_1.default.bindMethods(this, [EventTarget_js_1.default, BrowserWindow]);
|
676
498
|
}
|
@@ -1009,7 +831,7 @@ class BrowserWindow extends EventTarget_js_1.default {
|
|
1009
831
|
* @returns A new MediaQueryList.
|
1010
832
|
*/
|
1011
833
|
matchMedia(mediaQueryString) {
|
1012
|
-
return new MediaQueryList_js_1.default({
|
834
|
+
return new MediaQueryList_js_1.default({ window: this, media: mediaQueryString });
|
1013
835
|
}
|
1014
836
|
/**
|
1015
837
|
* Sets a timer which executes a function once the timer expires.
|
@@ -1020,17 +842,30 @@ class BrowserWindow extends EventTarget_js_1.default {
|
|
1020
842
|
* @returns Timeout ID.
|
1021
843
|
*/
|
1022
844
|
setTimeout(callback, delay = 0, ...args) {
|
845
|
+
if (this.closed) {
|
846
|
+
return;
|
847
|
+
}
|
848
|
+
const settings = this.#browserFrame.page?.context?.browser?.settings;
|
849
|
+
if (settings.timer.preventTimerLoops) {
|
850
|
+
const stack = new Error().stack;
|
851
|
+
const timerLoopStacks = this.#timerLoopStacks;
|
852
|
+
if (timerLoopStacks.includes(stack)) {
|
853
|
+
return;
|
854
|
+
}
|
855
|
+
timerLoopStacks.push(stack);
|
856
|
+
}
|
1023
857
|
// We can group timeouts with a delay of 0 into one timeout to improve performance.
|
1024
858
|
// Grouping timeouts will also improve the performance of the async task manager.
|
1025
859
|
// It also makes the async task manager more stable as many timeouts may cause waitUntilComplete() to be resolved too early.
|
1026
860
|
if (!delay) {
|
1027
861
|
const zeroDelayTimeout = this.#zeroDelayTimeout;
|
1028
862
|
if (!zeroDelayTimeout.timeouts) {
|
1029
|
-
const settings = this.#browserFrame.page?.context?.browser?.settings;
|
1030
863
|
const useTryCatch = !settings ||
|
1031
864
|
(!settings.disableErrorCapturing &&
|
1032
865
|
settings.errorCapture === BrowserErrorCaptureEnum_js_1.default.tryAndCatch);
|
1033
866
|
const id = TIMER.setTimeout(() => {
|
867
|
+
// We need to call endTimer() before the callback as the callback might throw an error.
|
868
|
+
this.#browserFrame[PropertySymbol.asyncTaskManager].endTimer(id);
|
1034
869
|
const timeouts = zeroDelayTimeout.timeouts;
|
1035
870
|
zeroDelayTimeout.timeouts = null;
|
1036
871
|
for (const timeout of timeouts) {
|
@@ -1041,7 +876,6 @@ class BrowserWindow extends EventTarget_js_1.default {
|
|
1041
876
|
timeout.callback();
|
1042
877
|
}
|
1043
878
|
}
|
1044
|
-
this.#browserFrame[PropertySymbol.asyncTaskManager].endTimer(id);
|
1045
879
|
});
|
1046
880
|
zeroDelayTimeout.timeouts = [];
|
1047
881
|
this.#browserFrame[PropertySymbol.asyncTaskManager].startTimer(id);
|
@@ -1050,18 +884,18 @@ class BrowserWindow extends EventTarget_js_1.default {
|
|
1050
884
|
zeroDelayTimeout.timeouts.push(timeout);
|
1051
885
|
return timeout;
|
1052
886
|
}
|
1053
|
-
const settings = this.#browserFrame.page?.context?.browser?.settings;
|
1054
887
|
const useTryCatch = !settings ||
|
1055
888
|
(!settings.disableErrorCapturing &&
|
1056
889
|
settings.errorCapture === BrowserErrorCaptureEnum_js_1.default.tryAndCatch);
|
1057
890
|
const id = TIMER.setTimeout(() => {
|
891
|
+
// We need to call endTimer() before the callback as the callback might throw an error.
|
892
|
+
this.#browserFrame[PropertySymbol.asyncTaskManager].endTimer(id);
|
1058
893
|
if (useTryCatch) {
|
1059
894
|
WindowErrorUtility_js_1.default.captureError(this, () => callback(...args));
|
1060
895
|
}
|
1061
896
|
else {
|
1062
897
|
callback(...args);
|
1063
898
|
}
|
1064
|
-
this.#browserFrame[PropertySymbol.asyncTaskManager].endTimer(id);
|
1065
899
|
}, settings?.timer.maxTimeout !== -1 && delay && delay > settings?.timer.maxTimeout
|
1066
900
|
? settings?.timer.maxTimeout
|
1067
901
|
: delay);
|
@@ -1102,6 +936,9 @@ class BrowserWindow extends EventTarget_js_1.default {
|
|
1102
936
|
* @returns Interval ID.
|
1103
937
|
*/
|
1104
938
|
setInterval(callback, delay = 0, ...args) {
|
939
|
+
if (this.closed) {
|
940
|
+
return;
|
941
|
+
}
|
1105
942
|
const settings = this.#browserFrame.page?.context?.browser?.settings;
|
1106
943
|
const useTryCatch = !settings ||
|
1107
944
|
(!settings.disableErrorCapturing &&
|
@@ -1147,18 +984,30 @@ class BrowserWindow extends EventTarget_js_1.default {
|
|
1147
984
|
* @returns ID.
|
1148
985
|
*/
|
1149
986
|
requestAnimationFrame(callback) {
|
987
|
+
if (this.closed) {
|
988
|
+
return;
|
989
|
+
}
|
1150
990
|
const settings = this.#browserFrame.page?.context?.browser?.settings;
|
991
|
+
if (settings.timer.preventTimerLoops) {
|
992
|
+
const stack = new Error().stack;
|
993
|
+
const timerLoopStacks = this.#timerLoopStacks;
|
994
|
+
if (timerLoopStacks.includes(stack)) {
|
995
|
+
return;
|
996
|
+
}
|
997
|
+
timerLoopStacks.push(stack);
|
998
|
+
}
|
1151
999
|
const useTryCatch = !settings ||
|
1152
1000
|
(!settings.disableErrorCapturing &&
|
1153
1001
|
settings.errorCapture === BrowserErrorCaptureEnum_js_1.default.tryAndCatch);
|
1154
1002
|
const id = TIMER.setImmediate(() => {
|
1003
|
+
// We need to call endImmediate() before the callback as the callback might throw an error.
|
1004
|
+
this.#browserFrame[PropertySymbol.asyncTaskManager].endImmediate(id);
|
1155
1005
|
if (useTryCatch) {
|
1156
1006
|
WindowErrorUtility_js_1.default.captureError(this, () => callback(this.performance.now()));
|
1157
1007
|
}
|
1158
1008
|
else {
|
1159
1009
|
callback(this.performance.now());
|
1160
1010
|
}
|
1161
|
-
this.#browserFrame[PropertySymbol.asyncTaskManager].endImmediate(id);
|
1162
1011
|
});
|
1163
1012
|
this.#browserFrame[PropertySymbol.asyncTaskManager].startImmediate(id);
|
1164
1013
|
return id;
|
@@ -1183,6 +1032,9 @@ class BrowserWindow extends EventTarget_js_1.default {
|
|
1183
1032
|
* @param callback Function to be executed.
|
1184
1033
|
*/
|
1185
1034
|
queueMicrotask(callback) {
|
1035
|
+
if (this.closed) {
|
1036
|
+
return;
|
1037
|
+
}
|
1186
1038
|
let isAborted = false;
|
1187
1039
|
const taskId = this.#browserFrame[PropertySymbol.asyncTaskManager].startTask(() => (isAborted = true));
|
1188
1040
|
const settings = this.#browserFrame.page?.context?.browser?.settings;
|
@@ -1191,13 +1043,14 @@ class BrowserWindow extends EventTarget_js_1.default {
|
|
1191
1043
|
settings.errorCapture === BrowserErrorCaptureEnum_js_1.default.tryAndCatch);
|
1192
1044
|
TIMER.queueMicrotask(() => {
|
1193
1045
|
if (!isAborted) {
|
1046
|
+
// We need to call endTask() before the callback as the callback might throw an error.
|
1047
|
+
this.#browserFrame[PropertySymbol.asyncTaskManager].endTask(taskId);
|
1194
1048
|
if (useTryCatch) {
|
1195
1049
|
WindowErrorUtility_js_1.default.captureError(this, callback);
|
1196
1050
|
}
|
1197
1051
|
else {
|
1198
1052
|
callback();
|
1199
1053
|
}
|
1200
|
-
this.#browserFrame[PropertySymbol.asyncTaskManager].endTask(taskId);
|
1201
1054
|
}
|
1202
1055
|
});
|
1203
1056
|
}
|
@@ -1209,6 +1062,9 @@ class BrowserWindow extends EventTarget_js_1.default {
|
|
1209
1062
|
* @returns Promise.
|
1210
1063
|
*/
|
1211
1064
|
async fetch(url, init) {
|
1065
|
+
if (this.closed) {
|
1066
|
+
return Promise.reject(new this.DOMException("Failed to execute 'fetch' on 'Window': The window is closed.", DOMExceptionNameEnum_js_1.default.invalidStateError));
|
1067
|
+
}
|
1212
1068
|
return await new Fetch_js_1.default({
|
1213
1069
|
browserFrame: this.#browserFrame,
|
1214
1070
|
window: this,
|
@@ -1247,14 +1103,17 @@ class BrowserWindow extends EventTarget_js_1.default {
|
|
1247
1103
|
*/
|
1248
1104
|
postMessage(message, targetOrigin = '*', _transfer) {
|
1249
1105
|
// TODO: Implement transfer.
|
1106
|
+
if (this.closed) {
|
1107
|
+
return;
|
1108
|
+
}
|
1250
1109
|
if (targetOrigin && targetOrigin !== '*' && this.location.origin !== targetOrigin) {
|
1251
|
-
throw new
|
1110
|
+
throw new this.DOMException(`Failed to execute 'postMessage' on 'Window': The target origin provided ('${targetOrigin}') does not match the recipient window\'s origin ('${this.location.origin}').`, DOMExceptionNameEnum_js_1.default.securityError);
|
1252
1111
|
}
|
1253
1112
|
try {
|
1254
1113
|
JSON.stringify(message);
|
1255
1114
|
}
|
1256
1115
|
catch (error) {
|
1257
|
-
throw new
|
1116
|
+
throw new this.DOMException(`Failed to execute 'postMessage' on 'Window': The provided message cannot be serialized.`, DOMExceptionNameEnum_js_1.default.invalidStateError);
|
1258
1117
|
}
|
1259
1118
|
this.setTimeout(() => this.dispatchEvent(new MessageEvent_js_1.default('message', {
|
1260
1119
|
data: message,
|
@@ -1274,8 +1133,11 @@ class BrowserWindow extends EventTarget_js_1.default {
|
|
1274
1133
|
* @param height Height.
|
1275
1134
|
*/
|
1276
1135
|
resizeTo(width, height) {
|
1136
|
+
if (this.closed) {
|
1137
|
+
return;
|
1138
|
+
}
|
1277
1139
|
if (!width || !height) {
|
1278
|
-
throw new
|
1140
|
+
throw new this.DOMException(`Failed to execute 'resizeTo' on 'Window': 2 arguments required, but only ${arguments.length} present.`);
|
1279
1141
|
}
|
1280
1142
|
// We can only resize the window if it is a popup.
|
1281
1143
|
if (this.#browserFrame[PropertySymbol.popup]) {
|
@@ -1289,8 +1151,11 @@ class BrowserWindow extends EventTarget_js_1.default {
|
|
1289
1151
|
* @param height Height.
|
1290
1152
|
*/
|
1291
1153
|
resizeBy(width, height) {
|
1154
|
+
if (this.closed) {
|
1155
|
+
return;
|
1156
|
+
}
|
1292
1157
|
if (!width || !height) {
|
1293
|
-
throw new
|
1158
|
+
throw new this.DOMException(`Failed to execute 'resizeBy' on 'Window': 2 arguments required, but only ${arguments.length} present.`);
|
1294
1159
|
}
|
1295
1160
|
// We can only resize the window if it is a popup.
|
1296
1161
|
if (this.#browserFrame[PropertySymbol.popup]) {
|
@@ -1327,11 +1192,6 @@ class BrowserWindow extends EventTarget_js_1.default {
|
|
1327
1192
|
this[PropertySymbol.mutationObservers] = [];
|
1328
1193
|
this[PropertySymbol.asyncTaskManager] = null;
|
1329
1194
|
this[PropertySymbol.mutationObservers] = [];
|
1330
|
-
this.Audio[PropertySymbol.ownerDocument] = null;
|
1331
|
-
this.Image[PropertySymbol.ownerDocument] = null;
|
1332
|
-
this.DocumentFragment[PropertySymbol.ownerDocument] = null;
|
1333
|
-
this.Text[PropertySymbol.ownerDocument] = null;
|
1334
|
-
this.Comment[PropertySymbol.ownerDocument] = null;
|
1335
1195
|
// Disconnects nodes from the document, so that they can be garbage collected.
|
1336
1196
|
const childNodes = this.document[PropertySymbol.nodeArray];
|
1337
1197
|
while (childNodes.length > 0) {
|
@@ -1341,6 +1201,16 @@ class BrowserWindow extends EventTarget_js_1.default {
|
|
1341
1201
|
}
|
1342
1202
|
this.document.removeChild(childNodes[0]);
|
1343
1203
|
}
|
1204
|
+
// Create some empty elements for scripts that are still running.
|
1205
|
+
const htmlElement = this.document.createElement('html');
|
1206
|
+
const headElement = this.document.createElement('head');
|
1207
|
+
const bodyElement = this.document.createElement('body');
|
1208
|
+
htmlElement.appendChild(headElement);
|
1209
|
+
htmlElement.appendChild(bodyElement);
|
1210
|
+
this.document.appendChild(htmlElement);
|
1211
|
+
if (this.location[PropertySymbol.destroy]) {
|
1212
|
+
this.location[PropertySymbol.destroy]();
|
1213
|
+
}
|
1344
1214
|
if (this.customElements[PropertySymbol.destroy]) {
|
1345
1215
|
this.customElements[PropertySymbol.destroy]();
|
1346
1216
|
}
|
@@ -1351,7 +1221,7 @@ class BrowserWindow extends EventTarget_js_1.default {
|
|
1351
1221
|
this.document[PropertySymbol.nextActiveElement] = null;
|
1352
1222
|
this.document[PropertySymbol.currentScript] = null;
|
1353
1223
|
this.document[PropertySymbol.selection] = null;
|
1354
|
-
|
1224
|
+
WindowBrowserContext_js_1.default.removeWindowBrowserFrameRelation(this);
|
1355
1225
|
}
|
1356
1226
|
}
|
1357
1227
|
exports.default = BrowserWindow;
|