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
package/src/fetch/AbortSignal.ts
CHANGED
@@ -2,7 +2,7 @@ import EventTarget from '../event/EventTarget.js';
|
|
2
2
|
import * as PropertySymbol from '../PropertySymbol.js';
|
3
3
|
import Event from '../event/Event.js';
|
4
4
|
import DOMExceptionNameEnum from '../exception/DOMExceptionNameEnum.js';
|
5
|
-
import
|
5
|
+
import BrowserWindow from '../window/BrowserWindow.js';
|
6
6
|
|
7
7
|
/**
|
8
8
|
* AbortSignal.
|
@@ -10,10 +10,30 @@ import DOMException from '../exception/DOMException.js';
|
|
10
10
|
* @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal
|
11
11
|
*/
|
12
12
|
export default class AbortSignal extends EventTarget {
|
13
|
+
// Injected by WindowClassExtender
|
14
|
+
protected declare static [PropertySymbol.window]: BrowserWindow;
|
15
|
+
protected declare [PropertySymbol.window]: BrowserWindow;
|
16
|
+
|
17
|
+
// Public properties
|
13
18
|
public readonly aborted: boolean = false;
|
14
19
|
public readonly reason: Error | null = null;
|
20
|
+
|
21
|
+
// Events
|
15
22
|
public onabort: ((this: AbortSignal, event: Event) => void) | null = null;
|
16
23
|
|
24
|
+
/**
|
25
|
+
* Constructor.
|
26
|
+
*/
|
27
|
+
constructor() {
|
28
|
+
super();
|
29
|
+
|
30
|
+
if (!this[PropertySymbol.window]) {
|
31
|
+
throw new TypeError(
|
32
|
+
`Failed to construct '${this.constructor.name}': '${this.constructor.name}' was constructed outside a Window context.`
|
33
|
+
);
|
34
|
+
}
|
35
|
+
}
|
36
|
+
|
17
37
|
/**
|
18
38
|
* Return a default description for the AbortSignal class.
|
19
39
|
*/
|
@@ -32,7 +52,10 @@ export default class AbortSignal extends EventTarget {
|
|
32
52
|
}
|
33
53
|
(<Error>this.reason) =
|
34
54
|
reason ||
|
35
|
-
new DOMException(
|
55
|
+
new this[PropertySymbol.window].DOMException(
|
56
|
+
'signal is aborted without reason',
|
57
|
+
DOMExceptionNameEnum.abortError
|
58
|
+
);
|
36
59
|
(<boolean>this.aborted) = true;
|
37
60
|
this.dispatchEvent(new Event('abort'));
|
38
61
|
}
|
@@ -53,10 +76,13 @@ export default class AbortSignal extends EventTarget {
|
|
53
76
|
* @returns AbortSignal instance.
|
54
77
|
*/
|
55
78
|
public static abort(reason?: Error): AbortSignal {
|
56
|
-
const signal = new AbortSignal();
|
79
|
+
const signal = new this[PropertySymbol.window].AbortSignal();
|
57
80
|
(<Error>signal.reason) =
|
58
81
|
reason ||
|
59
|
-
new DOMException(
|
82
|
+
new this[PropertySymbol.window].DOMException(
|
83
|
+
'signal is aborted without reason',
|
84
|
+
DOMExceptionNameEnum.abortError
|
85
|
+
);
|
60
86
|
(<boolean>signal.aborted) = true;
|
61
87
|
return signal;
|
62
88
|
}
|
package/src/fetch/Fetch.ts
CHANGED
@@ -3,7 +3,6 @@ import * as PropertySymbol from '../PropertySymbol.js';
|
|
3
3
|
import IRequestInfo from './types/IRequestInfo.js';
|
4
4
|
import Headers from './Headers.js';
|
5
5
|
import FetchRequestReferrerUtility from './utilities/FetchRequestReferrerUtility.js';
|
6
|
-
import DOMException from '../exception/DOMException.js';
|
7
6
|
import DOMExceptionNameEnum from '../exception/DOMExceptionNameEnum.js';
|
8
7
|
import HTTP, { IncomingMessage } from 'http';
|
9
8
|
import HTTPS from 'https';
|
@@ -85,7 +84,7 @@ export default class Fetch {
|
|
85
84
|
this.#window = options.window;
|
86
85
|
this.request =
|
87
86
|
typeof options.url === 'string' || options.url instanceof URL
|
88
|
-
? new options.
|
87
|
+
? new options.window.Request(options.url, options.init)
|
89
88
|
: <Request>options.url;
|
90
89
|
if (options.contentType) {
|
91
90
|
(<string>this.request[PropertySymbol.contentType]) = options.contentType;
|
@@ -105,7 +104,10 @@ export default class Fetch {
|
|
105
104
|
FetchRequestValidationUtility.validateSchema(this.request);
|
106
105
|
|
107
106
|
if (this.request.signal.aborted) {
|
108
|
-
throw new DOMException(
|
107
|
+
throw new this.#window.DOMException(
|
108
|
+
'The operation was aborted.',
|
109
|
+
DOMExceptionNameEnum.abortError
|
110
|
+
);
|
109
111
|
}
|
110
112
|
|
111
113
|
if (this.request[PropertySymbol.url].protocol === 'data:') {
|
@@ -121,8 +123,12 @@ export default class Fetch {
|
|
121
123
|
this.request[PropertySymbol.url].protocol === 'http:' &&
|
122
124
|
this.#window.location.protocol === 'https:'
|
123
125
|
) {
|
124
|
-
throw new DOMException(
|
125
|
-
`Mixed Content: The page at '${
|
126
|
+
throw new this.#window.DOMException(
|
127
|
+
`Mixed Content: The page at '${
|
128
|
+
this.#window.location.href
|
129
|
+
}' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint '${
|
130
|
+
this.request.url
|
131
|
+
}'. This request has been blocked; the content must be served over HTTPS.`,
|
126
132
|
DOMExceptionNameEnum.securityError
|
127
133
|
);
|
128
134
|
}
|
@@ -142,7 +148,7 @@ export default class Fetch {
|
|
142
148
|
this.#window.console.warn(
|
143
149
|
`Cross-Origin Request Blocked: The Same Origin Policy dissallows reading the remote resource at "${this.request.url}".`
|
144
150
|
);
|
145
|
-
throw new DOMException(
|
151
|
+
throw new this.#window.DOMException(
|
146
152
|
`Cross-Origin Request Blocked: The Same Origin Policy dissallows reading the remote resource at "${this.request.url}".`,
|
147
153
|
DOMExceptionNameEnum.networkError
|
148
154
|
);
|
@@ -342,7 +348,7 @@ export default class Fetch {
|
|
342
348
|
);
|
343
349
|
|
344
350
|
if (this.resolve) {
|
345
|
-
throw new Error('Fetch already sent.');
|
351
|
+
throw new this.#window.Error('Fetch already sent.');
|
346
352
|
}
|
347
353
|
|
348
354
|
this.resolve = (response: Response | Promise<Response>): void => {
|
@@ -417,7 +423,10 @@ export default class Fetch {
|
|
417
423
|
private onSocket(socket: Socket): void {
|
418
424
|
const onSocketClose = (): void => {
|
419
425
|
if (this.isChunkedTransfer && !this.isProperLastChunkReceived) {
|
420
|
-
const error = new DOMException(
|
426
|
+
const error = new this.#window.DOMException(
|
427
|
+
'Premature close.',
|
428
|
+
DOMExceptionNameEnum.networkError
|
429
|
+
);
|
421
430
|
|
422
431
|
if (this.response && this.response.body) {
|
423
432
|
this.response.body[PropertySymbol.error] = error;
|
@@ -469,8 +478,8 @@ export default class Fetch {
|
|
469
478
|
this.finalizeRequest();
|
470
479
|
this.#window.console.error(error);
|
471
480
|
this.reject(
|
472
|
-
new DOMException(
|
473
|
-
`
|
481
|
+
new this.#window.DOMException(
|
482
|
+
`Failed to execute "fetch()" on "Window" with URL "${this.request.url}": ${error.message}`,
|
474
483
|
DOMExceptionNameEnum.networkError
|
475
484
|
)
|
476
485
|
);
|
@@ -480,7 +489,20 @@ export default class Fetch {
|
|
480
489
|
* Triggered when the async task manager aborts.
|
481
490
|
*/
|
482
491
|
private onAsyncTaskManagerAbort(): void {
|
483
|
-
const error = new DOMException(
|
492
|
+
const error = new this.#window.DOMException(
|
493
|
+
'The operation was aborted.',
|
494
|
+
DOMExceptionNameEnum.abortError
|
495
|
+
);
|
496
|
+
|
497
|
+
this.request[PropertySymbol.aborted] = true;
|
498
|
+
|
499
|
+
if (this.request.body) {
|
500
|
+
this.request.body[PropertySymbol.error] = error;
|
501
|
+
}
|
502
|
+
|
503
|
+
if (this.listeners.onSignalAbort) {
|
504
|
+
this.request.signal.removeEventListener('abort', this.listeners.onSignalAbort);
|
505
|
+
}
|
484
506
|
|
485
507
|
if (this.nodeRequest && !this.nodeRequest.destroyed) {
|
486
508
|
this.nodeRequest.destroy(error);
|
@@ -670,7 +692,7 @@ export default class Fetch {
|
|
670
692
|
case 'error':
|
671
693
|
this.finalizeRequest();
|
672
694
|
this.reject(
|
673
|
-
new DOMException(
|
695
|
+
new this.#window.DOMException(
|
674
696
|
`URI requested responds with a redirect, redirect mode is set to "error": ${this.request.url}`,
|
675
697
|
DOMExceptionNameEnum.abortError
|
676
698
|
)
|
@@ -693,7 +715,7 @@ export default class Fetch {
|
|
693
715
|
} catch {
|
694
716
|
this.finalizeRequest();
|
695
717
|
this.reject(
|
696
|
-
new DOMException(
|
718
|
+
new this.#window.DOMException(
|
697
719
|
`URI requested responds with an invalid redirect URL: ${locationHeader}`,
|
698
720
|
DOMExceptionNameEnum.uriMismatchError
|
699
721
|
)
|
@@ -709,7 +731,7 @@ export default class Fetch {
|
|
709
731
|
if (FetchResponseRedirectUtility.isMaxRedirectsReached(this.redirectCount)) {
|
710
732
|
this.finalizeRequest();
|
711
733
|
this.reject(
|
712
|
-
new DOMException(
|
734
|
+
new this.#window.DOMException(
|
713
735
|
`Maximum redirects reached at: ${this.request.url}`,
|
714
736
|
DOMExceptionNameEnum.networkError
|
715
737
|
)
|
@@ -777,7 +799,7 @@ export default class Fetch {
|
|
777
799
|
default:
|
778
800
|
this.finalizeRequest();
|
779
801
|
this.reject(
|
780
|
-
new DOMException(
|
802
|
+
new this.#window.DOMException(
|
781
803
|
`Redirect option '${this.request.redirect}' is not a valid value of IRequestRedirect`
|
782
804
|
)
|
783
805
|
);
|
@@ -799,11 +821,17 @@ export default class Fetch {
|
|
799
821
|
* @param reason Reason.
|
800
822
|
*/
|
801
823
|
private abort(reason?: Error): void {
|
802
|
-
const error = new DOMException(
|
824
|
+
const error = new this.#window.DOMException(
|
803
825
|
'The operation was aborted.' + (reason ? ' ' + reason.toString() : ''),
|
804
826
|
DOMExceptionNameEnum.abortError
|
805
827
|
);
|
806
828
|
|
829
|
+
this.request[PropertySymbol.aborted] = true;
|
830
|
+
|
831
|
+
if (this.request.body) {
|
832
|
+
this.request.body[PropertySymbol.error] = error;
|
833
|
+
}
|
834
|
+
|
807
835
|
if (this.nodeRequest && !this.nodeRequest.destroyed) {
|
808
836
|
this.nodeRequest.destroy(error);
|
809
837
|
}
|
package/src/fetch/Request.ts
CHANGED
@@ -1,8 +1,6 @@
|
|
1
1
|
import * as PropertySymbol from '../PropertySymbol.js';
|
2
|
-
import Document from '../nodes/document/Document.js';
|
3
2
|
import IRequestInit from './types/IRequestInit.js';
|
4
3
|
import URL from '../url/URL.js';
|
5
|
-
import DOMException from '../exception/DOMException.js';
|
6
4
|
import DOMExceptionNameEnum from '../exception/DOMExceptionNameEnum.js';
|
7
5
|
import IRequestInfo from './types/IRequestInfo.js';
|
8
6
|
import Headers from './Headers.js';
|
@@ -18,8 +16,8 @@ import FetchRequestHeaderUtility from './utilities/FetchRequestHeaderUtility.js'
|
|
18
16
|
import IRequestCredentials from './types/IRequestCredentials.js';
|
19
17
|
import FormData from '../form-data/FormData.js';
|
20
18
|
import MultipartFormDataParser from './multipart/MultipartFormDataParser.js';
|
21
|
-
import AsyncTaskManager from '../async-task-manager/AsyncTaskManager.js';
|
22
19
|
import BrowserWindow from '../window/BrowserWindow.js';
|
20
|
+
import WindowBrowserContext from '../window/WindowBrowserContext.js';
|
23
21
|
|
24
22
|
/**
|
25
23
|
* Fetch request.
|
@@ -30,6 +28,9 @@ import BrowserWindow from '../window/BrowserWindow.js';
|
|
30
28
|
* @see https://fetch.spec.whatwg.org/#request-class
|
31
29
|
*/
|
32
30
|
export default class Request implements Request {
|
31
|
+
// Injected by WindowClassExtender
|
32
|
+
protected declare [PropertySymbol.window]: BrowserWindow;
|
33
|
+
|
33
34
|
// Public properties
|
34
35
|
public readonly method: string;
|
35
36
|
public readonly body: ReadableStream | null;
|
@@ -41,42 +42,39 @@ export default class Request implements Request {
|
|
41
42
|
public readonly credentials: IRequestCredentials;
|
42
43
|
|
43
44
|
// Internal properties
|
45
|
+
public [PropertySymbol.aborted]: boolean = false;
|
44
46
|
public [PropertySymbol.contentLength]: number | null = null;
|
45
47
|
public [PropertySymbol.contentType]: string | null = null;
|
46
48
|
public [PropertySymbol.referrer]: '' | 'no-referrer' | 'client' | URL = 'client';
|
47
49
|
public [PropertySymbol.url]: URL;
|
48
50
|
public [PropertySymbol.bodyBuffer]: Buffer | null;
|
49
51
|
|
50
|
-
// Private properties
|
51
|
-
readonly #window: BrowserWindow;
|
52
|
-
readonly #asyncTaskManager: AsyncTaskManager;
|
53
|
-
|
54
52
|
/**
|
55
53
|
* Constructor.
|
56
54
|
*
|
57
|
-
* @param injected Injected properties.
|
58
|
-
* @param injected.window
|
59
55
|
* @param input Input.
|
60
|
-
* @param injected.asyncTaskManager
|
61
56
|
* @param [init] Init.
|
62
57
|
*/
|
63
|
-
constructor(
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
58
|
+
constructor(input: IRequestInfo, init?: IRequestInit) {
|
59
|
+
const window = this[PropertySymbol.window];
|
60
|
+
|
61
|
+
if (!window) {
|
62
|
+
throw new TypeError(
|
63
|
+
`Failed to construct 'Request': 'Request' was constructed outside a Window context.`
|
64
|
+
);
|
65
|
+
}
|
70
66
|
|
71
67
|
if (!input) {
|
72
|
-
throw new TypeError(
|
68
|
+
throw new window.TypeError(
|
69
|
+
`Failed to contruct 'Request': 1 argument required, only 0 present.`
|
70
|
+
);
|
73
71
|
}
|
74
72
|
|
75
73
|
this.method = (init?.method || (<Request>input).method || 'GET').toUpperCase();
|
76
74
|
|
77
75
|
const { stream, buffer, contentType, contentLength } = FetchBodyUtility.getBodyStream(
|
78
76
|
input instanceof Request && (input[PropertySymbol.bodyBuffer] || input.body)
|
79
|
-
? input[PropertySymbol.bodyBuffer] || FetchBodyUtility.cloneBodyStream(input)
|
77
|
+
? input[PropertySymbol.bodyBuffer] || FetchBodyUtility.cloneBodyStream(window, input)
|
80
78
|
: init?.body
|
81
79
|
);
|
82
80
|
|
@@ -106,9 +104,9 @@ export default class Request implements Request {
|
|
106
104
|
this.referrerPolicy = <IRequestReferrerPolicy>(
|
107
105
|
(init?.referrerPolicy || (<Request>input).referrerPolicy || '').toLowerCase()
|
108
106
|
);
|
109
|
-
this.signal = init?.signal || (<Request>input).signal || new AbortSignal();
|
107
|
+
this.signal = init?.signal || (<Request>input).signal || new window.AbortSignal();
|
110
108
|
this[PropertySymbol.referrer] = FetchRequestReferrerUtility.getInitialReferrer(
|
111
|
-
|
109
|
+
window,
|
112
110
|
init?.referrer !== null && init?.referrer !== undefined
|
113
111
|
? init?.referrer
|
114
112
|
: (<Request>input).referrer
|
@@ -119,16 +117,16 @@ export default class Request implements Request {
|
|
119
117
|
} else {
|
120
118
|
try {
|
121
119
|
if (input instanceof Request && input.url) {
|
122
|
-
this[PropertySymbol.url] = new URL(input.url,
|
120
|
+
this[PropertySymbol.url] = new URL(input.url, window.location.href);
|
123
121
|
} else {
|
124
|
-
this[PropertySymbol.url] = new URL(<string>input,
|
122
|
+
this[PropertySymbol.url] = new URL(<string>input, window.location.href);
|
125
123
|
}
|
126
124
|
} catch (error) {
|
127
|
-
throw new DOMException(
|
128
|
-
`Failed to construct 'Request
|
129
|
-
|
125
|
+
throw new window.DOMException(
|
126
|
+
`Failed to construct 'Request': Invalid URL "${input}" on document location '${
|
127
|
+
window.location
|
130
128
|
}'.${
|
131
|
-
|
129
|
+
window.location.origin === 'null'
|
132
130
|
? ' Relative URLs are not permitted on current document location.'
|
133
131
|
: ''
|
134
132
|
}`,
|
@@ -144,13 +142,6 @@ export default class Request implements Request {
|
|
144
142
|
FetchRequestValidationUtility.validateRedirect(this.redirect);
|
145
143
|
}
|
146
144
|
|
147
|
-
/**
|
148
|
-
* Returns owner document.
|
149
|
-
*/
|
150
|
-
protected get [PropertySymbol.ownerDocument](): Document {
|
151
|
-
throw new Error('[PropertySymbol.ownerDocument] getter needs to be implemented by sub-class.');
|
152
|
-
}
|
153
|
-
|
154
145
|
/**
|
155
146
|
* Returns referrer.
|
156
147
|
*
|
@@ -192,26 +183,35 @@ export default class Request implements Request {
|
|
192
183
|
* @returns Array buffer.
|
193
184
|
*/
|
194
185
|
public async arrayBuffer(): Promise<ArrayBuffer> {
|
186
|
+
const window = this[PropertySymbol.window];
|
187
|
+
|
195
188
|
if (this.bodyUsed) {
|
196
|
-
throw new DOMException(
|
189
|
+
throw new window.DOMException(
|
197
190
|
`Body has already been used for "${this.url}".`,
|
198
191
|
DOMExceptionNameEnum.invalidStateError
|
199
192
|
);
|
200
193
|
}
|
201
194
|
|
195
|
+
const asyncTaskManager = new WindowBrowserContext(window).getAsyncTaskManager();
|
196
|
+
|
202
197
|
(<boolean>this.bodyUsed) = true;
|
203
198
|
|
204
|
-
const taskID =
|
199
|
+
const taskID = asyncTaskManager.startTask(() => {
|
200
|
+
if (this.body) {
|
201
|
+
this.body[PropertySymbol.aborted] = true;
|
202
|
+
}
|
203
|
+
this.signal[PropertySymbol.abort]();
|
204
|
+
});
|
205
205
|
let buffer: Buffer;
|
206
206
|
|
207
207
|
try {
|
208
|
-
buffer = await FetchBodyUtility.consumeBodyStream(this.body);
|
208
|
+
buffer = await FetchBodyUtility.consumeBodyStream(window, this.body);
|
209
209
|
} catch (error) {
|
210
|
-
|
210
|
+
asyncTaskManager.endTask(taskID);
|
211
211
|
throw error;
|
212
212
|
}
|
213
213
|
|
214
|
-
|
214
|
+
asyncTaskManager.endTask(taskID);
|
215
215
|
|
216
216
|
return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
|
217
217
|
}
|
@@ -234,26 +234,35 @@ export default class Request implements Request {
|
|
234
234
|
* @returns Buffer.
|
235
235
|
*/
|
236
236
|
public async buffer(): Promise<Buffer> {
|
237
|
+
const window = this[PropertySymbol.window];
|
238
|
+
|
237
239
|
if (this.bodyUsed) {
|
238
|
-
throw new DOMException(
|
240
|
+
throw new window.DOMException(
|
239
241
|
`Body has already been used for "${this.url}".`,
|
240
242
|
DOMExceptionNameEnum.invalidStateError
|
241
243
|
);
|
242
244
|
}
|
243
245
|
|
246
|
+
const asyncTaskManager = new WindowBrowserContext(window).getAsyncTaskManager();
|
247
|
+
|
244
248
|
(<boolean>this.bodyUsed) = true;
|
245
249
|
|
246
|
-
const taskID =
|
250
|
+
const taskID = asyncTaskManager.startTask(() => {
|
251
|
+
if (this.body) {
|
252
|
+
this.body[PropertySymbol.aborted] = true;
|
253
|
+
}
|
254
|
+
this.signal[PropertySymbol.abort]();
|
255
|
+
});
|
247
256
|
let buffer: Buffer;
|
248
257
|
|
249
258
|
try {
|
250
|
-
buffer = await FetchBodyUtility.consumeBodyStream(this.body);
|
259
|
+
buffer = await FetchBodyUtility.consumeBodyStream(window, this.body);
|
251
260
|
} catch (error) {
|
252
|
-
|
261
|
+
asyncTaskManager.endTask(taskID);
|
253
262
|
throw error;
|
254
263
|
}
|
255
264
|
|
256
|
-
|
265
|
+
asyncTaskManager.endTask(taskID);
|
257
266
|
|
258
267
|
return buffer;
|
259
268
|
}
|
@@ -264,26 +273,35 @@ export default class Request implements Request {
|
|
264
273
|
* @returns Text.
|
265
274
|
*/
|
266
275
|
public async text(): Promise<string> {
|
276
|
+
const window = this[PropertySymbol.window];
|
277
|
+
|
267
278
|
if (this.bodyUsed) {
|
268
|
-
throw new DOMException(
|
279
|
+
throw new window.DOMException(
|
269
280
|
`Body has already been used for "${this.url}".`,
|
270
281
|
DOMExceptionNameEnum.invalidStateError
|
271
282
|
);
|
272
283
|
}
|
273
284
|
|
285
|
+
const asyncTaskManager = new WindowBrowserContext(window).getAsyncTaskManager();
|
286
|
+
|
274
287
|
(<boolean>this.bodyUsed) = true;
|
275
288
|
|
276
|
-
const taskID =
|
289
|
+
const taskID = asyncTaskManager.startTask(() => {
|
290
|
+
if (this.body) {
|
291
|
+
this.body[PropertySymbol.aborted] = true;
|
292
|
+
}
|
293
|
+
this.signal[PropertySymbol.abort]();
|
294
|
+
});
|
277
295
|
let buffer: Buffer;
|
278
296
|
|
279
297
|
try {
|
280
|
-
buffer = await FetchBodyUtility.consumeBodyStream(this.body);
|
298
|
+
buffer = await FetchBodyUtility.consumeBodyStream(window, this.body);
|
281
299
|
} catch (error) {
|
282
|
-
|
300
|
+
asyncTaskManager.endTask(taskID);
|
283
301
|
throw error;
|
284
302
|
}
|
285
303
|
|
286
|
-
|
304
|
+
asyncTaskManager.endTask(taskID);
|
287
305
|
|
288
306
|
return new TextDecoder().decode(buffer);
|
289
307
|
}
|
@@ -304,12 +322,13 @@ export default class Request implements Request {
|
|
304
322
|
* @returns FormData.
|
305
323
|
*/
|
306
324
|
public async formData(): Promise<FormData> {
|
325
|
+
const window = this[PropertySymbol.window];
|
326
|
+
const asyncTaskManager = new WindowBrowserContext(window).getAsyncTaskManager();
|
307
327
|
const contentType = this[PropertySymbol.contentType];
|
308
|
-
const asyncTaskManager = this.#asyncTaskManager;
|
309
328
|
|
310
329
|
if (/multipart/i.test(contentType)) {
|
311
330
|
if (this.bodyUsed) {
|
312
|
-
throw new DOMException(
|
331
|
+
throw new window.DOMException(
|
313
332
|
`Body has already been used for "${this.url}".`,
|
314
333
|
DOMExceptionNameEnum.invalidStateError
|
315
334
|
);
|
@@ -317,11 +336,20 @@ export default class Request implements Request {
|
|
317
336
|
|
318
337
|
(<boolean>this.bodyUsed) = true;
|
319
338
|
|
320
|
-
const taskID = asyncTaskManager.startTask(() =>
|
339
|
+
const taskID = asyncTaskManager.startTask(() => {
|
340
|
+
if (this.body) {
|
341
|
+
this.body[PropertySymbol.aborted] = true;
|
342
|
+
}
|
343
|
+
this.signal[PropertySymbol.abort]();
|
344
|
+
});
|
321
345
|
let formData: FormData;
|
322
346
|
|
323
347
|
try {
|
324
|
-
const result = await MultipartFormDataParser.streamToFormData(
|
348
|
+
const result = await MultipartFormDataParser.streamToFormData(
|
349
|
+
window,
|
350
|
+
this.body,
|
351
|
+
contentType
|
352
|
+
);
|
325
353
|
formData = result.formData;
|
326
354
|
} catch (error) {
|
327
355
|
asyncTaskManager.endTask(taskID);
|
@@ -344,7 +372,7 @@ export default class Request implements Request {
|
|
344
372
|
return formData;
|
345
373
|
}
|
346
374
|
|
347
|
-
throw new DOMException(
|
375
|
+
throw new window.DOMException(
|
348
376
|
`Failed to construct FormData object: The "content-type" header is neither "application/x-www-form-urlencoded" nor "multipart/form-data".`,
|
349
377
|
DOMExceptionNameEnum.invalidStateError
|
350
378
|
);
|
@@ -356,6 +384,6 @@ export default class Request implements Request {
|
|
356
384
|
* @returns Clone.
|
357
385
|
*/
|
358
386
|
public clone(): Request {
|
359
|
-
return new this
|
387
|
+
return new this[PropertySymbol.window].Request(this);
|
360
388
|
}
|
361
389
|
}
|
@@ -1,4 +1,3 @@
|
|
1
|
-
import DOMException from '../exception/DOMException.js';
|
2
1
|
import BrowserWindow from '../window/BrowserWindow.js';
|
3
2
|
import URL from '../url/URL.js';
|
4
3
|
import IBrowserFrame from '../browser/types/IBrowserFrame.js';
|
@@ -40,7 +39,7 @@ export default class ResourceFetch {
|
|
40
39
|
const response = await fetch.send();
|
41
40
|
|
42
41
|
if (!response.ok) {
|
43
|
-
throw new DOMException(
|
42
|
+
throw new this.window.DOMException(
|
44
43
|
`Failed to perform request to "${new URL(url, this.window.location.href).href}". Status ${
|
45
44
|
response.status
|
46
45
|
} ${response.statusText}.`
|
@@ -67,7 +66,7 @@ export default class ResourceFetch {
|
|
67
66
|
const response = fetch.send();
|
68
67
|
|
69
68
|
if (!response.ok) {
|
70
|
-
throw new DOMException(
|
69
|
+
throw new this.window.DOMException(
|
71
70
|
`Failed to perform request to "${new URL(url, this.window.location.href).href}". Status ${
|
72
71
|
response.status
|
73
72
|
} ${response.statusText}.`
|