happy-dom 15.0.0 → 15.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of happy-dom might be problematic. Click here for more details.

Files changed (804) hide show
  1. package/cjs/ClassMethodBinder.cjs +8 -6
  2. package/cjs/ClassMethodBinder.cjs.map +1 -1
  3. package/cjs/ClassMethodBinder.d.ts +4 -2
  4. package/cjs/ClassMethodBinder.d.ts.map +1 -1
  5. package/cjs/PropertySymbol.cjs +20 -9
  6. package/cjs/PropertySymbol.cjs.map +1 -1
  7. package/cjs/PropertySymbol.d.ts +15 -4
  8. package/cjs/PropertySymbol.d.ts.map +1 -1
  9. package/cjs/async-task-manager/AsyncTaskManager.cjs +64 -35
  10. package/cjs/async-task-manager/AsyncTaskManager.cjs.map +1 -1
  11. package/cjs/async-task-manager/AsyncTaskManager.d.ts +11 -1
  12. package/cjs/async-task-manager/AsyncTaskManager.d.ts.map +1 -1
  13. package/cjs/browser/Browser.cjs +30 -0
  14. package/cjs/browser/Browser.cjs.map +1 -1
  15. package/cjs/browser/Browser.d.ts +3 -0
  16. package/cjs/browser/Browser.d.ts.map +1 -1
  17. package/cjs/browser/BrowserFrame.cjs +3 -7
  18. package/cjs/browser/BrowserFrame.cjs.map +1 -1
  19. package/cjs/browser/BrowserFrame.d.ts +1 -4
  20. package/cjs/browser/BrowserFrame.d.ts.map +1 -1
  21. package/cjs/browser/DefaultBrowserSettings.cjs +2 -1
  22. package/cjs/browser/DefaultBrowserSettings.cjs.map +1 -1
  23. package/cjs/browser/DefaultBrowserSettings.d.ts.map +1 -1
  24. package/cjs/browser/detached-browser/DetachedBrowser.cjs +30 -0
  25. package/cjs/browser/detached-browser/DetachedBrowser.cjs.map +1 -1
  26. package/cjs/browser/detached-browser/DetachedBrowser.d.ts +3 -0
  27. package/cjs/browser/detached-browser/DetachedBrowser.d.ts.map +1 -1
  28. package/cjs/browser/detached-browser/DetachedBrowserFrame.cjs +3 -7
  29. package/cjs/browser/detached-browser/DetachedBrowserFrame.cjs.map +1 -1
  30. package/cjs/browser/detached-browser/DetachedBrowserFrame.d.ts +1 -4
  31. package/cjs/browser/detached-browser/DetachedBrowserFrame.d.ts.map +1 -1
  32. package/cjs/browser/types/IBrowser.cjs +24 -0
  33. package/cjs/browser/types/IBrowser.cjs.map +1 -1
  34. package/cjs/browser/types/IBrowser.d.ts +3 -0
  35. package/cjs/browser/types/IBrowser.d.ts.map +1 -1
  36. package/cjs/browser/types/IBrowserFrame.d.ts +0 -3
  37. package/cjs/browser/types/IBrowserFrame.d.ts.map +1 -1
  38. package/cjs/browser/types/IBrowserSettings.d.ts +1 -0
  39. package/cjs/browser/types/IBrowserSettings.d.ts.map +1 -1
  40. package/cjs/browser/utilities/BrowserExceptionObserver.cjs +100 -0
  41. package/cjs/browser/utilities/BrowserExceptionObserver.cjs.map +1 -0
  42. package/{lib/browser/utilities/BrowserFrameExceptionObserver.d.ts → cjs/browser/utilities/BrowserExceptionObserver.d.ts} +9 -7
  43. package/cjs/browser/utilities/BrowserExceptionObserver.d.ts.map +1 -0
  44. package/cjs/browser/utilities/BrowserFrameFactory.cjs +27 -35
  45. package/cjs/browser/utilities/BrowserFrameFactory.cjs.map +1 -1
  46. package/cjs/browser/utilities/BrowserFrameFactory.d.ts.map +1 -1
  47. package/cjs/browser/utilities/BrowserFrameNavigator.cjs +52 -29
  48. package/cjs/browser/utilities/BrowserFrameNavigator.cjs.map +1 -1
  49. package/cjs/browser/utilities/BrowserFrameNavigator.d.ts.map +1 -1
  50. package/cjs/clipboard/Clipboard.cjs +18 -15
  51. package/cjs/clipboard/Clipboard.cjs.map +1 -1
  52. package/cjs/clipboard/Clipboard.d.ts +2 -2
  53. package/cjs/clipboard/Clipboard.d.ts.map +1 -1
  54. package/cjs/css/declaration/AbstractCSSStyleDeclaration.cjs +27 -4
  55. package/cjs/css/declaration/AbstractCSSStyleDeclaration.cjs.map +1 -1
  56. package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.cjs +6 -5
  57. package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.cjs.map +1 -1
  58. package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.d.ts.map +1 -1
  59. package/cjs/css/declaration/measurement-converter/CSSMeasurementConverter.cjs +5 -5
  60. package/cjs/css/declaration/measurement-converter/CSSMeasurementConverter.cjs.map +1 -1
  61. package/cjs/css/declaration/measurement-converter/CSSMeasurementConverter.d.ts +2 -2
  62. package/cjs/css/declaration/measurement-converter/CSSMeasurementConverter.d.ts.map +1 -1
  63. package/cjs/custom-element/CustomElementRegistry.cjs +37 -17
  64. package/cjs/custom-element/CustomElementRegistry.cjs.map +1 -1
  65. package/cjs/custom-element/CustomElementRegistry.d.ts +2 -3
  66. package/cjs/custom-element/CustomElementRegistry.d.ts.map +1 -1
  67. package/cjs/dom-implementation/DOMImplementation.cjs +12 -7
  68. package/cjs/dom-implementation/DOMImplementation.cjs.map +1 -1
  69. package/cjs/dom-implementation/DOMImplementation.d.ts +7 -3
  70. package/cjs/dom-implementation/DOMImplementation.d.ts.map +1 -1
  71. package/cjs/dom-parser/DOMParser.cjs +6 -15
  72. package/cjs/dom-parser/DOMParser.cjs.map +1 -1
  73. package/cjs/dom-parser/DOMParser.d.ts +2 -6
  74. package/cjs/dom-parser/DOMParser.d.ts.map +1 -1
  75. package/cjs/event/Event.cjs +76 -18
  76. package/cjs/event/Event.cjs.map +1 -1
  77. package/cjs/event/Event.d.ts +49 -7
  78. package/cjs/event/Event.d.ts.map +1 -1
  79. package/cjs/event/EventTarget.cjs +153 -141
  80. package/cjs/event/EventTarget.cjs.map +1 -1
  81. package/cjs/event/EventTarget.d.ts +12 -8
  82. package/cjs/event/EventTarget.d.ts.map +1 -1
  83. package/cjs/event/MessagePort.cjs.map +1 -1
  84. package/cjs/event/MessagePort.d.ts +1 -2
  85. package/cjs/event/MessagePort.d.ts.map +1 -1
  86. package/cjs/event/{IEventListener.cjs → TEventListener.cjs} +1 -1
  87. package/cjs/event/TEventListener.cjs.map +1 -0
  88. package/cjs/event/TEventListener.d.ts +5 -0
  89. package/cjs/event/TEventListener.d.ts.map +1 -0
  90. package/cjs/event/TEventListenerFunction.cjs +3 -0
  91. package/cjs/event/TEventListenerFunction.cjs.map +1 -0
  92. package/cjs/event/TEventListenerFunction.d.ts +4 -0
  93. package/cjs/event/TEventListenerFunction.d.ts.map +1 -0
  94. package/cjs/event/{IMessagePort.cjs → TEventListenerObject.cjs} +1 -1
  95. package/cjs/event/TEventListenerObject.cjs.map +1 -0
  96. package/cjs/event/TEventListenerObject.d.ts +6 -0
  97. package/cjs/event/TEventListenerObject.d.ts.map +1 -0
  98. package/cjs/event/events/CustomEvent.cjs +38 -6
  99. package/cjs/event/events/CustomEvent.cjs.map +1 -1
  100. package/cjs/event/events/CustomEvent.d.ts +8 -1
  101. package/cjs/event/events/CustomEvent.d.ts.map +1 -1
  102. package/cjs/event/events/IErrorEventInit.d.ts.map +1 -1
  103. package/cjs/event/events/IMessageEventInit.d.ts +2 -2
  104. package/cjs/event/events/IMessageEventInit.d.ts.map +1 -1
  105. package/cjs/event/events/MessageEvent.cjs.map +1 -1
  106. package/cjs/event/events/MessageEvent.d.ts +2 -2
  107. package/cjs/event/events/MessageEvent.d.ts.map +1 -1
  108. package/cjs/fetch/AbortController.cjs +2 -11
  109. package/cjs/fetch/AbortController.cjs.map +1 -1
  110. package/cjs/fetch/AbortController.d.ts +3 -4
  111. package/cjs/fetch/AbortController.d.ts.map +1 -1
  112. package/cjs/fetch/AbortSignal.cjs +14 -4
  113. package/cjs/fetch/AbortSignal.cjs.map +1 -1
  114. package/cjs/fetch/AbortSignal.d.ts +7 -0
  115. package/cjs/fetch/AbortSignal.d.ts.map +1 -1
  116. package/cjs/fetch/Fetch.cjs +24 -14
  117. package/cjs/fetch/Fetch.cjs.map +1 -1
  118. package/cjs/fetch/Fetch.d.ts.map +1 -1
  119. package/cjs/fetch/Request.cjs +62 -45
  120. package/cjs/fetch/Request.cjs.map +1 -1
  121. package/cjs/fetch/Request.d.ts +3 -14
  122. package/cjs/fetch/Request.d.ts.map +1 -1
  123. package/cjs/fetch/ResourceFetch.cjs +2 -3
  124. package/cjs/fetch/ResourceFetch.cjs.map +1 -1
  125. package/cjs/fetch/ResourceFetch.d.ts.map +1 -1
  126. package/cjs/fetch/Response.cjs +63 -40
  127. package/cjs/fetch/Response.cjs.map +1 -1
  128. package/cjs/fetch/Response.d.ts +3 -10
  129. package/cjs/fetch/Response.d.ts.map +1 -1
  130. package/cjs/fetch/SyncFetch.cjs +12 -13
  131. package/cjs/fetch/SyncFetch.cjs.map +1 -1
  132. package/cjs/fetch/SyncFetch.d.ts.map +1 -1
  133. package/cjs/fetch/multipart/MultipartFormDataParser.cjs +12 -6
  134. package/cjs/fetch/multipart/MultipartFormDataParser.cjs.map +1 -1
  135. package/cjs/fetch/multipart/MultipartFormDataParser.d.ts +3 -1
  136. package/cjs/fetch/multipart/MultipartFormDataParser.d.ts.map +1 -1
  137. package/cjs/fetch/multipart/MultipartReader.cjs +5 -3
  138. package/cjs/fetch/multipart/MultipartReader.cjs.map +1 -1
  139. package/cjs/fetch/multipart/MultipartReader.d.ts +4 -1
  140. package/cjs/fetch/multipart/MultipartReader.d.ts.map +1 -1
  141. package/cjs/fetch/utilities/FetchBodyUtility.cjs +10 -5
  142. package/cjs/fetch/utilities/FetchBodyUtility.cjs.map +1 -1
  143. package/cjs/fetch/utilities/FetchBodyUtility.d.ts +5 -2
  144. package/cjs/fetch/utilities/FetchBodyUtility.d.ts.map +1 -1
  145. package/cjs/file/FileReader.cjs +11 -11
  146. package/cjs/file/FileReader.cjs.map +1 -1
  147. package/cjs/file/FileReader.d.ts +1 -4
  148. package/cjs/file/FileReader.d.ts.map +1 -1
  149. package/cjs/history/History.cjs +28 -14
  150. package/cjs/history/History.cjs.map +1 -1
  151. package/cjs/history/History.d.ts +2 -2
  152. package/cjs/history/History.d.ts.map +1 -1
  153. package/cjs/index.d.ts +2 -2
  154. package/cjs/location/Location.cjs +43 -22
  155. package/cjs/location/Location.cjs.map +1 -1
  156. package/cjs/location/Location.d.ts +4 -0
  157. package/cjs/location/Location.d.ts.map +1 -1
  158. package/cjs/match-media/MediaQueryItem.cjs +26 -26
  159. package/cjs/match-media/MediaQueryItem.cjs.map +1 -1
  160. package/cjs/match-media/MediaQueryItem.d.ts +3 -3
  161. package/cjs/match-media/MediaQueryItem.d.ts.map +1 -1
  162. package/cjs/match-media/MediaQueryList.cjs +7 -7
  163. package/cjs/match-media/MediaQueryList.cjs.map +1 -1
  164. package/cjs/match-media/MediaQueryList.d.ts +5 -5
  165. package/cjs/match-media/MediaQueryList.d.ts.map +1 -1
  166. package/cjs/match-media/MediaQueryParser.cjs +4 -4
  167. package/cjs/match-media/MediaQueryParser.cjs.map +1 -1
  168. package/cjs/match-media/MediaQueryParser.d.ts +2 -2
  169. package/cjs/match-media/MediaQueryParser.d.ts.map +1 -1
  170. package/cjs/mutation-observer/MutationObserver.cjs +17 -15
  171. package/cjs/mutation-observer/MutationObserver.cjs.map +1 -1
  172. package/cjs/mutation-observer/MutationObserver.d.ts +3 -0
  173. package/cjs/mutation-observer/MutationObserver.d.ts.map +1 -1
  174. package/cjs/navigator/Navigator.cjs +13 -10
  175. package/cjs/navigator/Navigator.cjs.map +1 -1
  176. package/cjs/navigator/Navigator.d.ts +2 -2
  177. package/cjs/navigator/Navigator.d.ts.map +1 -1
  178. package/cjs/nodes/NodeFactory.cjs +1 -1
  179. package/cjs/nodes/NodeFactory.cjs.map +1 -1
  180. package/cjs/nodes/document/Document.cjs +69 -51
  181. package/cjs/nodes/document/Document.cjs.map +1 -1
  182. package/cjs/nodes/document/Document.d.ts +9 -16
  183. package/cjs/nodes/document/Document.d.ts.map +1 -1
  184. package/cjs/nodes/document/DocumentReadyStateManager.cjs +12 -10
  185. package/cjs/nodes/document/DocumentReadyStateManager.cjs.map +1 -1
  186. package/cjs/nodes/document/DocumentReadyStateManager.d.ts.map +1 -1
  187. package/cjs/nodes/element/Element.cjs +33 -20
  188. package/cjs/nodes/element/Element.cjs.map +1 -1
  189. package/cjs/nodes/element/Element.d.ts +7 -3
  190. package/cjs/nodes/element/Element.d.ts.map +1 -1
  191. package/cjs/nodes/element/HTMLCollection.cjs +1 -4
  192. package/cjs/nodes/element/HTMLCollection.cjs.map +1 -1
  193. package/cjs/nodes/element/HTMLCollection.d.ts.map +1 -1
  194. package/cjs/nodes/element/NamedNodeMap.cjs +4 -0
  195. package/cjs/nodes/element/NamedNodeMap.cjs.map +1 -1
  196. package/cjs/nodes/element/NamedNodeMap.d.ts.map +1 -1
  197. package/cjs/nodes/element/NamedNodeMapProxyFactory.cjs +0 -9
  198. package/cjs/nodes/element/NamedNodeMapProxyFactory.cjs.map +1 -1
  199. package/cjs/nodes/element/NamedNodeMapProxyFactory.d.ts.map +1 -1
  200. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.cjs +5 -5
  201. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.cjs.map +1 -1
  202. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.d.ts.map +1 -1
  203. package/cjs/nodes/html-area-element/HTMLAreaElement.cjs +7 -8
  204. package/cjs/nodes/html-area-element/HTMLAreaElement.cjs.map +1 -1
  205. package/cjs/nodes/html-area-element/HTMLAreaElement.d.ts.map +1 -1
  206. package/cjs/nodes/html-audio-element/Audio.cjs +28 -0
  207. package/cjs/nodes/html-audio-element/Audio.cjs.map +1 -1
  208. package/cjs/nodes/html-audio-element/Audio.d.ts +4 -0
  209. package/cjs/nodes/html-audio-element/Audio.d.ts.map +1 -1
  210. package/cjs/nodes/html-button-element/HTMLButtonElement.cjs +63 -35
  211. package/cjs/nodes/html-button-element/HTMLButtonElement.cjs.map +1 -1
  212. package/cjs/nodes/html-button-element/HTMLButtonElement.d.ts +27 -3
  213. package/cjs/nodes/html-button-element/HTMLButtonElement.d.ts.map +1 -1
  214. package/cjs/nodes/html-canvas-element/HTMLCanvasElement.cjs +2 -4
  215. package/cjs/nodes/html-canvas-element/HTMLCanvasElement.cjs.map +1 -1
  216. package/cjs/nodes/html-canvas-element/HTMLCanvasElement.d.ts.map +1 -1
  217. package/cjs/nodes/html-document/HTMLDocument.cjs +2 -6
  218. package/cjs/nodes/html-document/HTMLDocument.cjs.map +1 -1
  219. package/cjs/nodes/html-document/HTMLDocument.d.ts +1 -10
  220. package/cjs/nodes/html-document/HTMLDocument.d.ts.map +1 -1
  221. package/cjs/nodes/html-element/HTMLElement.cjs +130 -89
  222. package/cjs/nodes/html-element/HTMLElement.cjs.map +1 -1
  223. package/cjs/nodes/html-element/HTMLElement.d.ts +14 -2
  224. package/cjs/nodes/html-element/HTMLElement.d.ts.map +1 -1
  225. package/cjs/nodes/html-form-element/HTMLFormElement.cjs +6 -7
  226. package/cjs/nodes/html-form-element/HTMLFormElement.cjs.map +1 -1
  227. package/cjs/nodes/html-form-element/HTMLFormElement.d.ts +1 -3
  228. package/cjs/nodes/html-form-element/HTMLFormElement.d.ts.map +1 -1
  229. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs +30 -38
  230. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs.map +1 -1
  231. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.d.ts +0 -6
  232. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.d.ts.map +1 -1
  233. package/cjs/nodes/html-image-element/Image.cjs +28 -0
  234. package/cjs/nodes/html-image-element/Image.cjs.map +1 -1
  235. package/cjs/nodes/html-image-element/Image.d.ts +4 -0
  236. package/cjs/nodes/html-image-element/Image.d.ts.map +1 -1
  237. package/cjs/nodes/html-input-element/HTMLInputElement.cjs +88 -56
  238. package/cjs/nodes/html-input-element/HTMLInputElement.cjs.map +1 -1
  239. package/cjs/nodes/html-input-element/HTMLInputElement.d.ts +25 -0
  240. package/cjs/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
  241. package/cjs/nodes/html-label-element/HTMLLabelElement.cjs +4 -3
  242. package/cjs/nodes/html-label-element/HTMLLabelElement.cjs.map +1 -1
  243. package/cjs/nodes/html-label-element/HTMLLabelElement.d.ts +8 -1
  244. package/cjs/nodes/html-label-element/HTMLLabelElement.d.ts.map +1 -1
  245. package/cjs/nodes/html-link-element/HTMLLinkElement.cjs +10 -16
  246. package/cjs/nodes/html-link-element/HTMLLinkElement.cjs.map +1 -1
  247. package/cjs/nodes/html-link-element/HTMLLinkElement.d.ts +0 -6
  248. package/cjs/nodes/html-link-element/HTMLLinkElement.d.ts.map +1 -1
  249. package/cjs/nodes/html-media-element/HTMLMediaElement.cjs +12 -16
  250. package/cjs/nodes/html-media-element/HTMLMediaElement.cjs.map +1 -1
  251. package/cjs/nodes/html-media-element/HTMLMediaElement.d.ts.map +1 -1
  252. package/cjs/nodes/html-media-element/MediaStream.cjs +3 -0
  253. package/cjs/nodes/html-media-element/MediaStream.cjs.map +1 -1
  254. package/cjs/nodes/html-media-element/MediaStream.d.ts.map +1 -1
  255. package/cjs/nodes/html-media-element/MediaStreamTrack.cjs +3 -0
  256. package/cjs/nodes/html-media-element/MediaStreamTrack.cjs.map +1 -1
  257. package/cjs/nodes/html-media-element/MediaStreamTrack.d.ts.map +1 -1
  258. package/cjs/nodes/html-media-element/TextTrack.cjs +3 -0
  259. package/cjs/nodes/html-media-element/TextTrack.cjs.map +1 -1
  260. package/cjs/nodes/html-media-element/TextTrack.d.ts.map +1 -1
  261. package/cjs/nodes/html-media-element/TextTrackCue.cjs +3 -0
  262. package/cjs/nodes/html-media-element/TextTrackCue.cjs.map +1 -1
  263. package/cjs/nodes/html-media-element/TextTrackCue.d.ts.map +1 -1
  264. package/cjs/nodes/html-media-element/VTTCue.cjs +7 -8
  265. package/cjs/nodes/html-media-element/VTTCue.cjs.map +1 -1
  266. package/cjs/nodes/html-media-element/VTTCue.d.ts +1 -4
  267. package/cjs/nodes/html-media-element/VTTCue.d.ts.map +1 -1
  268. package/cjs/nodes/html-meter-element/HTMLMeterElement.cjs +30 -6
  269. package/cjs/nodes/html-meter-element/HTMLMeterElement.cjs.map +1 -1
  270. package/cjs/nodes/html-meter-element/HTMLMeterElement.d.ts.map +1 -1
  271. package/cjs/nodes/html-progress-element/HTMLProgressElement.cjs +26 -2
  272. package/cjs/nodes/html-progress-element/HTMLProgressElement.cjs.map +1 -1
  273. package/cjs/nodes/html-progress-element/HTMLProgressElement.d.ts.map +1 -1
  274. package/cjs/nodes/html-script-element/HTMLScriptElement.cjs +21 -27
  275. package/cjs/nodes/html-script-element/HTMLScriptElement.cjs.map +1 -1
  276. package/cjs/nodes/html-script-element/HTMLScriptElement.d.ts +0 -6
  277. package/cjs/nodes/html-script-element/HTMLScriptElement.d.ts.map +1 -1
  278. package/cjs/nodes/html-select-element/HTMLSelectElement.cjs +5 -5
  279. package/cjs/nodes/html-select-element/HTMLSelectElement.cjs.map +1 -1
  280. package/cjs/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
  281. package/cjs/nodes/html-table-element/HTMLTableElement.cjs +8 -9
  282. package/cjs/nodes/html-table-element/HTMLTableElement.cjs.map +1 -1
  283. package/cjs/nodes/html-table-element/HTMLTableElement.d.ts.map +1 -1
  284. package/cjs/nodes/html-table-row-element/HTMLTableRowElement.cjs +5 -6
  285. package/cjs/nodes/html-table-row-element/HTMLTableRowElement.cjs.map +1 -1
  286. package/cjs/nodes/html-table-row-element/HTMLTableRowElement.d.ts.map +1 -1
  287. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.cjs +1 -2
  288. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.cjs.map +1 -1
  289. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.d.ts.map +1 -1
  290. package/cjs/nodes/html-track-element/HTMLTrackElement.cjs +1 -2
  291. package/cjs/nodes/html-track-element/HTMLTrackElement.cjs.map +1 -1
  292. package/cjs/nodes/node/Node.cjs +23 -22
  293. package/cjs/nodes/node/Node.cjs.map +1 -1
  294. package/cjs/nodes/node/Node.d.ts +1 -2
  295. package/cjs/nodes/node/Node.d.ts.map +1 -1
  296. package/cjs/nodes/node/NodeList.cjs +4 -6
  297. package/cjs/nodes/node/NodeList.cjs.map +1 -1
  298. package/cjs/nodes/node/NodeList.d.ts.map +1 -1
  299. package/cjs/nodes/text/Text.cjs +1 -2
  300. package/cjs/nodes/text/Text.cjs.map +1 -1
  301. package/cjs/nodes/text/Text.d.ts.map +1 -1
  302. package/cjs/permissions/Permissions.cjs +13 -2
  303. package/cjs/permissions/Permissions.cjs.map +1 -1
  304. package/cjs/permissions/Permissions.d.ts +7 -0
  305. package/cjs/permissions/Permissions.d.ts.map +1 -1
  306. package/cjs/query-selector/QuerySelector.cjs +12 -10
  307. package/cjs/query-selector/QuerySelector.cjs.map +1 -1
  308. package/cjs/query-selector/QuerySelector.d.ts.map +1 -1
  309. package/cjs/range/Range.cjs +26 -23
  310. package/cjs/range/Range.cjs.map +1 -1
  311. package/cjs/range/Range.d.ts +2 -2
  312. package/cjs/range/Range.d.ts.map +1 -1
  313. package/cjs/selection/Selection.cjs +16 -17
  314. package/cjs/selection/Selection.cjs.map +1 -1
  315. package/cjs/selection/Selection.d.ts.map +1 -1
  316. package/cjs/window/BrowserWindow.cjs +136 -266
  317. package/cjs/window/BrowserWindow.cjs.map +1 -1
  318. package/cjs/window/BrowserWindow.d.ts +115 -117
  319. package/cjs/window/BrowserWindow.d.ts.map +1 -1
  320. package/cjs/window/VMGlobalPropertyScript.cjs +0 -1
  321. package/cjs/window/VMGlobalPropertyScript.cjs.map +1 -1
  322. package/cjs/window/VMGlobalPropertyScript.d.ts.map +1 -1
  323. package/cjs/window/WindowBrowserContext.cjs +117 -0
  324. package/cjs/window/WindowBrowserContext.cjs.map +1 -0
  325. package/cjs/window/WindowBrowserContext.d.ts +75 -0
  326. package/cjs/window/WindowBrowserContext.d.ts.map +1 -0
  327. package/cjs/window/WindowClassExtender.cjs +332 -0
  328. package/cjs/window/WindowClassExtender.cjs.map +1 -0
  329. package/cjs/window/WindowClassExtender.d.ts +15 -0
  330. package/cjs/window/WindowClassExtender.d.ts.map +1 -0
  331. package/cjs/window/WindowPageOpenUtility.cjs +11 -1
  332. package/cjs/window/WindowPageOpenUtility.cjs.map +1 -1
  333. package/cjs/window/WindowPageOpenUtility.d.ts.map +1 -1
  334. package/cjs/xml-http-request/XMLHttpRequest.cjs +33 -33
  335. package/cjs/xml-http-request/XMLHttpRequest.cjs.map +1 -1
  336. package/cjs/xml-http-request/XMLHttpRequest.d.ts +2 -11
  337. package/cjs/xml-http-request/XMLHttpRequest.d.ts.map +1 -1
  338. package/lib/ClassMethodBinder.d.ts +4 -2
  339. package/lib/ClassMethodBinder.d.ts.map +1 -1
  340. package/lib/ClassMethodBinder.js +8 -6
  341. package/lib/ClassMethodBinder.js.map +1 -1
  342. package/lib/PropertySymbol.d.ts +15 -4
  343. package/lib/PropertySymbol.d.ts.map +1 -1
  344. package/lib/PropertySymbol.js +15 -4
  345. package/lib/PropertySymbol.js.map +1 -1
  346. package/lib/async-task-manager/AsyncTaskManager.d.ts +11 -1
  347. package/lib/async-task-manager/AsyncTaskManager.d.ts.map +1 -1
  348. package/lib/async-task-manager/AsyncTaskManager.js +64 -35
  349. package/lib/async-task-manager/AsyncTaskManager.js.map +1 -1
  350. package/lib/browser/Browser.d.ts +3 -0
  351. package/lib/browser/Browser.d.ts.map +1 -1
  352. package/lib/browser/Browser.js +7 -0
  353. package/lib/browser/Browser.js.map +1 -1
  354. package/lib/browser/BrowserFrame.d.ts +1 -4
  355. package/lib/browser/BrowserFrame.d.ts.map +1 -1
  356. package/lib/browser/BrowserFrame.js +3 -7
  357. package/lib/browser/BrowserFrame.js.map +1 -1
  358. package/lib/browser/DefaultBrowserSettings.d.ts.map +1 -1
  359. package/lib/browser/DefaultBrowserSettings.js +2 -1
  360. package/lib/browser/DefaultBrowserSettings.js.map +1 -1
  361. package/lib/browser/detached-browser/DetachedBrowser.d.ts +3 -0
  362. package/lib/browser/detached-browser/DetachedBrowser.d.ts.map +1 -1
  363. package/lib/browser/detached-browser/DetachedBrowser.js +7 -0
  364. package/lib/browser/detached-browser/DetachedBrowser.js.map +1 -1
  365. package/lib/browser/detached-browser/DetachedBrowserFrame.d.ts +1 -4
  366. package/lib/browser/detached-browser/DetachedBrowserFrame.d.ts.map +1 -1
  367. package/lib/browser/detached-browser/DetachedBrowserFrame.js +3 -7
  368. package/lib/browser/detached-browser/DetachedBrowserFrame.js.map +1 -1
  369. package/lib/browser/types/IBrowser.d.ts +3 -0
  370. package/lib/browser/types/IBrowser.d.ts.map +1 -1
  371. package/lib/browser/types/IBrowser.js +1 -1
  372. package/lib/browser/types/IBrowser.js.map +1 -1
  373. package/lib/browser/types/IBrowserFrame.d.ts +0 -3
  374. package/lib/browser/types/IBrowserFrame.d.ts.map +1 -1
  375. package/lib/browser/types/IBrowserSettings.d.ts +1 -0
  376. package/lib/browser/types/IBrowserSettings.d.ts.map +1 -1
  377. package/{cjs/browser/utilities/BrowserFrameExceptionObserver.d.ts → lib/browser/utilities/BrowserExceptionObserver.d.ts} +9 -7
  378. package/lib/browser/utilities/BrowserExceptionObserver.d.ts.map +1 -0
  379. package/lib/browser/utilities/BrowserExceptionObserver.js +97 -0
  380. package/lib/browser/utilities/BrowserExceptionObserver.js.map +1 -0
  381. package/lib/browser/utilities/BrowserFrameFactory.d.ts.map +1 -1
  382. package/lib/browser/utilities/BrowserFrameFactory.js +27 -35
  383. package/lib/browser/utilities/BrowserFrameFactory.js.map +1 -1
  384. package/lib/browser/utilities/BrowserFrameNavigator.d.ts.map +1 -1
  385. package/lib/browser/utilities/BrowserFrameNavigator.js +52 -29
  386. package/lib/browser/utilities/BrowserFrameNavigator.js.map +1 -1
  387. package/lib/clipboard/Clipboard.d.ts +2 -2
  388. package/lib/clipboard/Clipboard.d.ts.map +1 -1
  389. package/lib/clipboard/Clipboard.js +18 -15
  390. package/lib/clipboard/Clipboard.js.map +1 -1
  391. package/lib/css/declaration/AbstractCSSStyleDeclaration.js +4 -4
  392. package/lib/css/declaration/AbstractCSSStyleDeclaration.js.map +1 -1
  393. package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.d.ts.map +1 -1
  394. package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.js +6 -5
  395. package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.js.map +1 -1
  396. package/lib/css/declaration/measurement-converter/CSSMeasurementConverter.d.ts +2 -2
  397. package/lib/css/declaration/measurement-converter/CSSMeasurementConverter.d.ts.map +1 -1
  398. package/lib/css/declaration/measurement-converter/CSSMeasurementConverter.js +5 -5
  399. package/lib/css/declaration/measurement-converter/CSSMeasurementConverter.js.map +1 -1
  400. package/lib/custom-element/CustomElementRegistry.d.ts +2 -3
  401. package/lib/custom-element/CustomElementRegistry.d.ts.map +1 -1
  402. package/lib/custom-element/CustomElementRegistry.js +37 -17
  403. package/lib/custom-element/CustomElementRegistry.js.map +1 -1
  404. package/lib/dom-implementation/DOMImplementation.d.ts +7 -3
  405. package/lib/dom-implementation/DOMImplementation.d.ts.map +1 -1
  406. package/lib/dom-implementation/DOMImplementation.js +12 -7
  407. package/lib/dom-implementation/DOMImplementation.js.map +1 -1
  408. package/lib/dom-parser/DOMParser.d.ts +2 -6
  409. package/lib/dom-parser/DOMParser.d.ts.map +1 -1
  410. package/lib/dom-parser/DOMParser.js +6 -15
  411. package/lib/dom-parser/DOMParser.js.map +1 -1
  412. package/lib/event/Event.d.ts +49 -7
  413. package/lib/event/Event.d.ts.map +1 -1
  414. package/lib/event/Event.js +76 -18
  415. package/lib/event/Event.js.map +1 -1
  416. package/lib/event/EventTarget.d.ts +12 -8
  417. package/lib/event/EventTarget.d.ts.map +1 -1
  418. package/lib/event/EventTarget.js +153 -141
  419. package/lib/event/EventTarget.js.map +1 -1
  420. package/lib/event/MessagePort.d.ts +1 -2
  421. package/lib/event/MessagePort.d.ts.map +1 -1
  422. package/lib/event/MessagePort.js.map +1 -1
  423. package/lib/event/TEventListener.d.ts +5 -0
  424. package/lib/event/TEventListener.d.ts.map +1 -0
  425. package/lib/event/TEventListener.js +2 -0
  426. package/lib/event/TEventListener.js.map +1 -0
  427. package/lib/event/TEventListenerFunction.d.ts +4 -0
  428. package/lib/event/TEventListenerFunction.d.ts.map +1 -0
  429. package/lib/event/TEventListenerFunction.js +2 -0
  430. package/lib/event/TEventListenerFunction.js.map +1 -0
  431. package/lib/event/TEventListenerObject.d.ts +6 -0
  432. package/lib/event/TEventListenerObject.d.ts.map +1 -0
  433. package/lib/event/TEventListenerObject.js +2 -0
  434. package/lib/event/TEventListenerObject.js.map +1 -0
  435. package/lib/event/events/CustomEvent.d.ts +8 -1
  436. package/lib/event/events/CustomEvent.d.ts.map +1 -1
  437. package/lib/event/events/CustomEvent.js +15 -6
  438. package/lib/event/events/CustomEvent.js.map +1 -1
  439. package/lib/event/events/IErrorEventInit.d.ts.map +1 -1
  440. package/lib/event/events/IMessageEventInit.d.ts +2 -2
  441. package/lib/event/events/IMessageEventInit.d.ts.map +1 -1
  442. package/lib/event/events/MessageEvent.d.ts +2 -2
  443. package/lib/event/events/MessageEvent.d.ts.map +1 -1
  444. package/lib/event/events/MessageEvent.js.map +1 -1
  445. package/lib/fetch/AbortController.d.ts +3 -4
  446. package/lib/fetch/AbortController.d.ts.map +1 -1
  447. package/lib/fetch/AbortController.js +2 -8
  448. package/lib/fetch/AbortController.js.map +1 -1
  449. package/lib/fetch/AbortSignal.d.ts +7 -0
  450. package/lib/fetch/AbortSignal.d.ts.map +1 -1
  451. package/lib/fetch/AbortSignal.js +14 -4
  452. package/lib/fetch/AbortSignal.js.map +1 -1
  453. package/lib/fetch/Fetch.d.ts.map +1 -1
  454. package/lib/fetch/Fetch.js +24 -14
  455. package/lib/fetch/Fetch.js.map +1 -1
  456. package/lib/fetch/Request.d.ts +3 -14
  457. package/lib/fetch/Request.d.ts.map +1 -1
  458. package/lib/fetch/Request.js +62 -45
  459. package/lib/fetch/Request.js.map +1 -1
  460. package/lib/fetch/ResourceFetch.d.ts.map +1 -1
  461. package/lib/fetch/ResourceFetch.js +2 -3
  462. package/lib/fetch/ResourceFetch.js.map +1 -1
  463. package/lib/fetch/Response.d.ts +3 -10
  464. package/lib/fetch/Response.d.ts.map +1 -1
  465. package/lib/fetch/Response.js +63 -40
  466. package/lib/fetch/Response.js.map +1 -1
  467. package/lib/fetch/SyncFetch.d.ts.map +1 -1
  468. package/lib/fetch/SyncFetch.js +12 -13
  469. package/lib/fetch/SyncFetch.js.map +1 -1
  470. package/lib/fetch/multipart/MultipartFormDataParser.d.ts +3 -1
  471. package/lib/fetch/multipart/MultipartFormDataParser.d.ts.map +1 -1
  472. package/lib/fetch/multipart/MultipartFormDataParser.js +12 -6
  473. package/lib/fetch/multipart/MultipartFormDataParser.js.map +1 -1
  474. package/lib/fetch/multipart/MultipartReader.d.ts +4 -1
  475. package/lib/fetch/multipart/MultipartReader.d.ts.map +1 -1
  476. package/lib/fetch/multipart/MultipartReader.js +5 -3
  477. package/lib/fetch/multipart/MultipartReader.js.map +1 -1
  478. package/lib/fetch/utilities/FetchBodyUtility.d.ts +5 -2
  479. package/lib/fetch/utilities/FetchBodyUtility.d.ts.map +1 -1
  480. package/lib/fetch/utilities/FetchBodyUtility.js +10 -5
  481. package/lib/fetch/utilities/FetchBodyUtility.js.map +1 -1
  482. package/lib/file/FileReader.d.ts +1 -4
  483. package/lib/file/FileReader.d.ts.map +1 -1
  484. package/lib/file/FileReader.js +11 -11
  485. package/lib/file/FileReader.js.map +1 -1
  486. package/lib/history/History.d.ts +2 -2
  487. package/lib/history/History.d.ts.map +1 -1
  488. package/lib/history/History.js +28 -14
  489. package/lib/history/History.js.map +1 -1
  490. package/lib/index.d.ts +2 -2
  491. package/lib/location/Location.d.ts +4 -0
  492. package/lib/location/Location.d.ts.map +1 -1
  493. package/lib/location/Location.js +43 -22
  494. package/lib/location/Location.js.map +1 -1
  495. package/lib/match-media/MediaQueryItem.d.ts +3 -3
  496. package/lib/match-media/MediaQueryItem.d.ts.map +1 -1
  497. package/lib/match-media/MediaQueryItem.js +26 -26
  498. package/lib/match-media/MediaQueryItem.js.map +1 -1
  499. package/lib/match-media/MediaQueryList.d.ts +5 -5
  500. package/lib/match-media/MediaQueryList.d.ts.map +1 -1
  501. package/lib/match-media/MediaQueryList.js +7 -7
  502. package/lib/match-media/MediaQueryList.js.map +1 -1
  503. package/lib/match-media/MediaQueryParser.d.ts +2 -2
  504. package/lib/match-media/MediaQueryParser.d.ts.map +1 -1
  505. package/lib/match-media/MediaQueryParser.js +4 -4
  506. package/lib/match-media/MediaQueryParser.js.map +1 -1
  507. package/lib/mutation-observer/MutationObserver.d.ts +3 -0
  508. package/lib/mutation-observer/MutationObserver.d.ts.map +1 -1
  509. package/lib/mutation-observer/MutationObserver.js +17 -15
  510. package/lib/mutation-observer/MutationObserver.js.map +1 -1
  511. package/lib/navigator/Navigator.d.ts +2 -2
  512. package/lib/navigator/Navigator.d.ts.map +1 -1
  513. package/lib/navigator/Navigator.js +13 -10
  514. package/lib/navigator/Navigator.js.map +1 -1
  515. package/lib/nodes/NodeFactory.js +1 -1
  516. package/lib/nodes/NodeFactory.js.map +1 -1
  517. package/lib/nodes/document/Document.d.ts +9 -16
  518. package/lib/nodes/document/Document.d.ts.map +1 -1
  519. package/lib/nodes/document/Document.js +69 -51
  520. package/lib/nodes/document/Document.js.map +1 -1
  521. package/lib/nodes/document/DocumentReadyStateManager.d.ts.map +1 -1
  522. package/lib/nodes/document/DocumentReadyStateManager.js +12 -10
  523. package/lib/nodes/document/DocumentReadyStateManager.js.map +1 -1
  524. package/lib/nodes/element/Element.d.ts +7 -3
  525. package/lib/nodes/element/Element.d.ts.map +1 -1
  526. package/lib/nodes/element/Element.js +33 -20
  527. package/lib/nodes/element/Element.js.map +1 -1
  528. package/lib/nodes/element/HTMLCollection.d.ts.map +1 -1
  529. package/lib/nodes/element/HTMLCollection.js +1 -4
  530. package/lib/nodes/element/HTMLCollection.js.map +1 -1
  531. package/lib/nodes/element/NamedNodeMap.d.ts.map +1 -1
  532. package/lib/nodes/element/NamedNodeMap.js +4 -0
  533. package/lib/nodes/element/NamedNodeMap.js.map +1 -1
  534. package/lib/nodes/element/NamedNodeMapProxyFactory.d.ts.map +1 -1
  535. package/lib/nodes/element/NamedNodeMapProxyFactory.js +0 -6
  536. package/lib/nodes/element/NamedNodeMapProxyFactory.js.map +1 -1
  537. package/lib/nodes/html-anchor-element/HTMLAnchorElement.d.ts.map +1 -1
  538. package/lib/nodes/html-anchor-element/HTMLAnchorElement.js +5 -5
  539. package/lib/nodes/html-anchor-element/HTMLAnchorElement.js.map +1 -1
  540. package/lib/nodes/html-area-element/HTMLAreaElement.d.ts.map +1 -1
  541. package/lib/nodes/html-area-element/HTMLAreaElement.js +7 -8
  542. package/lib/nodes/html-area-element/HTMLAreaElement.js.map +1 -1
  543. package/lib/nodes/html-audio-element/Audio.d.ts +4 -0
  544. package/lib/nodes/html-audio-element/Audio.d.ts.map +1 -1
  545. package/lib/nodes/html-audio-element/Audio.js +5 -0
  546. package/lib/nodes/html-audio-element/Audio.js.map +1 -1
  547. package/lib/nodes/html-button-element/HTMLButtonElement.d.ts +27 -3
  548. package/lib/nodes/html-button-element/HTMLButtonElement.d.ts.map +1 -1
  549. package/lib/nodes/html-button-element/HTMLButtonElement.js +63 -35
  550. package/lib/nodes/html-button-element/HTMLButtonElement.js.map +1 -1
  551. package/lib/nodes/html-canvas-element/HTMLCanvasElement.d.ts.map +1 -1
  552. package/lib/nodes/html-canvas-element/HTMLCanvasElement.js +2 -4
  553. package/lib/nodes/html-canvas-element/HTMLCanvasElement.js.map +1 -1
  554. package/lib/nodes/html-document/HTMLDocument.d.ts +1 -10
  555. package/lib/nodes/html-document/HTMLDocument.d.ts.map +1 -1
  556. package/lib/nodes/html-document/HTMLDocument.js +2 -6
  557. package/lib/nodes/html-document/HTMLDocument.js.map +1 -1
  558. package/lib/nodes/html-element/HTMLElement.d.ts +14 -2
  559. package/lib/nodes/html-element/HTMLElement.d.ts.map +1 -1
  560. package/lib/nodes/html-element/HTMLElement.js +130 -89
  561. package/lib/nodes/html-element/HTMLElement.js.map +1 -1
  562. package/lib/nodes/html-form-element/HTMLFormElement.d.ts +1 -3
  563. package/lib/nodes/html-form-element/HTMLFormElement.d.ts.map +1 -1
  564. package/lib/nodes/html-form-element/HTMLFormElement.js +6 -7
  565. package/lib/nodes/html-form-element/HTMLFormElement.js.map +1 -1
  566. package/lib/nodes/html-iframe-element/HTMLIFrameElement.d.ts +0 -6
  567. package/lib/nodes/html-iframe-element/HTMLIFrameElement.d.ts.map +1 -1
  568. package/lib/nodes/html-iframe-element/HTMLIFrameElement.js +30 -38
  569. package/lib/nodes/html-iframe-element/HTMLIFrameElement.js.map +1 -1
  570. package/lib/nodes/html-image-element/Image.d.ts +4 -0
  571. package/lib/nodes/html-image-element/Image.d.ts.map +1 -1
  572. package/lib/nodes/html-image-element/Image.js +5 -0
  573. package/lib/nodes/html-image-element/Image.js.map +1 -1
  574. package/lib/nodes/html-input-element/HTMLInputElement.d.ts +25 -0
  575. package/lib/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
  576. package/lib/nodes/html-input-element/HTMLInputElement.js +88 -56
  577. package/lib/nodes/html-input-element/HTMLInputElement.js.map +1 -1
  578. package/lib/nodes/html-label-element/HTMLLabelElement.d.ts +8 -1
  579. package/lib/nodes/html-label-element/HTMLLabelElement.d.ts.map +1 -1
  580. package/lib/nodes/html-label-element/HTMLLabelElement.js +4 -3
  581. package/lib/nodes/html-label-element/HTMLLabelElement.js.map +1 -1
  582. package/lib/nodes/html-link-element/HTMLLinkElement.d.ts +0 -6
  583. package/lib/nodes/html-link-element/HTMLLinkElement.d.ts.map +1 -1
  584. package/lib/nodes/html-link-element/HTMLLinkElement.js +10 -16
  585. package/lib/nodes/html-link-element/HTMLLinkElement.js.map +1 -1
  586. package/lib/nodes/html-media-element/HTMLMediaElement.d.ts.map +1 -1
  587. package/lib/nodes/html-media-element/HTMLMediaElement.js +12 -16
  588. package/lib/nodes/html-media-element/HTMLMediaElement.js.map +1 -1
  589. package/lib/nodes/html-media-element/MediaStream.d.ts.map +1 -1
  590. package/lib/nodes/html-media-element/MediaStream.js +3 -0
  591. package/lib/nodes/html-media-element/MediaStream.js.map +1 -1
  592. package/lib/nodes/html-media-element/MediaStreamTrack.d.ts.map +1 -1
  593. package/lib/nodes/html-media-element/MediaStreamTrack.js +3 -0
  594. package/lib/nodes/html-media-element/MediaStreamTrack.js.map +1 -1
  595. package/lib/nodes/html-media-element/TextTrack.d.ts.map +1 -1
  596. package/lib/nodes/html-media-element/TextTrack.js +3 -0
  597. package/lib/nodes/html-media-element/TextTrack.js.map +1 -1
  598. package/lib/nodes/html-media-element/TextTrackCue.d.ts.map +1 -1
  599. package/lib/nodes/html-media-element/TextTrackCue.js +3 -0
  600. package/lib/nodes/html-media-element/TextTrackCue.js.map +1 -1
  601. package/lib/nodes/html-media-element/VTTCue.d.ts +1 -4
  602. package/lib/nodes/html-media-element/VTTCue.d.ts.map +1 -1
  603. package/lib/nodes/html-media-element/VTTCue.js +7 -8
  604. package/lib/nodes/html-media-element/VTTCue.js.map +1 -1
  605. package/lib/nodes/html-meter-element/HTMLMeterElement.d.ts.map +1 -1
  606. package/lib/nodes/html-meter-element/HTMLMeterElement.js +7 -6
  607. package/lib/nodes/html-meter-element/HTMLMeterElement.js.map +1 -1
  608. package/lib/nodes/html-progress-element/HTMLProgressElement.d.ts.map +1 -1
  609. package/lib/nodes/html-progress-element/HTMLProgressElement.js +3 -2
  610. package/lib/nodes/html-progress-element/HTMLProgressElement.js.map +1 -1
  611. package/lib/nodes/html-script-element/HTMLScriptElement.d.ts +0 -6
  612. package/lib/nodes/html-script-element/HTMLScriptElement.d.ts.map +1 -1
  613. package/lib/nodes/html-script-element/HTMLScriptElement.js +21 -27
  614. package/lib/nodes/html-script-element/HTMLScriptElement.js.map +1 -1
  615. package/lib/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
  616. package/lib/nodes/html-select-element/HTMLSelectElement.js +5 -5
  617. package/lib/nodes/html-select-element/HTMLSelectElement.js.map +1 -1
  618. package/lib/nodes/html-table-element/HTMLTableElement.d.ts.map +1 -1
  619. package/lib/nodes/html-table-element/HTMLTableElement.js +8 -9
  620. package/lib/nodes/html-table-element/HTMLTableElement.js.map +1 -1
  621. package/lib/nodes/html-table-row-element/HTMLTableRowElement.d.ts.map +1 -1
  622. package/lib/nodes/html-table-row-element/HTMLTableRowElement.js +5 -6
  623. package/lib/nodes/html-table-row-element/HTMLTableRowElement.js.map +1 -1
  624. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.d.ts.map +1 -1
  625. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js +1 -2
  626. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js.map +1 -1
  627. package/lib/nodes/html-track-element/HTMLTrackElement.js +1 -2
  628. package/lib/nodes/html-track-element/HTMLTrackElement.js.map +1 -1
  629. package/lib/nodes/node/Node.d.ts +1 -2
  630. package/lib/nodes/node/Node.d.ts.map +1 -1
  631. package/lib/nodes/node/Node.js +23 -22
  632. package/lib/nodes/node/Node.js.map +1 -1
  633. package/lib/nodes/node/NodeList.d.ts.map +1 -1
  634. package/lib/nodes/node/NodeList.js +4 -6
  635. package/lib/nodes/node/NodeList.js.map +1 -1
  636. package/lib/nodes/text/Text.d.ts.map +1 -1
  637. package/lib/nodes/text/Text.js +1 -2
  638. package/lib/nodes/text/Text.js.map +1 -1
  639. package/lib/permissions/Permissions.d.ts +7 -0
  640. package/lib/permissions/Permissions.d.ts.map +1 -1
  641. package/lib/permissions/Permissions.js +13 -2
  642. package/lib/permissions/Permissions.js.map +1 -1
  643. package/lib/query-selector/QuerySelector.d.ts.map +1 -1
  644. package/lib/query-selector/QuerySelector.js +12 -10
  645. package/lib/query-selector/QuerySelector.js.map +1 -1
  646. package/lib/range/Range.d.ts +2 -2
  647. package/lib/range/Range.d.ts.map +1 -1
  648. package/lib/range/Range.js +26 -23
  649. package/lib/range/Range.js.map +1 -1
  650. package/lib/selection/Selection.d.ts.map +1 -1
  651. package/lib/selection/Selection.js +16 -17
  652. package/lib/selection/Selection.js.map +1 -1
  653. package/lib/window/BrowserWindow.d.ts +115 -117
  654. package/lib/window/BrowserWindow.d.ts.map +1 -1
  655. package/lib/window/BrowserWindow.js +140 -270
  656. package/lib/window/BrowserWindow.js.map +1 -1
  657. package/lib/window/VMGlobalPropertyScript.d.ts.map +1 -1
  658. package/lib/window/VMGlobalPropertyScript.js +0 -1
  659. package/lib/window/VMGlobalPropertyScript.js.map +1 -1
  660. package/lib/window/WindowBrowserContext.d.ts +75 -0
  661. package/lib/window/WindowBrowserContext.d.ts.map +1 -0
  662. package/lib/window/WindowBrowserContext.js +91 -0
  663. package/lib/window/WindowBrowserContext.js.map +1 -0
  664. package/lib/window/WindowClassExtender.d.ts +15 -0
  665. package/lib/window/WindowClassExtender.d.ts.map +1 -0
  666. package/lib/window/WindowClassExtender.js +303 -0
  667. package/lib/window/WindowClassExtender.js.map +1 -0
  668. package/lib/window/WindowPageOpenUtility.d.ts.map +1 -1
  669. package/lib/window/WindowPageOpenUtility.js +11 -1
  670. package/lib/window/WindowPageOpenUtility.js.map +1 -1
  671. package/lib/xml-http-request/XMLHttpRequest.d.ts +2 -11
  672. package/lib/xml-http-request/XMLHttpRequest.d.ts.map +1 -1
  673. package/lib/xml-http-request/XMLHttpRequest.js +33 -33
  674. package/lib/xml-http-request/XMLHttpRequest.js.map +1 -1
  675. package/package.json +1 -1
  676. package/src/ClassMethodBinder.ts +10 -7
  677. package/src/PropertySymbol.ts +15 -4
  678. package/src/async-task-manager/AsyncTaskManager.ts +71 -39
  679. package/src/browser/Browser.ts +7 -0
  680. package/src/browser/BrowserFrame.ts +3 -7
  681. package/src/browser/DefaultBrowserSettings.ts +2 -1
  682. package/src/browser/detached-browser/DetachedBrowser.ts +7 -0
  683. package/src/browser/detached-browser/DetachedBrowserFrame.ts +3 -7
  684. package/src/browser/types/IBrowser.ts +3 -0
  685. package/src/browser/types/IBrowserFrame.ts +0 -3
  686. package/src/browser/types/IBrowserSettings.ts +1 -0
  687. package/src/browser/utilities/BrowserExceptionObserver.ts +125 -0
  688. package/src/browser/utilities/BrowserFrameFactory.ts +29 -33
  689. package/src/browser/utilities/BrowserFrameNavigator.ts +60 -38
  690. package/src/clipboard/Clipboard.ts +20 -14
  691. package/src/css/declaration/AbstractCSSStyleDeclaration.ts +4 -4
  692. package/src/css/declaration/element-style/CSSStyleDeclarationElementStyle.ts +6 -7
  693. package/src/css/declaration/measurement-converter/CSSMeasurementConverter.ts +6 -8
  694. package/src/custom-element/CustomElementRegistry.ts +45 -17
  695. package/src/dom-implementation/DOMImplementation.ts +15 -10
  696. package/src/dom-parser/DOMParser.ts +11 -16
  697. package/src/event/Event.ts +85 -18
  698. package/src/event/EventTarget.ts +200 -185
  699. package/src/event/MessagePort.ts +1 -2
  700. package/src/event/TEventListener.ts +6 -0
  701. package/src/event/TEventListenerFunction.ts +5 -0
  702. package/src/event/TEventListenerObject.ts +7 -0
  703. package/src/event/events/CustomEvent.ts +16 -6
  704. package/src/event/events/IErrorEventInit.ts +0 -1
  705. package/src/event/events/IMessageEventInit.ts +2 -2
  706. package/src/event/events/MessageEvent.ts +2 -2
  707. package/src/fetch/AbortController.ts +5 -7
  708. package/src/fetch/AbortSignal.ts +30 -4
  709. package/src/fetch/Fetch.ts +44 -16
  710. package/src/fetch/Request.ts +83 -55
  711. package/src/fetch/ResourceFetch.ts +2 -3
  712. package/src/fetch/Response.ts +80 -45
  713. package/src/fetch/SyncFetch.ts +20 -14
  714. package/src/fetch/multipart/MultipartFormDataParser.ts +16 -5
  715. package/src/fetch/multipart/MultipartReader.ts +6 -3
  716. package/src/fetch/utilities/FetchBodyUtility.ts +23 -8
  717. package/src/file/FileReader.ts +16 -12
  718. package/src/history/History.ts +31 -14
  719. package/src/index.ts +2 -2
  720. package/src/location/Location.ts +46 -22
  721. package/src/match-media/MediaQueryItem.ts +27 -30
  722. package/src/match-media/MediaQueryList.ts +11 -21
  723. package/src/match-media/MediaQueryParser.ts +5 -5
  724. package/src/mutation-observer/MutationObserver.ts +25 -17
  725. package/src/navigator/Navigator.ts +14 -12
  726. package/src/nodes/NodeFactory.ts +1 -1
  727. package/src/nodes/document/Document.ts +67 -62
  728. package/src/nodes/document/DocumentReadyStateManager.ts +13 -10
  729. package/src/nodes/element/Element.ts +44 -29
  730. package/src/nodes/element/HTMLCollection.ts +1 -4
  731. package/src/nodes/element/NamedNodeMap.ts +4 -0
  732. package/src/nodes/element/NamedNodeMapProxyFactory.ts +0 -6
  733. package/src/nodes/html-anchor-element/HTMLAnchorElement.ts +4 -8
  734. package/src/nodes/html-area-element/HTMLAreaElement.ts +7 -11
  735. package/src/nodes/html-audio-element/Audio.ts +6 -0
  736. package/src/nodes/html-button-element/HTMLButtonElement.ts +67 -37
  737. package/src/nodes/html-canvas-element/HTMLCanvasElement.ts +5 -3
  738. package/src/nodes/html-document/HTMLDocument.ts +2 -8
  739. package/src/nodes/html-element/HTMLElement.ts +151 -129
  740. package/src/nodes/html-form-element/HTMLFormElement.ts +7 -9
  741. package/src/nodes/html-iframe-element/HTMLIFrameElement.ts +31 -42
  742. package/src/nodes/html-image-element/Image.ts +6 -0
  743. package/src/nodes/html-input-element/HTMLInputElement.ts +96 -61
  744. package/src/nodes/html-label-element/HTMLLabelElement.ts +21 -6
  745. package/src/nodes/html-link-element/HTMLLinkElement.ts +12 -19
  746. package/src/nodes/html-media-element/HTMLMediaElement.ts +15 -12
  747. package/src/nodes/html-media-element/MediaStream.ts +6 -0
  748. package/src/nodes/html-media-element/MediaStreamTrack.ts +6 -0
  749. package/src/nodes/html-media-element/TextTrack.ts +6 -0
  750. package/src/nodes/html-media-element/TextTrackCue.ts +6 -0
  751. package/src/nodes/html-media-element/VTTCue.ts +10 -9
  752. package/src/nodes/html-meter-element/HTMLMeterElement.ts +8 -6
  753. package/src/nodes/html-progress-element/HTMLProgressElement.ts +4 -2
  754. package/src/nodes/html-script-element/HTMLScriptElement.ts +25 -45
  755. package/src/nodes/html-select-element/HTMLSelectElement.ts +6 -5
  756. package/src/nodes/html-table-element/HTMLTableElement.ts +8 -9
  757. package/src/nodes/html-table-row-element/HTMLTableRowElement.ts +5 -6
  758. package/src/nodes/html-text-area-element/HTMLTextAreaElement.ts +1 -2
  759. package/src/nodes/html-track-element/HTMLTrackElement.ts +1 -1
  760. package/src/nodes/node/Node.ts +28 -26
  761. package/src/nodes/node/NodeList.ts +10 -11
  762. package/src/nodes/text/Text.ts +1 -2
  763. package/src/permissions/Permissions.ts +17 -1
  764. package/src/query-selector/QuerySelector.ts +15 -10
  765. package/src/range/Range.ts +39 -23
  766. package/src/selection/Selection.ts +27 -17
  767. package/src/window/BrowserWindow.ts +308 -335
  768. package/src/window/VMGlobalPropertyScript.ts +0 -1
  769. package/src/window/WindowBrowserContext.ts +114 -0
  770. package/src/window/WindowClassExtender.ts +306 -0
  771. package/src/window/WindowPageOpenUtility.ts +11 -1
  772. package/src/xml-http-request/XMLHttpRequest.ts +39 -36
  773. package/cjs/browser/utilities/BrowserFrameExceptionObserver.cjs +0 -80
  774. package/cjs/browser/utilities/BrowserFrameExceptionObserver.cjs.map +0 -1
  775. package/cjs/browser/utilities/BrowserFrameExceptionObserver.d.ts.map +0 -1
  776. package/cjs/event/IEventListener.cjs.map +0 -1
  777. package/cjs/event/IEventListener.d.ts +0 -13
  778. package/cjs/event/IEventListener.d.ts.map +0 -1
  779. package/cjs/event/IMessagePort.cjs.map +0 -1
  780. package/cjs/event/IMessagePort.d.ts +0 -24
  781. package/cjs/event/IMessagePort.d.ts.map +0 -1
  782. package/cjs/window/WindowBrowserSettingsReader.cjs +0 -72
  783. package/cjs/window/WindowBrowserSettingsReader.cjs.map +0 -1
  784. package/cjs/window/WindowBrowserSettingsReader.d.ts +0 -29
  785. package/cjs/window/WindowBrowserSettingsReader.d.ts.map +0 -1
  786. package/lib/browser/utilities/BrowserFrameExceptionObserver.d.ts.map +0 -1
  787. package/lib/browser/utilities/BrowserFrameExceptionObserver.js +0 -77
  788. package/lib/browser/utilities/BrowserFrameExceptionObserver.js.map +0 -1
  789. package/lib/event/IEventListener.d.ts +0 -13
  790. package/lib/event/IEventListener.d.ts.map +0 -1
  791. package/lib/event/IEventListener.js +0 -2
  792. package/lib/event/IEventListener.js.map +0 -1
  793. package/lib/event/IMessagePort.d.ts +0 -24
  794. package/lib/event/IMessagePort.d.ts.map +0 -1
  795. package/lib/event/IMessagePort.js +0 -2
  796. package/lib/event/IMessagePort.js.map +0 -1
  797. package/lib/window/WindowBrowserSettingsReader.d.ts +0 -29
  798. package/lib/window/WindowBrowserSettingsReader.d.ts.map +0 -1
  799. package/lib/window/WindowBrowserSettingsReader.js +0 -46
  800. package/lib/window/WindowBrowserSettingsReader.js.map +0 -1
  801. package/src/browser/utilities/BrowserFrameExceptionObserver.ts +0 -111
  802. package/src/event/IEventListener.ts +0 -13
  803. package/src/event/IMessagePort.ts +0 -26
  804. package/src/window/WindowBrowserSettingsReader.ts +0 -55
