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
package/src/history/History.ts
CHANGED
@@ -3,7 +3,6 @@ import HistoryScrollRestorationEnum from './HistoryScrollRestorationEnum.js';
|
|
3
3
|
import * as PropertySymbol from '../PropertySymbol.js';
|
4
4
|
import IHistoryItem from './IHistoryItem.js';
|
5
5
|
import BrowserFrameURL from '../browser/utilities/BrowserFrameURL.js';
|
6
|
-
import DOMException from '../exception/DOMException.js';
|
7
6
|
import DOMExceptionNameEnum from '../exception/DOMExceptionNameEnum.js';
|
8
7
|
import BrowserWindow from '../window/BrowserWindow.js';
|
9
8
|
|
@@ -15,18 +14,22 @@ import BrowserWindow from '../window/BrowserWindow.js';
|
|
15
14
|
*/
|
16
15
|
export default class History {
|
17
16
|
#browserFrame: IBrowserFrame;
|
18
|
-
#
|
17
|
+
#window: BrowserWindow;
|
19
18
|
#currentHistoryItem: IHistoryItem;
|
20
19
|
|
21
20
|
/**
|
22
21
|
* Constructor.
|
23
22
|
*
|
24
23
|
* @param browserFrame Browser frame.
|
25
|
-
* @param
|
24
|
+
* @param window Owner window.
|
26
25
|
*/
|
27
|
-
constructor(browserFrame: IBrowserFrame,
|
26
|
+
constructor(browserFrame: IBrowserFrame, window: BrowserWindow) {
|
27
|
+
if (!browserFrame) {
|
28
|
+
throw new TypeError('Illegal constructor');
|
29
|
+
}
|
30
|
+
|
28
31
|
this.#browserFrame = browserFrame;
|
29
|
-
this.#
|
32
|
+
this.#window = window;
|
30
33
|
|
31
34
|
const history = browserFrame[PropertySymbol.history];
|
32
35
|
|
@@ -83,14 +86,18 @@ export default class History {
|
|
83
86
|
* Goes to the previous page in session history.
|
84
87
|
*/
|
85
88
|
public back(): void {
|
86
|
-
this.#
|
89
|
+
if (!this.#window.closed) {
|
90
|
+
this.#browserFrame.goBack();
|
91
|
+
}
|
87
92
|
}
|
88
93
|
|
89
94
|
/**
|
90
95
|
* Goes to the next page in session history.
|
91
96
|
*/
|
92
97
|
public forward(): void {
|
93
|
-
this.#
|
98
|
+
if (!this.#window.closed) {
|
99
|
+
this.#browserFrame.goForward();
|
100
|
+
}
|
94
101
|
}
|
95
102
|
|
96
103
|
/**
|
@@ -100,7 +107,9 @@ export default class History {
|
|
100
107
|
* @param _delta
|
101
108
|
*/
|
102
109
|
public go(delta: number): void {
|
103
|
-
this.#
|
110
|
+
if (!this.#window.closed) {
|
111
|
+
this.#browserFrame.goSteps(delta);
|
112
|
+
}
|
104
113
|
}
|
105
114
|
|
106
115
|
/**
|
@@ -111,17 +120,21 @@ export default class History {
|
|
111
120
|
* @param [url] URL.
|
112
121
|
*/
|
113
122
|
public pushState(state: object, title, url?: string): void {
|
123
|
+
if (this.#window.closed) {
|
124
|
+
return;
|
125
|
+
}
|
126
|
+
|
114
127
|
const history = this.#browserFrame[PropertySymbol.history];
|
115
128
|
|
116
129
|
if (!history) {
|
117
130
|
return;
|
118
131
|
}
|
119
132
|
|
120
|
-
const location = this.#
|
133
|
+
const location = this.#window[PropertySymbol.location];
|
121
134
|
const newURL = url ? BrowserFrameURL.getRelativeURL(this.#browserFrame, url) : location;
|
122
135
|
|
123
136
|
if (url && newURL.origin !== location.origin) {
|
124
|
-
throw new DOMException(
|
137
|
+
throw new this.#window.DOMException(
|
125
138
|
`Failed to execute 'pushState' on 'History': A history state object with URL '${url}' cannot be created in a document with origin '${location.origin}' and URL '${location.href}'.`,
|
126
139
|
DOMExceptionNameEnum.securityError
|
127
140
|
);
|
@@ -141,7 +154,7 @@ export default class History {
|
|
141
154
|
}
|
142
155
|
|
143
156
|
const newHistoryItem: IHistoryItem = {
|
144
|
-
title: title || this.#
|
157
|
+
title: title || this.#window.document.title,
|
145
158
|
href: newURL.href,
|
146
159
|
state: JSON.parse(JSON.stringify(state)),
|
147
160
|
scrollRestoration: this.#currentHistoryItem.scrollRestoration,
|
@@ -165,17 +178,21 @@ export default class History {
|
|
165
178
|
* @param [url] URL.
|
166
179
|
*/
|
167
180
|
public replaceState(state: object, title, url?: string): void {
|
181
|
+
if (this.#window.closed) {
|
182
|
+
return;
|
183
|
+
}
|
184
|
+
|
168
185
|
const history = this.#browserFrame[PropertySymbol.history];
|
169
186
|
|
170
187
|
if (!history) {
|
171
188
|
return;
|
172
189
|
}
|
173
190
|
|
174
|
-
const location = this.#
|
191
|
+
const location = this.#window[PropertySymbol.location];
|
175
192
|
const newURL = url ? BrowserFrameURL.getRelativeURL(this.#browserFrame, url) : location;
|
176
193
|
|
177
194
|
if (url && newURL.origin !== location.origin) {
|
178
|
-
throw new DOMException(
|
195
|
+
throw new this.#window.DOMException(
|
179
196
|
`Failed to execute 'pushState' on 'History': A history state object with URL '${url}' cannot be created in a document with origin '${location.origin}' and URL '${location.href}'.`,
|
180
197
|
DOMExceptionNameEnum.securityError
|
181
198
|
);
|
@@ -184,7 +201,7 @@ export default class History {
|
|
184
201
|
for (let i = history.length - 1; i >= 0; i--) {
|
185
202
|
if (history[i].isCurrent) {
|
186
203
|
const newHistoryItem = {
|
187
|
-
title: title || this.#
|
204
|
+
title: title || this.#window.document.title,
|
188
205
|
href: newURL.href,
|
189
206
|
state: JSON.parse(JSON.stringify(state)),
|
190
207
|
scrollRestoration: history[i].scrollRestoration,
|
package/src/index.ts
CHANGED
@@ -188,7 +188,7 @@ import type IBrowserPage from './browser/types/IBrowserPage.js';
|
|
188
188
|
import type IBrowserSettings from './browser/types/IBrowserSettings.js';
|
189
189
|
import type IOptionalBrowserSettings from './browser/types/IOptionalBrowserSettings.js';
|
190
190
|
import type IEventInit from './event/IEventInit.js';
|
191
|
-
import type
|
191
|
+
import type TEventListener from './event/TEventListener.js';
|
192
192
|
import type ITouchInit from './event/ITouchInit.js';
|
193
193
|
import type IUIEventInit from './event/IUIEventInit.js';
|
194
194
|
import type IAnimationEventInit from './event/events/IAnimationEventInit.js';
|
@@ -217,7 +217,7 @@ export type {
|
|
217
217
|
ICustomEventInit,
|
218
218
|
IErrorEventInit,
|
219
219
|
IEventInit,
|
220
|
-
|
220
|
+
TEventListener,
|
221
221
|
IFocusEventInit,
|
222
222
|
IHashChangeEventInit,
|
223
223
|
IInputEventInit,
|
package/src/location/Location.ts
CHANGED
@@ -21,6 +21,9 @@ export default class Location {
|
|
21
21
|
* @param url URL.
|
22
22
|
*/
|
23
23
|
constructor(browserFrame: IBrowserFrame, url: string) {
|
24
|
+
if (!browserFrame) {
|
25
|
+
throw new TypeError('Illegal constructor');
|
26
|
+
}
|
24
27
|
this.#browserFrame = browserFrame;
|
25
28
|
this.#url = new URL(url);
|
26
29
|
}
|
@@ -40,6 +43,10 @@ export default class Location {
|
|
40
43
|
* @param hash Value.
|
41
44
|
*/
|
42
45
|
public set hash(hash: string) {
|
46
|
+
if (!this.#browserFrame) {
|
47
|
+
return;
|
48
|
+
}
|
49
|
+
|
43
50
|
const oldURL = this.#url.href;
|
44
51
|
this.#url.hash = hash;
|
45
52
|
const newURL = this.#url.href;
|
@@ -68,9 +75,7 @@ export default class Location {
|
|
68
75
|
public set host(host: string) {
|
69
76
|
const url = new URL(this.#url.href);
|
70
77
|
url.host = host;
|
71
|
-
this
|
72
|
-
.goto(url.href)
|
73
|
-
.catch((error) => this.#browserFrame.page.console.error(error));
|
78
|
+
this.href = url.href;
|
74
79
|
}
|
75
80
|
|
76
81
|
/**
|
@@ -90,9 +95,7 @@ export default class Location {
|
|
90
95
|
public set hostname(hostname: string) {
|
91
96
|
const url = new URL(this.#url.href);
|
92
97
|
url.hostname = hostname;
|
93
|
-
this
|
94
|
-
.goto(url.href)
|
95
|
-
.catch((error) => this.#browserFrame.page.console.error(error));
|
98
|
+
this.href = url.href;
|
96
99
|
}
|
97
100
|
|
98
101
|
/**
|
@@ -106,7 +109,17 @@ export default class Location {
|
|
106
109
|
* Override set href.
|
107
110
|
*/
|
108
111
|
public set href(url: string) {
|
109
|
-
this.#browserFrame
|
112
|
+
if (!this.#browserFrame) {
|
113
|
+
return;
|
114
|
+
}
|
115
|
+
|
116
|
+
this.#browserFrame.goto(url).catch((error) => {
|
117
|
+
if (this.#browserFrame.page?.console) {
|
118
|
+
this.#browserFrame.page.console.error(error);
|
119
|
+
} else {
|
120
|
+
throw error;
|
121
|
+
}
|
122
|
+
});
|
110
123
|
}
|
111
124
|
|
112
125
|
/**
|
@@ -135,9 +148,7 @@ export default class Location {
|
|
135
148
|
public set pathname(pathname: string) {
|
136
149
|
const url = new URL(this.#url.href);
|
137
150
|
url.pathname = pathname;
|
138
|
-
this
|
139
|
-
.goto(url.href)
|
140
|
-
.catch((error) => this.#browserFrame.page.console.error(error));
|
151
|
+
this.href = url.href;
|
141
152
|
}
|
142
153
|
|
143
154
|
/**
|
@@ -157,9 +168,7 @@ export default class Location {
|
|
157
168
|
public set port(port: string) {
|
158
169
|
const url = new URL(this.#url.href);
|
159
170
|
url.port = port;
|
160
|
-
this
|
161
|
-
.goto(url.href)
|
162
|
-
.catch((error) => this.#browserFrame.page.console.error(error));
|
171
|
+
this.href = url.href;
|
163
172
|
}
|
164
173
|
|
165
174
|
/**
|
@@ -179,9 +188,7 @@ export default class Location {
|
|
179
188
|
public set protocol(protocol: string) {
|
180
189
|
const url = new URL(this.#url.href);
|
181
190
|
url.protocol = protocol;
|
182
|
-
this
|
183
|
-
.goto(url.href)
|
184
|
-
.catch((error) => this.#browserFrame.page.console.error(error));
|
191
|
+
this.href = url.href;
|
185
192
|
}
|
186
193
|
|
187
194
|
/**
|
@@ -201,9 +208,7 @@ export default class Location {
|
|
201
208
|
public set search(search: string) {
|
202
209
|
const url = new URL(this.#url.href);
|
203
210
|
url.search = search;
|
204
|
-
this
|
205
|
-
.goto(url.href)
|
206
|
-
.catch((error) => this.#browserFrame.page.console.error(error));
|
211
|
+
this.href = url.href;
|
207
212
|
}
|
208
213
|
|
209
214
|
/**
|
@@ -228,9 +233,17 @@ export default class Location {
|
|
228
233
|
* Reloads the resource from the current URL.
|
229
234
|
*/
|
230
235
|
public reload(): void {
|
231
|
-
this.#browserFrame
|
232
|
-
|
233
|
-
|
236
|
+
if (!this.#browserFrame) {
|
237
|
+
return;
|
238
|
+
}
|
239
|
+
|
240
|
+
this.#browserFrame.goto(this.href).catch((error) => {
|
241
|
+
if (this.#browserFrame.page?.console) {
|
242
|
+
this.#browserFrame.page.console.error(error);
|
243
|
+
} else {
|
244
|
+
throw error;
|
245
|
+
}
|
246
|
+
});
|
234
247
|
}
|
235
248
|
|
236
249
|
/**
|
@@ -240,6 +253,10 @@ export default class Location {
|
|
240
253
|
* @param url URL.
|
241
254
|
*/
|
242
255
|
public [PropertySymbol.setURL](browserFrame: IBrowserFrame, url: string): void {
|
256
|
+
if (!this.#browserFrame) {
|
257
|
+
return;
|
258
|
+
}
|
259
|
+
|
243
260
|
if (this.#browserFrame !== browserFrame) {
|
244
261
|
throw new Error('Failed to set URL. Browser frame mismatch.');
|
245
262
|
}
|
@@ -247,6 +264,13 @@ export default class Location {
|
|
247
264
|
this.#url.href = url;
|
248
265
|
}
|
249
266
|
|
267
|
+
/**
|
268
|
+
* Destroys the location.
|
269
|
+
*/
|
270
|
+
public [PropertySymbol.destroy](): void {
|
271
|
+
this.#browserFrame = null;
|
272
|
+
}
|
273
|
+
|
250
274
|
/**
|
251
275
|
* Returns the URL as a string.
|
252
276
|
*
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import CSSMeasurementConverter from '../css/declaration/measurement-converter/CSSMeasurementConverter.js';
|
2
2
|
import BrowserWindow from '../window/BrowserWindow.js';
|
3
|
-
import
|
3
|
+
import WindowBrowserContext from '../window/WindowBrowserContext.js';
|
4
4
|
import IMediaQueryRange from './IMediaQueryRange.js';
|
5
5
|
import IMediaQueryRule from './IMediaQueryRule.js';
|
6
6
|
import MediaQueryTypeEnum from './MediaQueryTypeEnum.js';
|
@@ -14,13 +14,13 @@ export default class MediaQueryItem {
|
|
14
14
|
public rules: IMediaQueryRule[];
|
15
15
|
public ranges: IMediaQueryRange[];
|
16
16
|
private rootFontSize: string | number | null = null;
|
17
|
-
private
|
17
|
+
private window: BrowserWindow;
|
18
18
|
|
19
19
|
/**
|
20
20
|
* Constructor.
|
21
21
|
*
|
22
22
|
* @param options Options.
|
23
|
-
* @param options.
|
23
|
+
* @param options.window Owner window.
|
24
24
|
* @param [options.rootFontSize] Root font size.
|
25
25
|
* @param [options.mediaTypes] Media types.
|
26
26
|
* @param [options.not] Not.
|
@@ -28,14 +28,14 @@ export default class MediaQueryItem {
|
|
28
28
|
* @param [options.ranges] Ranges.
|
29
29
|
*/
|
30
30
|
constructor(options: {
|
31
|
-
|
31
|
+
window: BrowserWindow;
|
32
32
|
rootFontSize?: string | number | null;
|
33
33
|
mediaTypes?: MediaQueryTypeEnum[];
|
34
34
|
not?: boolean;
|
35
35
|
rules?: IMediaQueryRule[];
|
36
36
|
ranges?: IMediaQueryRange[];
|
37
37
|
}) {
|
38
|
-
this.
|
38
|
+
this.window = options.window;
|
39
39
|
this.rootFontSize = options.rootFontSize || null;
|
40
40
|
this.mediaTypes = options.mediaTypes || [];
|
41
41
|
this.not = options.not || false;
|
@@ -115,7 +115,7 @@ export default class MediaQueryItem {
|
|
115
115
|
if (mediaType === MediaQueryTypeEnum.all) {
|
116
116
|
return true;
|
117
117
|
}
|
118
|
-
return mediaType ===
|
118
|
+
return mediaType === new WindowBrowserContext(this.window).getSettings()?.device.mediaType;
|
119
119
|
}
|
120
120
|
|
121
121
|
/**
|
@@ -125,8 +125,7 @@ export default class MediaQueryItem {
|
|
125
125
|
* @returns "true" if the range matches.
|
126
126
|
*/
|
127
127
|
private matchesRange(range: IMediaQueryRange): boolean {
|
128
|
-
const windowSize =
|
129
|
-
range.type === 'width' ? this.ownerWindow.innerWidth : this.ownerWindow.innerHeight;
|
128
|
+
const windowSize = range.type === 'width' ? this.window.innerWidth : this.window.innerHeight;
|
130
129
|
|
131
130
|
if (range.before) {
|
132
131
|
const beforeValue = this.toPixels(range.before.value);
|
@@ -226,38 +225,38 @@ export default class MediaQueryItem {
|
|
226
225
|
switch (rule.name) {
|
227
226
|
case 'min-width':
|
228
227
|
const minWidth = this.toPixels(rule.value);
|
229
|
-
return minWidth !== null && this.
|
228
|
+
return minWidth !== null && this.window.innerWidth >= minWidth;
|
230
229
|
case 'max-width':
|
231
230
|
const maxWidth = this.toPixels(rule.value);
|
232
|
-
return maxWidth !== null && this.
|
231
|
+
return maxWidth !== null && this.window.innerWidth <= maxWidth;
|
233
232
|
case 'min-height':
|
234
233
|
const minHeight = this.toPixels(rule.value);
|
235
|
-
return minHeight !== null && this.
|
234
|
+
return minHeight !== null && this.window.innerHeight >= minHeight;
|
236
235
|
case 'max-height':
|
237
236
|
const maxHeight = this.toPixels(rule.value);
|
238
|
-
return maxHeight !== null && this.
|
237
|
+
return maxHeight !== null && this.window.innerHeight <= maxHeight;
|
239
238
|
case 'width':
|
240
239
|
const width = this.toPixels(rule.value);
|
241
|
-
return width !== null && this.
|
240
|
+
return width !== null && this.window.innerWidth === width;
|
242
241
|
case 'height':
|
243
242
|
const height = this.toPixels(rule.value);
|
244
|
-
return height !== null && this.
|
243
|
+
return height !== null && this.window.innerHeight === height;
|
245
244
|
case 'orientation':
|
246
245
|
return rule.value === 'landscape'
|
247
|
-
? this.
|
248
|
-
: this.
|
246
|
+
? this.window.innerWidth > this.window.innerHeight
|
247
|
+
: this.window.innerWidth < this.window.innerHeight;
|
249
248
|
case 'prefers-color-scheme':
|
250
249
|
return (
|
251
250
|
rule.value ===
|
252
|
-
|
251
|
+
new WindowBrowserContext(this.window).getSettings().device.prefersColorScheme
|
253
252
|
);
|
254
253
|
case 'any-hover':
|
255
254
|
case 'hover':
|
256
255
|
if (rule.value === 'none') {
|
257
|
-
return this.
|
256
|
+
return this.window.navigator.maxTouchPoints > 0;
|
258
257
|
}
|
259
258
|
if (rule.value === 'hover') {
|
260
|
-
return this.
|
259
|
+
return this.window.navigator.maxTouchPoints === 0;
|
261
260
|
}
|
262
261
|
return false;
|
263
262
|
case 'any-pointer':
|
@@ -267,11 +266,11 @@ export default class MediaQueryItem {
|
|
267
266
|
}
|
268
267
|
|
269
268
|
if (rule.value === 'coarse') {
|
270
|
-
return this.
|
269
|
+
return this.window.navigator.maxTouchPoints > 0;
|
271
270
|
}
|
272
271
|
|
273
272
|
if (rule.value === 'fine') {
|
274
|
-
return this.
|
273
|
+
return this.window.navigator.maxTouchPoints === 0;
|
275
274
|
}
|
276
275
|
|
277
276
|
return false;
|
@@ -292,17 +291,17 @@ export default class MediaQueryItem {
|
|
292
291
|
case 'min-aspect-ratio':
|
293
292
|
return (
|
294
293
|
aspectRatioWidth / aspectRatioHeight <=
|
295
|
-
this.
|
294
|
+
this.window.innerWidth / this.window.innerHeight
|
296
295
|
);
|
297
296
|
case 'max-aspect-ratio':
|
298
297
|
return (
|
299
298
|
aspectRatioWidth / aspectRatioHeight >=
|
300
|
-
this.
|
299
|
+
this.window.innerWidth / this.window.innerHeight
|
301
300
|
);
|
302
301
|
case 'aspect-ratio':
|
303
302
|
return (
|
304
303
|
aspectRatioWidth / aspectRatioHeight ===
|
305
|
-
this.
|
304
|
+
this.window.innerWidth / this.window.innerHeight
|
306
305
|
);
|
307
306
|
}
|
308
307
|
}
|
@@ -318,23 +317,21 @@ export default class MediaQueryItem {
|
|
318
317
|
*/
|
319
318
|
private toPixels(value: string): number | null {
|
320
319
|
if (
|
321
|
-
!
|
320
|
+
!new WindowBrowserContext(this.window).getSettings()?.disableComputedStyleRendering &&
|
322
321
|
value.endsWith('em')
|
323
322
|
) {
|
324
323
|
this.rootFontSize =
|
325
324
|
this.rootFontSize ||
|
326
|
-
parseFloat(
|
327
|
-
this.ownerWindow.getComputedStyle(this.ownerWindow.document.documentElement).fontSize
|
328
|
-
);
|
325
|
+
parseFloat(this.window.getComputedStyle(this.window.document.documentElement).fontSize);
|
329
326
|
return CSSMeasurementConverter.toPixels({
|
330
|
-
|
327
|
+
window: this.window,
|
331
328
|
value,
|
332
329
|
rootFontSize: this.rootFontSize,
|
333
330
|
parentFontSize: this.rootFontSize
|
334
331
|
});
|
335
332
|
}
|
336
333
|
return CSSMeasurementConverter.toPixels({
|
337
|
-
|
334
|
+
window: this.window,
|
338
335
|
value,
|
339
336
|
rootFontSize: 16,
|
340
337
|
parentFontSize: 16
|
@@ -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 BrowserWindow from '../window/BrowserWindow.js';
|
5
|
-
import
|
5
|
+
import TEventListener from '../event/TEventListener.js';
|
6
6
|
import MediaQueryListEvent from '../event/events/MediaQueryListEvent.js';
|
7
7
|
import IMediaQueryItem from './MediaQueryItem.js';
|
8
8
|
import MediaQueryParser from './MediaQueryParser.js';
|
@@ -15,7 +15,7 @@ import MediaQueryParser from './MediaQueryParser.js';
|
|
15
15
|
*/
|
16
16
|
export default class MediaQueryList extends EventTarget {
|
17
17
|
public onchange: (event: Event) => void = null;
|
18
|
-
#
|
18
|
+
#window: BrowserWindow;
|
19
19
|
#items: IMediaQueryItem[] | null = null;
|
20
20
|
#media: string;
|
21
21
|
#rootFontSize: string | number | null = null;
|
@@ -24,17 +24,13 @@ export default class MediaQueryList extends EventTarget {
|
|
24
24
|
* Constructor.
|
25
25
|
*
|
26
26
|
* @param options Options.
|
27
|
-
* @param options.
|
27
|
+
* @param options.window Owner window.
|
28
28
|
* @param options.media Media.
|
29
29
|
* @param [options.rootFontSize] Root font size.
|
30
30
|
*/
|
31
|
-
constructor(options: {
|
32
|
-
ownerWindow: BrowserWindow;
|
33
|
-
media: string;
|
34
|
-
rootFontSize?: string | number;
|
35
|
-
}) {
|
31
|
+
constructor(options: { window: BrowserWindow; media: string; rootFontSize?: string | number }) {
|
36
32
|
super();
|
37
|
-
this.#
|
33
|
+
this.#window = options.window;
|
38
34
|
this.#media = options.media;
|
39
35
|
this.#rootFontSize = options.rootFontSize || null;
|
40
36
|
}
|
@@ -48,7 +44,7 @@ export default class MediaQueryList extends EventTarget {
|
|
48
44
|
this.#items =
|
49
45
|
this.#items ||
|
50
46
|
MediaQueryParser.parse({
|
51
|
-
|
47
|
+
window: this.#window,
|
52
48
|
mediaQuery: this.#media,
|
53
49
|
rootFontSize: this.#rootFontSize
|
54
50
|
});
|
@@ -65,7 +61,7 @@ export default class MediaQueryList extends EventTarget {
|
|
65
61
|
this.#items =
|
66
62
|
this.#items ||
|
67
63
|
MediaQueryParser.parse({
|
68
|
-
|
64
|
+
window: this.#window,
|
69
65
|
mediaQuery: this.#media,
|
70
66
|
rootFontSize: this.#rootFontSize
|
71
67
|
});
|
@@ -102,7 +98,7 @@ export default class MediaQueryList extends EventTarget {
|
|
102
98
|
/**
|
103
99
|
* @override
|
104
100
|
*/
|
105
|
-
public addEventListener(type: string, listener:
|
101
|
+
public addEventListener(type: string, listener: TEventListener): void {
|
106
102
|
super.addEventListener(type, listener);
|
107
103
|
if (type === 'change') {
|
108
104
|
let matchesState = false;
|
@@ -114,23 +110,17 @@ export default class MediaQueryList extends EventTarget {
|
|
114
110
|
}
|
115
111
|
};
|
116
112
|
listener[PropertySymbol.windowResizeListener] = resizeListener;
|
117
|
-
this.#
|
113
|
+
this.#window.addEventListener('resize', resizeListener);
|
118
114
|
}
|
119
115
|
}
|
120
116
|
|
121
117
|
/**
|
122
118
|
* @override
|
123
119
|
*/
|
124
|
-
public removeEventListener(
|
125
|
-
type: string,
|
126
|
-
listener: IEventListener | ((event: Event) => void)
|
127
|
-
): void {
|
120
|
+
public removeEventListener(type: string, listener: TEventListener): void {
|
128
121
|
super.removeEventListener(type, listener);
|
129
122
|
if (type === 'change' && listener[PropertySymbol.windowResizeListener]) {
|
130
|
-
this.#
|
131
|
-
'resize',
|
132
|
-
listener[PropertySymbol.windowResizeListener]
|
133
|
-
);
|
123
|
+
this.#window.removeEventListener('resize', listener[PropertySymbol.windowResizeListener]);
|
134
124
|
}
|
135
125
|
}
|
136
126
|
}
|
@@ -38,18 +38,18 @@ export default class MediaQueryParser {
|
|
38
38
|
* Parses a media query string.
|
39
39
|
*
|
40
40
|
* @param options Options.
|
41
|
-
* @param options.
|
41
|
+
* @param options.window Owner window.
|
42
42
|
* @param options.mediaQuery Media query string.
|
43
43
|
* @param [options.rootFontSize] Root font size.
|
44
44
|
* @returns Media query items.
|
45
45
|
*/
|
46
46
|
public static parse(options: {
|
47
|
-
|
47
|
+
window: BrowserWindow;
|
48
48
|
mediaQuery: string;
|
49
49
|
rootFontSize?: string | number | null;
|
50
50
|
}): MediaQueryItem[] {
|
51
51
|
let currentMediaQueryItem: MediaQueryItem = new MediaQueryItem({
|
52
|
-
|
52
|
+
window: options.window,
|
53
53
|
rootFontSize: options.rootFontSize
|
54
54
|
});
|
55
55
|
const mediaQueryItems: MediaQueryItem[] = [currentMediaQueryItem];
|
@@ -59,7 +59,7 @@ export default class MediaQueryParser {
|
|
59
59
|
while ((match = regexp.exec(options.mediaQuery.toLowerCase()))) {
|
60
60
|
if (match[4] === ',' || match[5] === 'or') {
|
61
61
|
currentMediaQueryItem = new MediaQueryItem({
|
62
|
-
|
62
|
+
window: options.window,
|
63
63
|
rootFontSize: options.rootFontSize
|
64
64
|
});
|
65
65
|
mediaQueryItems.push(currentMediaQueryItem);
|
@@ -93,7 +93,7 @@ export default class MediaQueryParser {
|
|
93
93
|
if (!trimmedValue && !match[3]) {
|
94
94
|
return [
|
95
95
|
new MediaQueryItem({
|
96
|
-
|
96
|
+
window: options.window,
|
97
97
|
rootFontSize: options.rootFontSize,
|
98
98
|
not: true,
|
99
99
|
mediaTypes: [MediaQueryTypeEnum.all]
|