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
@@ -1,7 +1,6 @@
|
|
1
1
|
import HTMLElement from '../html-element/HTMLElement.js';
|
2
2
|
import * as PropertySymbol from '../../PropertySymbol.js';
|
3
3
|
import ValidityState from '../../validity-state/ValidityState.js';
|
4
|
-
import DOMException from '../../exception/DOMException.js';
|
5
4
|
import DOMExceptionNameEnum from '../../exception/DOMExceptionNameEnum.js';
|
6
5
|
import Event from '../../event/Event.js';
|
7
6
|
import HTMLInputElementValueSanitizer from './HTMLInputElementValueSanitizer.js';
|
@@ -48,6 +47,7 @@ export default class HTMLInputElement extends HTMLElement {
|
|
48
47
|
public [PropertySymbol.validity] = new ValidityState(this);
|
49
48
|
public [PropertySymbol.files]: FileList = new FileList();
|
50
49
|
public [PropertySymbol.formNode]: HTMLFormElement | null = null;
|
50
|
+
public [PropertySymbol.popoverTargetElement]: HTMLElement | null = null;
|
51
51
|
|
52
52
|
// Private properties
|
53
53
|
#selectionStart: number = null;
|
@@ -792,7 +792,7 @@ export default class HTMLInputElement extends HTMLElement {
|
|
792
792
|
break;
|
793
793
|
case 'file':
|
794
794
|
if (value !== '') {
|
795
|
-
throw new DOMException(
|
795
|
+
throw new this[PropertySymbol.window].DOMException(
|
796
796
|
'Input elements of type "file" may only programmatically set the value to empty string.',
|
797
797
|
DOMExceptionNameEnum.invalidStateError
|
798
798
|
);
|
@@ -836,7 +836,7 @@ export default class HTMLInputElement extends HTMLElement {
|
|
836
836
|
*/
|
837
837
|
public set selectionStart(start: number) {
|
838
838
|
if (!this.#isSelectionSupported()) {
|
839
|
-
throw new DOMException(
|
839
|
+
throw new this[PropertySymbol.window].DOMException(
|
840
840
|
`The input element's type (${this.type}) does not support selection.`,
|
841
841
|
DOMExceptionNameEnum.invalidStateError
|
842
842
|
);
|
@@ -869,7 +869,7 @@ export default class HTMLInputElement extends HTMLElement {
|
|
869
869
|
*/
|
870
870
|
public set selectionEnd(end: number) {
|
871
871
|
if (!this.#isSelectionSupported()) {
|
872
|
-
throw new DOMException(
|
872
|
+
throw new this[PropertySymbol.window].DOMException(
|
873
873
|
`The input element's type (${this.type}) does not support selection.`,
|
874
874
|
DOMExceptionNameEnum.invalidStateError
|
875
875
|
);
|
@@ -898,7 +898,7 @@ export default class HTMLInputElement extends HTMLElement {
|
|
898
898
|
*/
|
899
899
|
public set selectionDirection(direction: string) {
|
900
900
|
if (!this.#isSelectionSupported()) {
|
901
|
-
throw new DOMException(
|
901
|
+
throw new this[PropertySymbol.window].DOMException(
|
902
902
|
`The input element's type (${this.type}) does not support selection.`,
|
903
903
|
DOMExceptionNameEnum.invalidStateError
|
904
904
|
);
|
@@ -953,17 +953,17 @@ export default class HTMLInputElement extends HTMLElement {
|
|
953
953
|
public set valueAsDate(value: Date | null) {
|
954
954
|
// Specs at https://html.spec.whatwg.org/multipage/input.html#dom-input-valueasdate
|
955
955
|
if (!['date', 'month', 'time', 'week'].includes(this.type)) {
|
956
|
-
throw new DOMException(
|
956
|
+
throw new this[PropertySymbol.window].DOMException(
|
957
957
|
"Failed to set the 'valueAsDate' property on 'HTMLInputElement': This input element does not support Date values.",
|
958
958
|
DOMExceptionNameEnum.invalidStateError
|
959
959
|
);
|
960
960
|
}
|
961
961
|
if (typeof value !== 'object') {
|
962
|
-
throw new TypeError(
|
962
|
+
throw new this[PropertySymbol.window].TypeError(
|
963
963
|
"Failed to set the 'valueAsDate' property on 'HTMLInputElement': Failed to convert value to 'object'."
|
964
964
|
);
|
965
965
|
} else if (value && !(value instanceof Date)) {
|
966
|
-
throw new TypeError(
|
966
|
+
throw new this[PropertySymbol.window].TypeError(
|
967
967
|
"Failed to set the 'valueAsDate' property on 'HTMLInputElement': The provided value is not a Date."
|
968
968
|
);
|
969
969
|
} else if (value === null || isNaN(value.getTime())) {
|
@@ -1084,7 +1084,7 @@ export default class HTMLInputElement extends HTMLElement {
|
|
1084
1084
|
break;
|
1085
1085
|
}
|
1086
1086
|
default:
|
1087
|
-
throw new DOMException(
|
1087
|
+
throw new this[PropertySymbol.window].DOMException(
|
1088
1088
|
"Failed to set the 'valueAsNumber' property on 'HTMLInputElement': This input element does not support Number values.",
|
1089
1089
|
DOMExceptionNameEnum.invalidStateError
|
1090
1090
|
);
|
@@ -1115,6 +1115,51 @@ export default class HTMLInputElement extends HTMLElement {
|
|
1115
1115
|
return <HTMLDataListElement | null>rootNode.querySelector(`datalist#${id}`);
|
1116
1116
|
}
|
1117
1117
|
|
1118
|
+
/**
|
1119
|
+
* Returns popover target element.
|
1120
|
+
*
|
1121
|
+
* @returns Popover target element.
|
1122
|
+
*/
|
1123
|
+
public get popoverTargetElement(): HTMLElement | null {
|
1124
|
+
return this[PropertySymbol.popoverTargetElement];
|
1125
|
+
}
|
1126
|
+
|
1127
|
+
/**
|
1128
|
+
* Sets popover target element.
|
1129
|
+
*
|
1130
|
+
* @param popoverTargetElement Popover target element.
|
1131
|
+
*/
|
1132
|
+
public set popoverTargetElement(popoverTargetElement: HTMLElement | null) {
|
1133
|
+
if (popoverTargetElement !== null && !(popoverTargetElement instanceof HTMLElement)) {
|
1134
|
+
throw new this[PropertySymbol.window].TypeError(
|
1135
|
+
`Failed to set the 'popoverTargetElement' property on 'HTMLInputElement': Failed to convert value to 'Element'.`
|
1136
|
+
);
|
1137
|
+
}
|
1138
|
+
this[PropertySymbol.popoverTargetElement] = popoverTargetElement;
|
1139
|
+
}
|
1140
|
+
|
1141
|
+
/**
|
1142
|
+
* Returns popover target action.
|
1143
|
+
*
|
1144
|
+
* @returns Popover target action.
|
1145
|
+
*/
|
1146
|
+
public get popoverTargetAction(): string {
|
1147
|
+
const value = this.getAttribute('popovertargetaction');
|
1148
|
+
if (value === null || (value !== 'hide' && value !== 'show' && value !== 'toggle')) {
|
1149
|
+
return 'toggle';
|
1150
|
+
}
|
1151
|
+
return value;
|
1152
|
+
}
|
1153
|
+
|
1154
|
+
/**
|
1155
|
+
* Sets popover target action.
|
1156
|
+
*
|
1157
|
+
* @param value Popover target action.
|
1158
|
+
*/
|
1159
|
+
public set popoverTargetAction(value: string) {
|
1160
|
+
this.setAttribute('popovertargetaction', value);
|
1161
|
+
}
|
1162
|
+
|
1118
1163
|
/**
|
1119
1164
|
* Sets validation message.
|
1120
1165
|
*
|
@@ -1148,7 +1193,7 @@ export default class HTMLInputElement extends HTMLElement {
|
|
1148
1193
|
*/
|
1149
1194
|
public setSelectionRange(start: number, end: number, direction = 'none'): void {
|
1150
1195
|
if (!this.#isSelectionSupported()) {
|
1151
|
-
throw new DOMException(
|
1196
|
+
throw new this[PropertySymbol.window].DOMException(
|
1152
1197
|
`The input element's type (${this.type}) does not support selection.`,
|
1153
1198
|
DOMExceptionNameEnum.invalidStateError
|
1154
1199
|
);
|
@@ -1180,7 +1225,7 @@ export default class HTMLInputElement extends HTMLElement {
|
|
1180
1225
|
selectionMode = HTMLInputElementSelectionModeEnum.preserve
|
1181
1226
|
): void {
|
1182
1227
|
if (!this.#isSelectionSupported()) {
|
1183
|
-
throw new DOMException(
|
1228
|
+
throw new this[PropertySymbol.window].DOMException(
|
1184
1229
|
`The input element's type (${this.type}) does not support selection.`,
|
1185
1230
|
DOMExceptionNameEnum.invalidStateError
|
1186
1231
|
);
|
@@ -1194,7 +1239,7 @@ export default class HTMLInputElement extends HTMLElement {
|
|
1194
1239
|
}
|
1195
1240
|
|
1196
1241
|
if (start > end) {
|
1197
|
-
throw new DOMException(
|
1242
|
+
throw new this[PropertySymbol.window].DOMException(
|
1198
1243
|
'The index is not in the allowed range.',
|
1199
1244
|
DOMExceptionNameEnum.invalidStateError
|
1200
1245
|
);
|
@@ -1313,13 +1358,16 @@ export default class HTMLInputElement extends HTMLElement {
|
|
1313
1358
|
* @override
|
1314
1359
|
*/
|
1315
1360
|
public override dispatchEvent(event: Event): boolean {
|
1316
|
-
// Do nothing if the input element is disabled and the event is a click event.
|
1317
1361
|
if (
|
1318
|
-
event.type
|
1319
|
-
event
|
1320
|
-
event
|
1321
|
-
this.disabled
|
1362
|
+
event[PropertySymbol.type] !== 'click' ||
|
1363
|
+
event[PropertySymbol.eventPhase] !== EventPhaseEnum.none ||
|
1364
|
+
!(event instanceof MouseEvent)
|
1322
1365
|
) {
|
1366
|
+
return super.dispatchEvent(event);
|
1367
|
+
}
|
1368
|
+
|
1369
|
+
// Do nothing if the input element is disabled and the event is a click event.
|
1370
|
+
if (this.disabled) {
|
1323
1371
|
return false;
|
1324
1372
|
}
|
1325
1373
|
|
@@ -1327,63 +1375,50 @@ export default class HTMLInputElement extends HTMLElement {
|
|
1327
1375
|
|
1328
1376
|
// The checkbox or radio button has to be checked before the click event is dispatched, so that event listeners can check the checked value.
|
1329
1377
|
// However, the value has to be restored if preventDefault() is called on the click event.
|
1330
|
-
|
1331
|
-
|
1332
|
-
|
1333
|
-
|
1334
|
-
|
1335
|
-
) {
|
1336
|
-
const inputType = this.type;
|
1337
|
-
if (inputType === 'checkbox' || inputType === 'radio') {
|
1338
|
-
previousCheckedValue = this.checked;
|
1339
|
-
this.#setChecked(inputType === 'checkbox' ? !previousCheckedValue : true);
|
1340
|
-
}
|
1378
|
+
const type = this.type;
|
1379
|
+
|
1380
|
+
if (type === 'checkbox' || type === 'radio') {
|
1381
|
+
previousCheckedValue = this.checked;
|
1382
|
+
this.#setChecked(type === 'checkbox' ? !previousCheckedValue : true);
|
1341
1383
|
}
|
1342
1384
|
|
1385
|
+
// Dispatches the event
|
1343
1386
|
const returnValue = super.dispatchEvent(event);
|
1344
1387
|
|
1345
1388
|
if (
|
1346
|
-
|
1347
|
-
|
1348
|
-
|
1349
|
-
event.type === 'click' &&
|
1350
|
-
event instanceof MouseEvent &&
|
1351
|
-
this[PropertySymbol.isConnected]
|
1389
|
+
event[PropertySymbol.type] !== 'click' ||
|
1390
|
+
event[PropertySymbol.eventPhase] !== EventPhaseEnum.none ||
|
1391
|
+
!(event instanceof MouseEvent)
|
1352
1392
|
) {
|
1353
|
-
|
1354
|
-
|
1355
|
-
|
1356
|
-
|
1357
|
-
|
1358
|
-
|
1359
|
-
|
1360
|
-
|
1393
|
+
return returnValue;
|
1394
|
+
}
|
1395
|
+
|
1396
|
+
if (event[PropertySymbol.defaultPrevented]) {
|
1397
|
+
// Restore checked state if preventDefault() is triggered inside a listener of the click event.
|
1398
|
+
if (previousCheckedValue !== null) {
|
1399
|
+
this.#setChecked(previousCheckedValue);
|
1400
|
+
}
|
1401
|
+
} else {
|
1402
|
+
const type = this.type;
|
1403
|
+
|
1404
|
+
if (type === 'checkbox' && this[PropertySymbol.isConnected]) {
|
1405
|
+
this.dispatchEvent(new Event('input', { bubbles: true, cancelable: true }));
|
1406
|
+
this.dispatchEvent(new Event('change', { bubbles: true, cancelable: true }));
|
1407
|
+
} else if (type === 'radio' && !previousCheckedValue && this[PropertySymbol.isConnected]) {
|
1408
|
+
this.dispatchEvent(new Event('input', { bubbles: true, cancelable: true }));
|
1409
|
+
this.dispatchEvent(new Event('change', { bubbles: true, cancelable: true }));
|
1410
|
+
} else if (type === 'submit' || type === 'reset') {
|
1411
|
+
const form = this.form;
|
1412
|
+
if (form) {
|
1413
|
+
if (type === 'submit' && this[PropertySymbol.isConnected]) {
|
1361
1414
|
form.requestSubmit(this);
|
1362
|
-
}
|
1363
|
-
} else if (inputType === 'reset' && this[PropertySymbol.isConnected]) {
|
1364
|
-
const form = this.form;
|
1365
|
-
if (form) {
|
1415
|
+
} else if (type === 'reset') {
|
1366
1416
|
form.reset();
|
1367
1417
|
}
|
1368
1418
|
}
|
1369
1419
|
}
|
1370
1420
|
}
|
1371
1421
|
|
1372
|
-
// Restore checked state if preventDefault() is triggered on the click event.
|
1373
|
-
if (
|
1374
|
-
event.defaultPrevented &&
|
1375
|
-
(event.eventPhase === EventPhaseEnum.atTarget ||
|
1376
|
-
event.eventPhase === EventPhaseEnum.bubbling) &&
|
1377
|
-
event.type === 'click' &&
|
1378
|
-
event instanceof MouseEvent &&
|
1379
|
-
previousCheckedValue !== null
|
1380
|
-
) {
|
1381
|
-
const inputType = this.type;
|
1382
|
-
if (inputType === 'checkbox' || inputType === 'radio') {
|
1383
|
-
this.#setChecked(previousCheckedValue);
|
1384
|
-
}
|
1385
|
-
}
|
1386
|
-
|
1387
1422
|
return returnValue;
|
1388
1423
|
}
|
1389
1424
|
|
@@ -6,6 +6,12 @@ import EventPhaseEnum from '../../event/EventPhaseEnum.js';
|
|
6
6
|
import HTMLInputElement from '../html-input-element/HTMLInputElement.js';
|
7
7
|
import Document from '../document/Document.js';
|
8
8
|
import MouseEvent from '../../event/events/MouseEvent.js';
|
9
|
+
import HTMLButtonElement from '../html-button-element/HTMLButtonElement.js';
|
10
|
+
import HTMLMeterElement from '../html-meter-element/HTMLMeterElement.js';
|
11
|
+
import HTMLOutputElement from '../html-output-element/HTMLOutputElement.js';
|
12
|
+
import HTMLProgressElement from '../html-progress-element/HTMLProgressElement.js';
|
13
|
+
import HTMLSelectElement from '../html-select-element/HTMLSelectElement.js';
|
14
|
+
import HTMLTextAreaElement from '../html-text-area-element/HTMLTextAreaElement.js';
|
9
15
|
|
10
16
|
/**
|
11
17
|
* HTML Label Element.
|
@@ -44,7 +50,15 @@ export default class HTMLLabelElement extends HTMLElement {
|
|
44
50
|
*
|
45
51
|
* @returns Control element.
|
46
52
|
*/
|
47
|
-
public get control():
|
53
|
+
public get control():
|
54
|
+
| HTMLInputElement
|
55
|
+
| HTMLButtonElement
|
56
|
+
| HTMLMeterElement
|
57
|
+
| HTMLOutputElement
|
58
|
+
| HTMLProgressElement
|
59
|
+
| HTMLSelectElement
|
60
|
+
| HTMLTextAreaElement
|
61
|
+
| null {
|
48
62
|
const htmlFor = this.getAttribute('for');
|
49
63
|
if (htmlFor !== null) {
|
50
64
|
if (!htmlFor || !this[PropertySymbol.isConnected]) {
|
@@ -56,20 +70,20 @@ export default class HTMLLabelElement extends HTMLElement {
|
|
56
70
|
if (control) {
|
57
71
|
switch (control[PropertySymbol.tagName]) {
|
58
72
|
case 'INPUT':
|
59
|
-
return (<HTMLInputElement>control).type !== 'hidden' ? control : null;
|
73
|
+
return (<HTMLInputElement>control).type !== 'hidden' ? <HTMLInputElement>control : null;
|
60
74
|
case 'BUTTON':
|
61
75
|
case 'METER':
|
62
76
|
case 'OUTPUT':
|
63
77
|
case 'PROGRESS':
|
64
78
|
case 'SELECT':
|
65
79
|
case 'TEXTAREA':
|
66
|
-
return control;
|
80
|
+
return <HTMLInputElement>control;
|
67
81
|
default:
|
68
82
|
return null;
|
69
83
|
}
|
70
84
|
}
|
71
85
|
}
|
72
|
-
return <
|
86
|
+
return <HTMLInputElement | null>(
|
73
87
|
this.querySelector('button,input:not([type="hidden"]),meter,output,progress,select,textarea')
|
74
88
|
);
|
75
89
|
}
|
@@ -97,9 +111,10 @@ export default class HTMLLabelElement extends HTMLElement {
|
|
97
111
|
const returnValue = super.dispatchEvent(event);
|
98
112
|
|
99
113
|
if (
|
114
|
+
!event[PropertySymbol.defaultPrevented] &&
|
100
115
|
event.type === 'click' &&
|
101
|
-
event
|
102
|
-
|
116
|
+
event.eventPhase === EventPhaseEnum.none &&
|
117
|
+
event instanceof MouseEvent
|
103
118
|
) {
|
104
119
|
const control = this.control;
|
105
120
|
if (control && event.target !== control) {
|
@@ -4,13 +4,12 @@ import HTMLElement from '../html-element/HTMLElement.js';
|
|
4
4
|
import Event from '../../event/Event.js';
|
5
5
|
import ErrorEvent from '../../event/events/ErrorEvent.js';
|
6
6
|
import DOMTokenList from '../element/DOMTokenList.js';
|
7
|
-
import IBrowserFrame from '../../browser/types/IBrowserFrame.js';
|
8
7
|
import Attr from '../attr/Attr.js';
|
9
8
|
import WindowErrorUtility from '../../window/WindowErrorUtility.js';
|
10
|
-
import DOMException from '../../exception/DOMException.js';
|
11
9
|
import DOMExceptionNameEnum from '../../exception/DOMExceptionNameEnum.js';
|
12
10
|
import ResourceFetch from '../../fetch/ResourceFetch.js';
|
13
11
|
import DocumentReadyStateManager from '../document/DocumentReadyStateManager.js';
|
12
|
+
import WindowBrowserContext from '../../window/WindowBrowserContext.js';
|
14
13
|
|
15
14
|
/**
|
16
15
|
* HTML Link Element.
|
@@ -28,18 +27,6 @@ export default class HTMLLinkElement extends HTMLElement {
|
|
28
27
|
public [PropertySymbol.evaluateCSS] = true;
|
29
28
|
public [PropertySymbol.relList]: DOMTokenList | null = null;
|
30
29
|
#loadedStyleSheetURL: string | null = null;
|
31
|
-
#browserFrame: IBrowserFrame;
|
32
|
-
|
33
|
-
/**
|
34
|
-
* Constructor.
|
35
|
-
*
|
36
|
-
* @param browserFrame Browser frame.
|
37
|
-
*/
|
38
|
-
constructor(browserFrame) {
|
39
|
-
super();
|
40
|
-
|
41
|
-
this.#browserFrame = browserFrame;
|
42
|
-
}
|
43
30
|
|
44
31
|
/**
|
45
32
|
* Returns sheet.
|
@@ -246,8 +233,14 @@ export default class HTMLLinkElement extends HTMLElement {
|
|
246
233
|
* @param rel Rel.
|
247
234
|
*/
|
248
235
|
async #loadStyleSheet(url: string | null, rel: string | null): Promise<void> {
|
249
|
-
const
|
250
|
-
const
|
236
|
+
const window = this[PropertySymbol.window];
|
237
|
+
const browserFrame = new WindowBrowserContext(window).getBrowserFrame();
|
238
|
+
|
239
|
+
if (!browserFrame) {
|
240
|
+
return;
|
241
|
+
}
|
242
|
+
|
243
|
+
const browserSettings = browserFrame.page?.context?.browser?.settings;
|
251
244
|
|
252
245
|
if (!url || !rel || rel.toLowerCase() !== 'stylesheet' || !this[PropertySymbol.isConnected]) {
|
253
246
|
return;
|
@@ -264,13 +257,13 @@ export default class HTMLLinkElement extends HTMLElement {
|
|
264
257
|
return;
|
265
258
|
}
|
266
259
|
|
267
|
-
if (browserSettings.disableCSSFileLoading) {
|
260
|
+
if (browserSettings && browserSettings.disableCSSFileLoading) {
|
268
261
|
if (browserSettings.handleDisabledFileLoadingAsSuccess) {
|
269
262
|
this.dispatchEvent(new Event('load'));
|
270
263
|
} else {
|
271
264
|
WindowErrorUtility.dispatchError(
|
272
265
|
this,
|
273
|
-
new DOMException(
|
266
|
+
new window.DOMException(
|
274
267
|
`Failed to load external stylesheet "${absoluteURL}". CSS file loading is disabled.`,
|
275
268
|
DOMExceptionNameEnum.notSupportedError
|
276
269
|
)
|
@@ -280,7 +273,7 @@ export default class HTMLLinkElement extends HTMLElement {
|
|
280
273
|
}
|
281
274
|
|
282
275
|
const resourceFetch = new ResourceFetch({
|
283
|
-
browserFrame
|
276
|
+
browserFrame,
|
284
277
|
window: window
|
285
278
|
});
|
286
279
|
const readyStateManager = (<{ [PropertySymbol.readyStateManager]: DocumentReadyStateManager }>(
|
@@ -1,6 +1,5 @@
|
|
1
1
|
import ErrorEvent from '../../event/events/ErrorEvent.js';
|
2
2
|
import Event from '../../event/Event.js';
|
3
|
-
import DOMException from '../../exception/DOMException.js';
|
4
3
|
import DOMExceptionNameEnum from '../../exception/DOMExceptionNameEnum.js';
|
5
4
|
import HTMLElement from '../html-element/HTMLElement.js';
|
6
5
|
import TimeRanges from './TimeRanges.js';
|
@@ -72,7 +71,7 @@ export default class HTMLMediaElement extends HTMLElement {
|
|
72
71
|
public [PropertySymbol.seekable] = new TimeRanges(PropertySymbol.illegalConstructor);
|
73
72
|
public [PropertySymbol.sinkId]: string = '';
|
74
73
|
public [PropertySymbol.played] = new TimeRanges(PropertySymbol.illegalConstructor);
|
75
|
-
public [PropertySymbol.remote] = new RemotePlayback();
|
74
|
+
public [PropertySymbol.remote] = new this[PropertySymbol.window].RemotePlayback();
|
76
75
|
public [PropertySymbol.controlsList]: DOMTokenList | null = null;
|
77
76
|
public [PropertySymbol.mediaKeys]: object | null = null;
|
78
77
|
public [PropertySymbol.srcObject]: MediaStream | null = null;
|
@@ -413,7 +412,7 @@ export default class HTMLMediaElement extends HTMLElement {
|
|
413
412
|
for (const track of this.querySelectorAll('track')[PropertySymbol.items]) {
|
414
413
|
items.push(track.track);
|
415
414
|
}
|
416
|
-
return new TextTrackList(PropertySymbol.illegalConstructor, items);
|
415
|
+
return new this[PropertySymbol.window].TextTrackList(PropertySymbol.illegalConstructor, items);
|
417
416
|
}
|
418
417
|
|
419
418
|
/**
|
@@ -448,12 +447,12 @@ export default class HTMLMediaElement extends HTMLElement {
|
|
448
447
|
const parsedVolume = Number(volume);
|
449
448
|
|
450
449
|
if (isNaN(parsedVolume)) {
|
451
|
-
throw new TypeError(
|
450
|
+
throw new this[PropertySymbol.window].TypeError(
|
452
451
|
`Failed to set the 'volume' property on 'HTMLMediaElement': The provided double value is non-finite.`
|
453
452
|
);
|
454
453
|
}
|
455
454
|
if (parsedVolume < 0 || parsedVolume > 1) {
|
456
|
-
throw new DOMException(
|
455
|
+
throw new this[PropertySymbol.window].DOMException(
|
457
456
|
`Failed to set the 'volume' property on 'HTMLMediaElement': The volume provided (${parsedVolume}) is outside the range [0, 1].`,
|
458
457
|
DOMExceptionNameEnum.indexSizeError
|
459
458
|
);
|
@@ -504,7 +503,7 @@ export default class HTMLMediaElement extends HTMLElement {
|
|
504
503
|
public set currentTime(currentTime: number | string) {
|
505
504
|
const parsedCurrentTime = Number(currentTime);
|
506
505
|
if (isNaN(parsedCurrentTime)) {
|
507
|
-
throw new TypeError(
|
506
|
+
throw new this[PropertySymbol.window].TypeError(
|
508
507
|
`Failed to set the 'currentTime' property on 'HTMLMediaElement': The provided double value is non-finite.`
|
509
508
|
);
|
510
509
|
}
|
@@ -528,7 +527,7 @@ export default class HTMLMediaElement extends HTMLElement {
|
|
528
527
|
public set playbackRate(playbackRate: number | string) {
|
529
528
|
const parsedPlaybackRate = Number(playbackRate);
|
530
529
|
if (isNaN(parsedPlaybackRate)) {
|
531
|
-
throw new TypeError(
|
530
|
+
throw new this[PropertySymbol.window].TypeError(
|
532
531
|
`Failed to set the 'playbackRate' property on 'HTMLMediaElement': The provided double value is non-finite.`
|
533
532
|
);
|
534
533
|
}
|
@@ -552,7 +551,7 @@ export default class HTMLMediaElement extends HTMLElement {
|
|
552
551
|
public set defaultPlaybackRate(defaultPlaybackRate: number | string) {
|
553
552
|
const parsedDefaultPlaybackRate = Number(defaultPlaybackRate);
|
554
553
|
if (isNaN(parsedDefaultPlaybackRate)) {
|
555
|
-
throw new TypeError(
|
554
|
+
throw new this[PropertySymbol.window].TypeError(
|
556
555
|
`Failed to set the 'defaultPlaybackRate' property on 'HTMLMediaElement': The provided double value is non-finite.`
|
557
556
|
);
|
558
557
|
}
|
@@ -594,17 +593,21 @@ export default class HTMLMediaElement extends HTMLElement {
|
|
594
593
|
* @param language The language of the text track data.
|
595
594
|
*/
|
596
595
|
public addTextTrack(kind: TextTrackKindEnum, label?: string, language?: string): TextTrack {
|
596
|
+
const window = this[PropertySymbol.window];
|
597
|
+
|
597
598
|
if (arguments.length === 0) {
|
598
|
-
throw new TypeError(
|
599
|
+
throw new window.TypeError(
|
599
600
|
`Failed to execute 'addTextTrack' on 'HTMLMediaElement': 1 argument required, but only 0 present.`
|
600
601
|
);
|
601
602
|
}
|
603
|
+
|
602
604
|
if (!TextTrackKindEnum[kind]) {
|
603
|
-
throw new TypeError(
|
605
|
+
throw new window.TypeError(
|
604
606
|
`Failed to execute 'addTextTrack' on 'HTMLMediaElement': The provided value '${kind}' is not a valid enum value of type TextTrackKind.`
|
605
607
|
);
|
606
608
|
}
|
607
|
-
|
609
|
+
|
610
|
+
const track = new window.TextTrack(PropertySymbol.illegalConstructor);
|
608
611
|
track[PropertySymbol.kind] = kind;
|
609
612
|
track[PropertySymbol.label] = label || '';
|
610
613
|
track[PropertySymbol.language] = language || '';
|
@@ -688,7 +691,7 @@ export default class HTMLMediaElement extends HTMLElement {
|
|
688
691
|
* @returns MediaStream.
|
689
692
|
*/
|
690
693
|
public captureStream(): MediaStream {
|
691
|
-
return new MediaStream();
|
694
|
+
return new this[PropertySymbol.window].MediaStream();
|
692
695
|
}
|
693
696
|
|
694
697
|
/**
|
@@ -29,6 +29,12 @@ export default class MediaStream extends EventTarget {
|
|
29
29
|
constructor(streamOrTracks?: MediaStream | MediaStreamTrack[]) {
|
30
30
|
super();
|
31
31
|
|
32
|
+
if (!this[PropertySymbol.window]) {
|
33
|
+
throw new TypeError(
|
34
|
+
`Failed to construct '${this.constructor.name}': '${this.constructor.name}' was constructed outside a Window context.`
|
35
|
+
);
|
36
|
+
}
|
37
|
+
|
32
38
|
if (streamOrTracks !== undefined) {
|
33
39
|
this[PropertySymbol.tracks] =
|
34
40
|
streamOrTracks instanceof MediaStream
|
@@ -74,6 +74,12 @@ export default class MediaStreamTrack extends EventTarget {
|
|
74
74
|
if (illegalConstructorSymbol !== PropertySymbol.illegalConstructor) {
|
75
75
|
throw new TypeError('Illegal constructor');
|
76
76
|
}
|
77
|
+
|
78
|
+
if (!this[PropertySymbol.window]) {
|
79
|
+
throw new TypeError(
|
80
|
+
`Failed to construct '${this.constructor.name}': '${this.constructor.name}' was constructed outside a Window context.`
|
81
|
+
);
|
82
|
+
}
|
77
83
|
}
|
78
84
|
|
79
85
|
/**
|
@@ -38,6 +38,12 @@ export default class TextTrack extends EventTarget {
|
|
38
38
|
if (illegalConstructorSymbol !== PropertySymbol.illegalConstructor) {
|
39
39
|
throw new TypeError('Illegal constructor');
|
40
40
|
}
|
41
|
+
|
42
|
+
if (!this[PropertySymbol.window]) {
|
43
|
+
throw new TypeError(
|
44
|
+
`Failed to construct '${this.constructor.name}': '${this.constructor.name}' was constructed outside a Window context.`
|
45
|
+
);
|
46
|
+
}
|
41
47
|
}
|
42
48
|
|
43
49
|
/**
|
@@ -32,6 +32,12 @@ export default abstract class TextTrackCue extends EventTarget {
|
|
32
32
|
if (illegalConstructorSymbol !== PropertySymbol.illegalConstructor) {
|
33
33
|
throw new TypeError('Illegal constructor');
|
34
34
|
}
|
35
|
+
|
36
|
+
if (!this[PropertySymbol.window]) {
|
37
|
+
throw new TypeError(
|
38
|
+
`Failed to construct '${this.constructor.name}': '${this.constructor.name}' was constructed outside a Window context.`
|
39
|
+
);
|
40
|
+
}
|
35
41
|
}
|
36
42
|
|
37
43
|
/**
|
@@ -1,7 +1,6 @@
|
|
1
1
|
import DocumentFragment from '../document-fragment/DocumentFragment.js';
|
2
2
|
import TextTrackCue from './TextTrackCue.js';
|
3
3
|
import VTTRegion from './VTTRegion.js';
|
4
|
-
import BrowserWindow from '../../window/BrowserWindow.js';
|
5
4
|
import * as PropertySymbol from '../../PropertySymbol.js';
|
6
5
|
|
7
6
|
/**
|
@@ -20,19 +19,19 @@ export default class VTTCue extends TextTrackCue {
|
|
20
19
|
public size: number = 100;
|
21
20
|
public align: string = '';
|
22
21
|
public text: string = '';
|
23
|
-
#window: BrowserWindow;
|
24
22
|
|
25
23
|
/**
|
26
24
|
* Constructor.
|
27
25
|
*
|
28
|
-
* @param window Owner window object. Injected by BrowserWindow.
|
29
26
|
* @param startTime The start time for the cue.
|
30
27
|
* @param endTime The end time for the cue.
|
31
28
|
* @param text The text of the cue.
|
32
29
|
*/
|
33
|
-
constructor(
|
30
|
+
constructor(startTime: number, endTime: number, text: string) {
|
34
31
|
super(PropertySymbol.illegalConstructor);
|
35
32
|
|
33
|
+
const window = this[PropertySymbol.window];
|
34
|
+
|
36
35
|
// TODO: Can we find a better solution for counting arguments by using the "arguments" property?
|
37
36
|
|
38
37
|
let argumentCount = 0;
|
@@ -48,7 +47,7 @@ export default class VTTCue extends TextTrackCue {
|
|
48
47
|
}
|
49
48
|
|
50
49
|
if (argumentCount < 3) {
|
51
|
-
throw new TypeError(
|
50
|
+
throw new window.TypeError(
|
52
51
|
`Failed to construct 'VTTCue': 3 arguments required, but only ${argumentCount} present.`
|
53
52
|
);
|
54
53
|
}
|
@@ -57,10 +56,11 @@ export default class VTTCue extends TextTrackCue {
|
|
57
56
|
endTime = Number(endTime);
|
58
57
|
|
59
58
|
if (isNaN(startTime) || isNaN(endTime)) {
|
60
|
-
throw new TypeError(
|
59
|
+
throw new window.TypeError(
|
60
|
+
`Failed to construct 'VTTCue': The provided double value is non-finite.`
|
61
|
+
);
|
61
62
|
}
|
62
63
|
|
63
|
-
this.#window = window;
|
64
64
|
this.startTime = startTime;
|
65
65
|
this.endTime = endTime;
|
66
66
|
this.text = String(text);
|
@@ -72,8 +72,9 @@ export default class VTTCue extends TextTrackCue {
|
|
72
72
|
* @returns DocumentFragment
|
73
73
|
*/
|
74
74
|
public getCueAsHTML(): DocumentFragment {
|
75
|
-
const
|
76
|
-
fragment
|
75
|
+
const window = this[PropertySymbol.window];
|
76
|
+
const fragment = window.document.createDocumentFragment();
|
77
|
+
fragment.appendChild(window.document.createTextNode(this.text));
|
77
78
|
return fragment;
|
78
79
|
}
|
79
80
|
}
|