@@ -1,6 +1,5 @@
1
1
  import * as PropertySymbol from '../../PropertySymbol.js';
2
2
  import CharacterData from '../character-data/CharacterData.js';
3
- import DOMException from '../../exception/DOMException.js';
4
3
  import DOMExceptionNameEnum from '../../exception/DOMExceptionNameEnum.js';
5
4
  import HTMLTextAreaElement from '../html-text-area-element/HTMLTextAreaElement.js';
6
5
  import NodeTypeEnum from '../node/NodeTypeEnum.js';
@@ -57,7 +56,7 @@ export default class Text extends CharacterData {
57
56
  const length = this[PropertySymbol.data].length;
58
57
 
59
58
  if (offset < 0 || offset > length) {
60
- throw new DOMException(
59
+ throw new this[PropertySymbol.window].DOMException(
61
60
  'The index is not in the allowed range.',
62
61
  DOMExceptionNameEnum.indexSizeError
63
62
  );
@@ -1,5 +1,6 @@
1
1
  import PermissionStatus from './PermissionStatus.js';
2
2
  import PermissionNameEnum from './PermissionNameEnum.js';
3
+ import BrowserWindow from '../window/BrowserWindow.js';
3
4
 
4
5
  /**
5
6
  * Permissions API.
@@ -11,6 +12,19 @@ export default class Permissions {
11
12
  #permissionStatus: {
12
13
  [name in PermissionNameEnum]?: PermissionStatus;
13
14
  } = {};
15
+ #window: BrowserWindow;
16
+
17
+ /**
18
+ * Constructor.
19
+ *
20
+ * @param window Window.
21
+ */
22
+ constructor(window: BrowserWindow) {
23
+ if (!window?.document) {
24
+ new TypeError('Invalid constructor');
25
+ }
26
+ this.#window = window;
27
+ }
14
28
 
15
29
  /**
16
30
  * Returns scroll restoration.
@@ -38,7 +52,9 @@ export default class Permissions {
38
52
  );
39
53
  }
40
54
 
41
- this.#permissionStatus[permissionDescriptor.name] = new PermissionStatus('granted');
55
+ this.#permissionStatus[permissionDescriptor.name] = new this.#window.PermissionStatus(
56
+ 'granted'
57
+ );
42
58
 
43
59
  return this.#permissionStatus[permissionDescriptor.name];
44
60
  }
@@ -13,7 +13,6 @@ import ISVGElementTagNameMap from '../config/ISVGElementTagNameMap.js';
13
13
  import ICachedQuerySelectorAllItem from '../nodes/node/ICachedQuerySelectorAllResult.js';
14
14
  import ICachedQuerySelectorItem from '../nodes/node/ICachedQuerySelectorResult.js';
15
15
  import ICachedMatchesItem from '../nodes/node/ICachedMatchesResult.js';
16
- import DOMException from '../exception/DOMException.js';
17
16
  import DOMExceptionNameEnum from '../exception/DOMExceptionNameEnum.js';
18
17
 
19
18
  type DocumentPositionAndElement = {
@@ -83,14 +82,16 @@ export default class QuerySelector {
83
82
  return new NodeList<Element>(PropertySymbol.illegalConstructor, []);
84
83
  }
85
84
 
85
+ const window = node[PropertySymbol.window];
86
+
86
87
  if (<string>selector === '') {
87
- throw new Error(
88
+ throw new window.Error(
88
89
  `Failed to execute 'querySelectorAll' on '${node.constructor.name}': The provided selector is empty.`
89
90
  );
90
91
  }
91
92
 
92
93
  if (typeof selector !== 'string' && typeof selector !== 'boolean') {
93
- throw new DOMException(
94
+ throw new window.DOMException(
94
95
  `Failed to execute 'querySelectorAll' on '${node.constructor.name}': '${selector}' is not a valid selector.`,
95
96
  'SyntaxError'
96
97
  );
@@ -109,7 +110,7 @@ export default class QuerySelector {
109
110
  }
110
111
 
111
112
  if (INVALID_SELECTOR_REGEXP.test(selector)) {
112
- throw new Error(
113
+ throw new window.Error(
113
114
  `Failed to execute 'querySelectorAll' on '${node.constructor.name}': '${selector}' is not a valid selector.`
114
115
  );
115
116
  }
@@ -202,14 +203,16 @@ export default class QuerySelector {
202
203
  return null;
203
204
  }
204
205
 
206
+ const window = node[PropertySymbol.window];
207
+
205
208
  if (selector === '') {
206
- throw new Error(
209
+ throw new window.Error(
207
210
  `Failed to execute 'querySelector' on '${node.constructor.name}': The provided selector is empty.`
208
211
  );
209
212
  }
210
213
 
211
214
  if (typeof selector !== 'string' && typeof selector !== 'boolean') {
212
- throw new DOMException(
215
+ throw new window.DOMException(
213
216
  `Failed to execute 'querySelector' on '${node.constructor.name}': '${selector}' is not a valid selector.`,
214
217
  'SyntaxError'
215
218
  );
@@ -227,7 +230,7 @@ export default class QuerySelector {
227
230
  }
228
231
 
229
232
  if (INVALID_SELECTOR_REGEXP.test(selector)) {
230
- throw new Error(
233
+ throw new window.Error(
231
234
  `Failed to execute 'querySelector' on '${node.constructor.name}': '${selector}' is not a valid selector.`
232
235
  );
233
236
  }
@@ -284,14 +287,16 @@ export default class QuerySelector {
284
287
  };
285
288
  }
286
289
 
290
+ const window = element[PropertySymbol.window];
291
+
287
292
  if (<string>selector === '') {
288
- throw new Error(
293
+ throw new window.Error(
289
294
  `Failed to execute 'matches' on '${element.constructor.name}': The provided selector is empty.`
290
295
  );
291
296
  }
292
297
 
293
298
  if (typeof selector !== 'string' && typeof selector !== 'boolean') {
294
- throw new DOMException(
299
+ throw new window.DOMException(
295
300
  `Failed to execute 'matches' on '${element.constructor.name}': '${selector}' is not a valid selector.`,
296
301
  DOMExceptionNameEnum.syntaxError
297
302
  );
@@ -316,7 +321,7 @@ export default class QuerySelector {
316
321
  if (ignoreErrors) {
317
322
  return null;
318
323
  }
319
- throw new Error(
324
+ throw new window.Error(
320
325
  `Failed to execute 'matches' on '${element.constructor.name}': '${selector}' is not a valid selector.`
321
326
  );
322
327
  }
@@ -4,7 +4,6 @@ import Document from '../nodes/document/Document.js';
4
4
  import DocumentFragment from '../nodes/document-fragment/DocumentFragment.js';
5
5
  import DOMRect from '../nodes/element/DOMRect.js';
6
6
  import RangeHowEnum from './RangeHowEnum.js';
7
- import DOMException from '../exception/DOMException.js';
8
7
  import DOMExceptionNameEnum from '../exception/DOMExceptionNameEnum.js';
9
8
  import RangeUtility from './RangeUtility.js';
10
9
  import NodeTypeEnum from '../nodes/node/NodeTypeEnum.js';
@@ -26,6 +25,9 @@ import BrowserWindow from '../window/BrowserWindow.js';
26
25
  * https://developer.mozilla.org/en-US/docs/Web/API/Range.
27
26
  */
28
27
  export default class Range {
28
+ // Injected by WindowClassExtender
29
+ protected declare [PropertySymbol.window]: BrowserWindow;
30
+
29
31
  public static readonly END_TO_END: number = RangeHowEnum.endToEnd;
30
32
  public static readonly END_TO_START: number = RangeHowEnum.endToStart;
31
33
  public static readonly START_TO_END: number = RangeHowEnum.startToEnd;
@@ -36,7 +38,6 @@ export default class Range {
36
38
  public readonly START_TO_START: number = RangeHowEnum.startToStart;
37
39
  public [PropertySymbol.start]: IRangeBoundaryPoint | null = null;
38
40
  public [PropertySymbol.end]: IRangeBoundaryPoint | null = null;
39
- #window: BrowserWindow;
40
41
  public readonly [PropertySymbol.ownerDocument]: Document;
41
42
 
42
43
  /**
@@ -44,8 +45,15 @@ export default class Range {
44
45
  *
45
46
  * @param window Window.
46
47
  */
47
- constructor(window: BrowserWindow) {
48
- this.#window = window;
48
+ constructor() {
49
+ const window = this[PropertySymbol.window];
50
+
51
+ if (!window) {
52
+ throw new TypeError(
53
+ `Failed to construct '${this.constructor.name}': '${this.constructor.name}' was constructed outside a Window context.`
54
+ );
55
+ }
56
+
49
57
  this[PropertySymbol.ownerDocument] = window.document;
50
58
  this[PropertySymbol.start] = { node: window.document, offset: 0 };
51
59
  this[PropertySymbol.end] = { node: window.document, offset: 0 };
@@ -166,14 +174,14 @@ export default class Range {
166
174
  how !== RangeHowEnum.endToEnd &&
167
175
  how !== RangeHowEnum.endToStart
168
176
  ) {
169
- throw new DOMException(
177
+ throw new this[PropertySymbol.window].DOMException(
170
178
  `The comparison method provided must be one of '${RangeHowEnum.startToStart}', '${RangeHowEnum.startToEnd}', '${RangeHowEnum.endToEnd}' or '${RangeHowEnum.endToStart}'.`,
171
179
  DOMExceptionNameEnum.notSupportedError
172
180
  );
173
181
  }
174
182
 
175
183
  if (this[PropertySymbol.ownerDocument] !== sourceRange[PropertySymbol.ownerDocument]) {
176
- throw new DOMException(
184
+ throw new this[PropertySymbol.window].DOMException(
177
185
  `The two Ranges are not in the same tree.`,
178
186
  DOMExceptionNameEnum.wrongDocumentError
179
187
  );
@@ -228,7 +236,7 @@ export default class Range {
228
236
  */
229
237
  public comparePoint(node: Node, offset): number {
230
238
  if (node[PropertySymbol.ownerDocument] !== this[PropertySymbol.ownerDocument]) {
231
- throw new DOMException(
239
+ throw new this[PropertySymbol.window].DOMException(
232
240
  `The two Ranges are not in the same tree.`,
233
241
  DOMExceptionNameEnum.wrongDocumentError
234
242
  );
@@ -264,6 +272,7 @@ export default class Range {
264
272
  * @returns Document fragment.
265
273
  */
266
274
  public cloneContents(): DocumentFragment {
275
+ const window = this[PropertySymbol.window];
267
276
  const fragment = this[PropertySymbol.ownerDocument].createDocumentFragment();
268
277
  const startOffset = this.startOffset;
269
278
  const endOffset = this.endOffset;
@@ -329,7 +338,7 @@ export default class Range {
329
338
  for (const node of (<Node>commonAncestor)[PropertySymbol.nodeArray]) {
330
339
  if (RangeUtility.isContained(node, this)) {
331
340
  if (node[PropertySymbol.nodeType] === NodeTypeEnum.documentTypeNode) {
332
- throw new DOMException(
341
+ throw new window.DOMException(
333
342
  'Invalid document type element.',
334
343
  DOMExceptionNameEnum.hierarchyRequestError
335
344
  );
@@ -356,7 +365,7 @@ export default class Range {
356
365
  const clone = firstPartialContainedChild.cloneNode();
357
366
  fragment.appendChild(clone);
358
367
 
359
- const subRange = new this.#window.Range();
368
+ const subRange = new window.Range();
360
369
  subRange[PropertySymbol.start].node = this[PropertySymbol.start].node;
361
370
  subRange[PropertySymbol.start].offset = startOffset;
362
371
  subRange[PropertySymbol.end].node = firstPartialContainedChild;
@@ -386,7 +395,7 @@ export default class Range {
386
395
  const clone = lastPartiallyContainedChild.cloneNode(false);
387
396
  fragment.appendChild(clone);
388
397
 
389
- const subRange = new this.#window.Range();
398
+ const subRange = new window.Range();
390
399
  subRange[PropertySymbol.start].node = lastPartiallyContainedChild;
391
400
  subRange[PropertySymbol.start].offset = 0;
392
401
  subRange[PropertySymbol.end].node = this[PropertySymbol.end].node;
@@ -406,7 +415,7 @@ export default class Range {
406
415
  * @returns Range.
407
416
  */
408
417
  public cloneRange(): Range {
409
- const clone = new this.#window.Range();
418
+ const clone = new this[PropertySymbol.window].Range();
410
419
 
411
420
  clone[PropertySymbol.start].node = this[PropertySymbol.start].node;
412
421
  clone[PropertySymbol.start].offset = this[PropertySymbol.start].offset;
@@ -549,6 +558,7 @@ export default class Range {
549
558
  * @returns Document fragment.
550
559
  */
551
560
  public extractContents(): DocumentFragment {
561
+ const window = this[PropertySymbol.window];
552
562
  const fragment = this[PropertySymbol.ownerDocument].createDocumentFragment();
553
563
  const startOffset = this.startOffset;
554
564
  const endOffset = this.endOffset;
@@ -622,7 +632,7 @@ export default class Range {
622
632
  for (const node of (<Node>commonAncestor)[PropertySymbol.nodeArray]) {
623
633
  if (RangeUtility.isContained(node, this)) {
624
634
  if (node[PropertySymbol.nodeType] === NodeTypeEnum.documentTypeNode) {
625
- throw new DOMException(
635
+ throw new this[PropertySymbol.window].DOMException(
626
636
  'Invalid document type element.',
627
637
  DOMExceptionNameEnum.hierarchyRequestError
628
638
  );
@@ -685,7 +695,7 @@ export default class Range {
685
695
  const clone = firstPartialContainedChild.cloneNode(false);
686
696
  fragment.appendChild(clone);
687
697
 
688
- const subRange = new this.#window.Range();
698
+ const subRange = new window.Range();
689
699
  subRange[PropertySymbol.start].node = this[PropertySymbol.start].node;
690
700
  subRange[PropertySymbol.start].offset = startOffset;
691
701
  subRange[PropertySymbol.end].node = firstPartialContainedChild;
@@ -716,7 +726,7 @@ export default class Range {
716
726
  const clone = lastPartiallyContainedChild.cloneNode(false);
717
727
  fragment.appendChild(clone);
718
728
 
719
- const subRange = new this.#window.Range();
729
+ const subRange = new window.Range();
720
730
  subRange[PropertySymbol.start].node = lastPartiallyContainedChild;
721
731
  subRange[PropertySymbol.start].offset = 0;
722
732
  subRange[PropertySymbol.end].node = this[PropertySymbol.end].node;
@@ -802,7 +812,10 @@ export default class Range {
802
812
  !this[PropertySymbol.start].node[PropertySymbol.parentNode]) ||
803
813
  newNode === this[PropertySymbol.start].node
804
814
  ) {
805
- throw new DOMException('Invalid start node.', DOMExceptionNameEnum.hierarchyRequestError);
815
+ throw new this[PropertySymbol.window].DOMException(
816
+ 'Invalid start node.',
817
+ DOMExceptionNameEnum.hierarchyRequestError
818
+ );
806
819
  }
807
820
 
808
821
  let referenceNode =
@@ -885,7 +898,7 @@ export default class Range {
885
898
  */
886
899
  public selectNode(node: Node): void {
887
900
  if (!node[PropertySymbol.parentNode]) {
888
- throw new DOMException(
901
+ throw new this[PropertySymbol.window].DOMException(
889
902
  `The given Node has no parent.`,
890
903
  DOMExceptionNameEnum.invalidNodeTypeError
891
904
  );
@@ -907,7 +920,7 @@ export default class Range {
907
920
  */
908
921
  public selectNodeContents(node: Node): void {
909
922
  if (node[PropertySymbol.nodeType] === NodeTypeEnum.documentTypeNode) {
910
- throw new DOMException(
923
+ throw new this[PropertySymbol.window].DOMException(
911
924
  "DocumentType Node can't be used as boundary point.",
912
925
  DOMExceptionNameEnum.invalidNodeTypeError
913
926
  );
@@ -981,7 +994,7 @@ export default class Range {
981
994
  */
982
995
  public setEndAfter(node: Node): void {
983
996
  if (!node[PropertySymbol.parentNode]) {
984
- throw new DOMException(
997
+ throw new this[PropertySymbol.window].DOMException(
985
998
  'The given Node has no parent.',
986
999
  DOMExceptionNameEnum.invalidNodeTypeError
987
1000
  );
@@ -1000,7 +1013,7 @@ export default class Range {
1000
1013
  */
1001
1014
  public setEndBefore(node: Node): void {
1002
1015
  if (!node[PropertySymbol.parentNode]) {
1003
- throw new DOMException(
1016
+ throw new this[PropertySymbol.window].DOMException(
1004
1017
  'The given Node has no parent.',
1005
1018
  DOMExceptionNameEnum.invalidNodeTypeError
1006
1019
  );
@@ -1019,7 +1032,7 @@ export default class Range {
1019
1032
  */
1020
1033
  public setStartAfter(node: Node): void {
1021
1034
  if (!node[PropertySymbol.parentNode]) {
1022
- throw new DOMException(
1035
+ throw new this[PropertySymbol.window].DOMException(
1023
1036
  'The given Node has no parent.',
1024
1037
  DOMExceptionNameEnum.invalidNodeTypeError
1025
1038
  );
@@ -1038,7 +1051,7 @@ export default class Range {
1038
1051
  */
1039
1052
  public setStartBefore(node: Node): void {
1040
1053
  if (!node[PropertySymbol.parentNode]) {
1041
- throw new DOMException(
1054
+ throw new this[PropertySymbol.window].DOMException(
1042
1055
  'The given Node has no parent.',
1043
1056
  DOMExceptionNameEnum.invalidNodeTypeError
1044
1057
  );
@@ -1063,7 +1076,7 @@ export default class Range {
1063
1076
  node[PropertySymbol.nodeType] !== NodeTypeEnum.textNode &&
1064
1077
  RangeUtility.isPartiallyContained(node, this)
1065
1078
  ) {
1066
- throw new DOMException(
1079
+ throw new this[PropertySymbol.window].DOMException(
1067
1080
  'The Range has partially contains a non-Text node.',
1068
1081
  DOMExceptionNameEnum.invalidStateError
1069
1082
  );
@@ -1077,7 +1090,10 @@ export default class Range {
1077
1090
  newParent[PropertySymbol.nodeType] === NodeTypeEnum.documentTypeNode ||
1078
1091
  newParent[PropertySymbol.nodeType] === NodeTypeEnum.documentFragmentNode
1079
1092
  ) {
1080
- throw new DOMException('Invalid element type.', DOMExceptionNameEnum.invalidNodeTypeError);
1093
+ throw new this[PropertySymbol.window].DOMException(
1094
+ 'Invalid element type.',
1095
+ DOMExceptionNameEnum.invalidNodeTypeError
1096
+ );
1081
1097
  }
1082
1098
 
1083
1099
  const fragment = this.extractContents();
@@ -1,6 +1,5 @@
1
1
  import Event from '../event/Event.js';
2
2
  import * as PropertySymbol from '../PropertySymbol.js';
3
- import DOMException from '../exception/DOMException.js';
4
3
  import DOMExceptionNameEnum from '../exception/DOMExceptionNameEnum.js';
5
4
  import Document from '../nodes/document/Document.js';
6
5
  import Node from '../nodes/node/Node.js';
@@ -171,7 +170,9 @@ export default class Selection {
171
170
  */
172
171
  public addRange(newRange: Range): void {
173
172
  if (!newRange) {
174
- throw new Error('Failed to execute addRange on Selection. Parameter 1 is not of type Range.');
173
+ throw new this.#ownerDocument[PropertySymbol.window].TypeError(
174
+ 'Failed to execute addRange on Selection. Parameter 1 is not of type Range.'
175
+ );
175
176
  }
176
177
  if (!this.#range && newRange[PropertySymbol.ownerDocument] === this.#ownerDocument) {
177
178
  this.#associateRange(newRange);
@@ -187,7 +188,10 @@ export default class Selection {
187
188
  */
188
189
  public getRangeAt(index: number): Range {
189
190
  if (!this.#range || index !== 0) {
190
- throw new DOMException('Invalid range index.', DOMExceptionNameEnum.indexSizeError);
191
+ throw new this.#ownerDocument[PropertySymbol.window].DOMException(
192
+ 'Invalid range index.',
193
+ DOMExceptionNameEnum.indexSizeError
194
+ );
191
195
  }
192
196
 
193
197
  return this.#range;
@@ -201,7 +205,10 @@ export default class Selection {
201
205
  */
202
206
  public removeRange(range: Range): void {
203
207
  if (this.#range !== range) {
204
- throw new DOMException('Invalid range.', DOMExceptionNameEnum.notFoundError);
208
+ throw new this.#ownerDocument[PropertySymbol.window].DOMException(
209
+ 'Invalid range.',
210
+ DOMExceptionNameEnum.notFoundError
211
+ );
205
212
  }
206
213
  this.#associateRange(null);
207
214
  }
@@ -236,21 +243,24 @@ export default class Selection {
236
243
  }
237
244
 
238
245
  if (node[PropertySymbol.nodeType] === NodeTypeEnum.documentTypeNode) {
239
- throw new DOMException(
246
+ throw new this.#ownerDocument[PropertySymbol.window].DOMException(
240
247
  "DocumentType Node can't be used as boundary point.",
241
248
  DOMExceptionNameEnum.invalidNodeTypeError
242
249
  );
243
250
  }
244
251
 
245
252
  if (offset > NodeUtility.getNodeLength(node)) {
246
- throw new DOMException('Invalid range index.', DOMExceptionNameEnum.indexSizeError);
253
+ throw new this.#ownerDocument[PropertySymbol.window].DOMException(
254
+ 'Invalid range index.',
255
+ DOMExceptionNameEnum.indexSizeError
256
+ );
247
257
  }
248
258
 
249
259
  if (node[PropertySymbol.ownerDocument] !== this.#ownerDocument) {
250
260
  return;
251
261
  }
252
262
 
253
- const newRange = new this.#ownerDocument[PropertySymbol.ownerWindow].Range();
263
+ const newRange = new this.#ownerDocument[PropertySymbol.window].Range();
254
264
 
255
265
  newRange[PropertySymbol.start].node = node;
256
266
  newRange[PropertySymbol.start].offset = offset;
@@ -279,14 +289,14 @@ export default class Selection {
279
289
  */
280
290
  public collapseToEnd(): void {
281
291
  if (this.#range === null) {
282
- throw new DOMException(
292
+ throw new this.#ownerDocument[PropertySymbol.window].DOMException(
283
293
  'There is no selection to collapse.',
284
294
  DOMExceptionNameEnum.invalidStateError
285
295
  );
286
296
  }
287
297
 
288
298
  const { node, offset } = this.#range[PropertySymbol.end];
289
- const newRange = new this.#ownerDocument[PropertySymbol.ownerWindow].Range();
299
+ const newRange = new this.#ownerDocument[PropertySymbol.window].Range();
290
300
 
291
301
  newRange[PropertySymbol.start].node = node;
292
302
  newRange[PropertySymbol.start].offset = offset;
@@ -303,14 +313,14 @@ export default class Selection {
303
313
  */
304
314
  public collapseToStart(): void {
305
315
  if (!this.#range) {
306
- throw new DOMException(
316
+ throw new this.#ownerDocument[PropertySymbol.window].DOMException(
307
317
  'There is no selection to collapse.',
308
318
  DOMExceptionNameEnum.invalidStateError
309
319
  );
310
320
  }
311
321
 
312
322
  const { node, offset } = this.#range[PropertySymbol.start];
313
- const newRange = new this.#ownerDocument[PropertySymbol.ownerWindow].Range();
323
+ const newRange = new this.#ownerDocument[PropertySymbol.window].Range();
314
324
 
315
325
  newRange[PropertySymbol.start].node = node;
316
326
  newRange[PropertySymbol.start].offset = offset;
@@ -373,7 +383,7 @@ export default class Selection {
373
383
  }
374
384
 
375
385
  if (!this.#range) {
376
- throw new DOMException(
386
+ throw new this.#ownerDocument[PropertySymbol.window].DOMException(
377
387
  'There is no selection to extend.',
378
388
  DOMExceptionNameEnum.invalidStateError
379
389
  );
@@ -381,7 +391,7 @@ export default class Selection {
381
391
 
382
392
  const anchorNode = this.anchorNode;
383
393
  const anchorOffset = this.anchorOffset;
384
- const newRange = new this.#ownerDocument[PropertySymbol.ownerWindow].Range();
394
+ const newRange = new this.#ownerDocument[PropertySymbol.window].Range();
385
395
  newRange[PropertySymbol.start].node = node;
386
396
  newRange[PropertySymbol.start].offset = 0;
387
397
  newRange[PropertySymbol.end].node = node;
@@ -425,7 +435,7 @@ export default class Selection {
425
435
  */
426
436
  public selectAllChildren(node: Node): void {
427
437
  if (node[PropertySymbol.nodeType] === NodeTypeEnum.documentTypeNode) {
428
- throw new DOMException(
438
+ throw new this.#ownerDocument[PropertySymbol.window].DOMException(
429
439
  "DocumentType Node can't be used as boundary point.",
430
440
  DOMExceptionNameEnum.invalidNodeTypeError
431
441
  );
@@ -436,7 +446,7 @@ export default class Selection {
436
446
  }
437
447
 
438
448
  const length = node[PropertySymbol.nodeArray].length;
439
- const newRange = new this.#ownerDocument[PropertySymbol.ownerWindow].Range();
449
+ const newRange = new this.#ownerDocument[PropertySymbol.window].Range();
440
450
 
441
451
  newRange[PropertySymbol.start].node = node;
442
452
  newRange[PropertySymbol.start].offset = 0;
@@ -465,7 +475,7 @@ export default class Selection {
465
475
  anchorOffset > NodeUtility.getNodeLength(anchorNode) ||
466
476
  focusOffset > NodeUtility.getNodeLength(focusNode)
467
477
  ) {
468
- throw new DOMException(
478
+ throw new this.#ownerDocument[PropertySymbol.window].DOMException(
469
479
  'Invalid anchor or focus offset.',
470
480
  DOMExceptionNameEnum.indexSizeError
471
481
  );
@@ -480,7 +490,7 @@ export default class Selection {
480
490
 
481
491
  const anchor = { node: anchorNode, offset: anchorOffset };
482
492
  const focus = { node: focusNode, offset: focusOffset };
483
- const newRange = new this.#ownerDocument[PropertySymbol.ownerWindow].Range();
493
+ const newRange = new this.#ownerDocument[PropertySymbol.window].Range();
484
494
 
485
495
  if (RangeUtility.compareBoundaryPointsPosition(anchor, focus) === -1) {
486
496
  newRange[PropertySymbol.start] = anchor;