happy-dom 16.8.1 → 17.0.1

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.
Files changed (374) hide show
  1. package/cjs/PropertySymbol.cjs +13 -1
  2. package/cjs/PropertySymbol.cjs.map +1 -1
  3. package/cjs/PropertySymbol.d.ts +12 -0
  4. package/cjs/PropertySymbol.d.ts.map +1 -1
  5. package/cjs/async-task-manager/AsyncTaskManager.cjs +67 -18
  6. package/cjs/async-task-manager/AsyncTaskManager.cjs.map +1 -1
  7. package/cjs/async-task-manager/AsyncTaskManager.d.ts +5 -0
  8. package/cjs/async-task-manager/AsyncTaskManager.d.ts.map +1 -1
  9. package/cjs/browser/BrowserSettingsFactory.cjs +4 -0
  10. package/cjs/browser/BrowserSettingsFactory.cjs.map +1 -1
  11. package/cjs/browser/BrowserSettingsFactory.d.ts.map +1 -1
  12. package/cjs/browser/DefaultBrowserSettings.cjs +3 -0
  13. package/cjs/browser/DefaultBrowserSettings.cjs.map +1 -1
  14. package/cjs/browser/DefaultBrowserSettings.d.ts.map +1 -1
  15. package/cjs/browser/types/IBrowserSettings.d.ts +6 -0
  16. package/cjs/browser/types/IBrowserSettings.d.ts.map +1 -1
  17. package/cjs/browser/types/IOptionalBrowserSettings.d.ts +6 -0
  18. package/cjs/browser/types/IOptionalBrowserSettings.d.ts.map +1 -1
  19. package/cjs/browser/utilities/BrowserFrameNavigator.cjs.map +1 -1
  20. package/cjs/browser/utilities/BrowserFrameNavigator.d.ts.map +1 -1
  21. package/cjs/dom/DOMTokenList.cjs +7 -4
  22. package/cjs/dom/DOMTokenList.cjs.map +1 -1
  23. package/cjs/dom/DOMTokenList.d.ts +5 -3
  24. package/cjs/dom/DOMTokenList.d.ts.map +1 -1
  25. package/cjs/event/EventTarget.cjs +31 -5
  26. package/cjs/event/EventTarget.cjs.map +1 -1
  27. package/cjs/event/EventTarget.d.ts.map +1 -1
  28. package/cjs/fetch/Fetch.cjs +67 -13
  29. package/cjs/fetch/Fetch.cjs.map +1 -1
  30. package/cjs/fetch/Fetch.d.ts +3 -0
  31. package/cjs/fetch/Fetch.d.ts.map +1 -1
  32. package/cjs/fetch/Request.cjs +119 -27
  33. package/cjs/fetch/Request.cjs.map +1 -1
  34. package/cjs/fetch/Request.d.ts +65 -9
  35. package/cjs/fetch/Request.d.ts.map +1 -1
  36. package/cjs/fetch/ResourceFetch.cjs +91 -13
  37. package/cjs/fetch/ResourceFetch.cjs.map +1 -1
  38. package/cjs/fetch/ResourceFetch.d.ts +21 -11
  39. package/cjs/fetch/ResourceFetch.d.ts.map +1 -1
  40. package/cjs/fetch/SyncFetch.cjs +36 -7
  41. package/cjs/fetch/SyncFetch.cjs.map +1 -1
  42. package/cjs/fetch/SyncFetch.d.ts.map +1 -1
  43. package/cjs/fetch/preload/PreloadEntry.cjs +44 -0
  44. package/cjs/fetch/preload/PreloadEntry.cjs.map +1 -0
  45. package/cjs/fetch/preload/PreloadEntry.d.ts +26 -0
  46. package/cjs/fetch/preload/PreloadEntry.d.ts.map +1 -0
  47. package/cjs/fetch/preload/PreloadUtility.cjs +29 -0
  48. package/cjs/fetch/preload/PreloadUtility.cjs.map +1 -0
  49. package/cjs/fetch/preload/PreloadUtility.d.ts +26 -0
  50. package/cjs/fetch/preload/PreloadUtility.d.ts.map +1 -0
  51. package/cjs/fetch/types/IRequestInit.d.ts +2 -0
  52. package/cjs/fetch/types/IRequestInit.d.ts.map +1 -1
  53. package/cjs/fetch/types/IRequestMode.cjs +3 -0
  54. package/cjs/fetch/types/IRequestMode.cjs.map +1 -0
  55. package/cjs/fetch/types/IRequestMode.d.ts +3 -0
  56. package/cjs/fetch/types/IRequestMode.d.ts.map +1 -0
  57. package/cjs/fetch/utilities/FetchRequestReferrerUtility.cjs +1 -1
  58. package/cjs/fetch/utilities/FetchRequestReferrerUtility.cjs.map +1 -1
  59. package/cjs/module/CSSModule.cjs +47 -0
  60. package/cjs/module/CSSModule.cjs.map +1 -0
  61. package/cjs/module/CSSModule.d.ts +34 -0
  62. package/cjs/module/CSSModule.d.ts.map +1 -0
  63. package/cjs/module/ECMAScriptModule.cjs +157 -0
  64. package/cjs/module/ECMAScriptModule.cjs.map +1 -0
  65. package/cjs/module/ECMAScriptModule.d.ts +36 -0
  66. package/cjs/module/ECMAScriptModule.d.ts.map +1 -0
  67. package/cjs/module/ECMAScriptModuleCompiler.cjs +550 -0
  68. package/cjs/module/ECMAScriptModuleCompiler.cjs.map +1 -0
  69. package/cjs/module/ECMAScriptModuleCompiler.d.ts +31 -0
  70. package/cjs/module/ECMAScriptModuleCompiler.d.ts.map +1 -0
  71. package/cjs/module/IECMAScriptModuleCompiledResult.cjs +3 -0
  72. package/cjs/module/IECMAScriptModuleCompiledResult.cjs.map +1 -0
  73. package/cjs/module/IECMAScriptModuleCompiledResult.d.ts +21 -0
  74. package/cjs/module/IECMAScriptModuleCompiledResult.d.ts.map +1 -0
  75. package/cjs/module/IECMAScriptModuleImport.cjs +3 -0
  76. package/cjs/module/IECMAScriptModuleImport.cjs.map +1 -0
  77. package/cjs/module/IECMAScriptModuleImport.d.ts +5 -0
  78. package/cjs/module/IECMAScriptModuleImport.d.ts.map +1 -0
  79. package/cjs/module/IModule.cjs +3 -0
  80. package/cjs/module/IModule.cjs.map +1 -0
  81. package/cjs/module/IModule.d.ts +21 -0
  82. package/cjs/module/IModule.d.ts.map +1 -0
  83. package/cjs/module/IModuleImportMap.cjs +3 -0
  84. package/cjs/module/IModuleImportMap.cjs.map +1 -0
  85. package/cjs/module/IModuleImportMap.d.ts +10 -0
  86. package/cjs/module/IModuleImportMap.d.ts.map +1 -0
  87. package/cjs/module/IModuleImportMapRule.cjs +3 -0
  88. package/cjs/module/IModuleImportMapRule.cjs.map +1 -0
  89. package/cjs/module/IModuleImportMapRule.d.ts +5 -0
  90. package/cjs/module/IModuleImportMapRule.d.ts.map +1 -0
  91. package/cjs/module/IModuleImportMapScope.cjs +3 -0
  92. package/cjs/module/IModuleImportMapScope.cjs.map +1 -0
  93. package/cjs/module/IModuleImportMapScope.d.ts +6 -0
  94. package/cjs/module/IModuleImportMapScope.d.ts.map +1 -0
  95. package/cjs/module/JSONModule.cjs +52 -0
  96. package/cjs/module/JSONModule.cjs.map +1 -0
  97. package/cjs/module/JSONModule.d.ts +33 -0
  98. package/cjs/module/JSONModule.d.ts.map +1 -0
  99. package/cjs/module/ModuleFactory.cjs +136 -0
  100. package/cjs/module/ModuleFactory.cjs.map +1 -0
  101. package/cjs/module/ModuleFactory.d.ts +33 -0
  102. package/cjs/module/ModuleFactory.d.ts.map +1 -0
  103. package/cjs/module/ModuleURLUtility.cjs +67 -0
  104. package/cjs/module/ModuleURLUtility.cjs.map +1 -0
  105. package/cjs/module/ModuleURLUtility.d.ts +17 -0
  106. package/cjs/module/ModuleURLUtility.d.ts.map +1 -0
  107. package/cjs/module/UnresolvedModule.cjs +70 -0
  108. package/cjs/module/UnresolvedModule.cjs.map +1 -0
  109. package/cjs/module/UnresolvedModule.d.ts +43 -0
  110. package/cjs/module/UnresolvedModule.d.ts.map +1 -0
  111. package/cjs/nodes/document/Document.cjs +1 -0
  112. package/cjs/nodes/document/Document.cjs.map +1 -1
  113. package/cjs/nodes/document/Document.d.ts +2 -0
  114. package/cjs/nodes/document/Document.d.ts.map +1 -1
  115. package/cjs/nodes/element/Element.cjs +21 -5
  116. package/cjs/nodes/element/Element.cjs.map +1 -1
  117. package/cjs/nodes/element/Element.d.ts +6 -0
  118. package/cjs/nodes/element/Element.d.ts.map +1 -1
  119. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.cjs +8 -0
  120. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.cjs.map +1 -1
  121. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.d.ts +6 -0
  122. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.d.ts.map +1 -1
  123. package/cjs/nodes/html-area-element/HTMLAreaElement.cjs +8 -0
  124. package/cjs/nodes/html-area-element/HTMLAreaElement.cjs.map +1 -1
  125. package/cjs/nodes/html-area-element/HTMLAreaElement.d.ts +6 -0
  126. package/cjs/nodes/html-area-element/HTMLAreaElement.d.ts.map +1 -1
  127. package/cjs/nodes/html-element/HTMLElement.cjs +3 -0
  128. package/cjs/nodes/html-element/HTMLElement.cjs.map +1 -1
  129. package/cjs/nodes/html-element/HTMLElement.d.ts.map +1 -1
  130. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs +7 -3
  131. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs.map +1 -1
  132. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.d.ts.map +1 -1
  133. package/cjs/nodes/html-link-element/HTMLLinkElement.cjs +147 -19
  134. package/cjs/nodes/html-link-element/HTMLLinkElement.cjs.map +1 -1
  135. package/cjs/nodes/html-link-element/HTMLLinkElement.d.ts +8 -2
  136. package/cjs/nodes/html-link-element/HTMLLinkElement.d.ts.map +1 -1
  137. package/cjs/nodes/html-media-element/HTMLMediaElement.cjs +8 -0
  138. package/cjs/nodes/html-media-element/HTMLMediaElement.cjs.map +1 -1
  139. package/cjs/nodes/html-media-element/HTMLMediaElement.d.ts +6 -0
  140. package/cjs/nodes/html-media-element/HTMLMediaElement.d.ts.map +1 -1
  141. package/cjs/nodes/html-script-element/HTMLScriptElement.cjs +380 -46
  142. package/cjs/nodes/html-script-element/HTMLScriptElement.cjs.map +1 -1
  143. package/cjs/nodes/html-script-element/HTMLScriptElement.d.ts +80 -0
  144. package/cjs/nodes/html-script-element/HTMLScriptElement.d.ts.map +1 -1
  145. package/cjs/nodes/html-table-cell-element/HTMLTableCellElement.cjs +0 -1
  146. package/cjs/nodes/html-table-cell-element/HTMLTableCellElement.cjs.map +1 -1
  147. package/cjs/nodes/html-table-cell-element/HTMLTableCellElement.d.ts +0 -3
  148. package/cjs/nodes/html-table-cell-element/HTMLTableCellElement.d.ts.map +1 -1
  149. package/cjs/query-selector/QuerySelector.cjs +16 -7
  150. package/cjs/query-selector/QuerySelector.cjs.map +1 -1
  151. package/cjs/query-selector/QuerySelector.d.ts +2 -1
  152. package/cjs/query-selector/QuerySelector.d.ts.map +1 -1
  153. package/cjs/utilities/AttributeUtility.cjs +36 -0
  154. package/cjs/utilities/AttributeUtility.cjs.map +1 -0
  155. package/cjs/utilities/AttributeUtility.d.ts +18 -0
  156. package/cjs/utilities/AttributeUtility.d.ts.map +1 -0
  157. package/cjs/window/BrowserWindow.cjs +73 -6
  158. package/cjs/window/BrowserWindow.cjs.map +1 -1
  159. package/cjs/window/BrowserWindow.d.ts +14 -0
  160. package/cjs/window/BrowserWindow.d.ts.map +1 -1
  161. package/lib/PropertySymbol.d.ts +12 -0
  162. package/lib/PropertySymbol.d.ts.map +1 -1
  163. package/lib/PropertySymbol.js +12 -0
  164. package/lib/PropertySymbol.js.map +1 -1
  165. package/lib/async-task-manager/AsyncTaskManager.d.ts +5 -0
  166. package/lib/async-task-manager/AsyncTaskManager.d.ts.map +1 -1
  167. package/lib/async-task-manager/AsyncTaskManager.js +67 -18
  168. package/lib/async-task-manager/AsyncTaskManager.js.map +1 -1
  169. package/lib/browser/BrowserSettingsFactory.d.ts.map +1 -1
  170. package/lib/browser/BrowserSettingsFactory.js +4 -0
  171. package/lib/browser/BrowserSettingsFactory.js.map +1 -1
  172. package/lib/browser/DefaultBrowserSettings.d.ts.map +1 -1
  173. package/lib/browser/DefaultBrowserSettings.js +3 -0
  174. package/lib/browser/DefaultBrowserSettings.js.map +1 -1
  175. package/lib/browser/types/IBrowserSettings.d.ts +6 -0
  176. package/lib/browser/types/IBrowserSettings.d.ts.map +1 -1
  177. package/lib/browser/types/IOptionalBrowserSettings.d.ts +6 -0
  178. package/lib/browser/types/IOptionalBrowserSettings.d.ts.map +1 -1
  179. package/lib/browser/utilities/BrowserFrameNavigator.d.ts.map +1 -1
  180. package/lib/browser/utilities/BrowserFrameNavigator.js.map +1 -1
  181. package/lib/dom/DOMTokenList.d.ts +5 -3
  182. package/lib/dom/DOMTokenList.d.ts.map +1 -1
  183. package/lib/dom/DOMTokenList.js +7 -4
  184. package/lib/dom/DOMTokenList.js.map +1 -1
  185. package/lib/event/EventTarget.d.ts.map +1 -1
  186. package/lib/event/EventTarget.js +31 -5
  187. package/lib/event/EventTarget.js.map +1 -1
  188. package/lib/fetch/Fetch.d.ts +3 -0
  189. package/lib/fetch/Fetch.d.ts.map +1 -1
  190. package/lib/fetch/Fetch.js +64 -10
  191. package/lib/fetch/Fetch.js.map +1 -1
  192. package/lib/fetch/Request.d.ts +65 -9
  193. package/lib/fetch/Request.d.ts.map +1 -1
  194. package/lib/fetch/Request.js +116 -24
  195. package/lib/fetch/Request.js.map +1 -1
  196. package/lib/fetch/ResourceFetch.d.ts +21 -11
  197. package/lib/fetch/ResourceFetch.d.ts.map +1 -1
  198. package/lib/fetch/ResourceFetch.js +68 -13
  199. package/lib/fetch/ResourceFetch.js.map +1 -1
  200. package/lib/fetch/SyncFetch.d.ts.map +1 -1
  201. package/lib/fetch/SyncFetch.js +36 -7
  202. package/lib/fetch/SyncFetch.js.map +1 -1
  203. package/lib/fetch/preload/PreloadEntry.d.ts +26 -0
  204. package/lib/fetch/preload/PreloadEntry.d.ts.map +1 -0
  205. package/lib/fetch/preload/PreloadEntry.js +41 -0
  206. package/lib/fetch/preload/PreloadEntry.js.map +1 -0
  207. package/lib/fetch/preload/PreloadUtility.d.ts +26 -0
  208. package/lib/fetch/preload/PreloadUtility.d.ts.map +1 -0
  209. package/lib/fetch/preload/PreloadUtility.js +26 -0
  210. package/lib/fetch/preload/PreloadUtility.js.map +1 -0
  211. package/lib/fetch/types/IRequestInit.d.ts +2 -0
  212. package/lib/fetch/types/IRequestInit.d.ts.map +1 -1
  213. package/lib/fetch/types/IRequestMode.d.ts +3 -0
  214. package/lib/fetch/types/IRequestMode.d.ts.map +1 -0
  215. package/lib/fetch/types/IRequestMode.js +2 -0
  216. package/lib/fetch/types/IRequestMode.js.map +1 -0
  217. package/lib/fetch/utilities/FetchRequestReferrerUtility.js +1 -1
  218. package/lib/fetch/utilities/FetchRequestReferrerUtility.js.map +1 -1
  219. package/lib/module/CSSModule.d.ts +34 -0
  220. package/lib/module/CSSModule.d.ts.map +1 -0
  221. package/lib/module/CSSModule.js +44 -0
  222. package/lib/module/CSSModule.js.map +1 -0
  223. package/lib/module/ECMAScriptModule.d.ts +36 -0
  224. package/lib/module/ECMAScriptModule.d.ts.map +1 -0
  225. package/lib/module/ECMAScriptModule.js +128 -0
  226. package/lib/module/ECMAScriptModule.js.map +1 -0
  227. package/lib/module/ECMAScriptModuleCompiler.d.ts +31 -0
  228. package/lib/module/ECMAScriptModuleCompiler.d.ts.map +1 -0
  229. package/lib/module/ECMAScriptModuleCompiler.js +521 -0
  230. package/lib/module/ECMAScriptModuleCompiler.js.map +1 -0
  231. package/lib/module/IECMAScriptModuleCompiledResult.d.ts +21 -0
  232. package/lib/module/IECMAScriptModuleCompiledResult.d.ts.map +1 -0
  233. package/lib/module/IECMAScriptModuleCompiledResult.js +2 -0
  234. package/lib/module/IECMAScriptModuleCompiledResult.js.map +1 -0
  235. package/lib/module/IECMAScriptModuleImport.d.ts +5 -0
  236. package/lib/module/IECMAScriptModuleImport.d.ts.map +1 -0
  237. package/lib/module/IECMAScriptModuleImport.js +2 -0
  238. package/lib/module/IECMAScriptModuleImport.js.map +1 -0
  239. package/lib/module/IModule.d.ts +21 -0
  240. package/lib/module/IModule.d.ts.map +1 -0
  241. package/lib/module/IModule.js +2 -0
  242. package/lib/module/IModule.js.map +1 -0
  243. package/lib/module/IModuleImportMap.d.ts +10 -0
  244. package/lib/module/IModuleImportMap.d.ts.map +1 -0
  245. package/lib/module/IModuleImportMap.js +2 -0
  246. package/lib/module/IModuleImportMap.js.map +1 -0
  247. package/lib/module/IModuleImportMapRule.d.ts +5 -0
  248. package/lib/module/IModuleImportMapRule.d.ts.map +1 -0
  249. package/lib/module/IModuleImportMapRule.js +2 -0
  250. package/lib/module/IModuleImportMapRule.js.map +1 -0
  251. package/lib/module/IModuleImportMapScope.d.ts +6 -0
  252. package/lib/module/IModuleImportMapScope.d.ts.map +1 -0
  253. package/lib/module/IModuleImportMapScope.js +2 -0
  254. package/lib/module/IModuleImportMapScope.js.map +1 -0
  255. package/lib/module/JSONModule.d.ts +33 -0
  256. package/lib/module/JSONModule.d.ts.map +1 -0
  257. package/lib/module/JSONModule.js +49 -0
  258. package/lib/module/JSONModule.js.map +1 -0
  259. package/lib/module/ModuleFactory.d.ts +33 -0
  260. package/lib/module/ModuleFactory.d.ts.map +1 -0
  261. package/lib/module/ModuleFactory.js +107 -0
  262. package/lib/module/ModuleFactory.js.map +1 -0
  263. package/lib/module/ModuleURLUtility.d.ts +17 -0
  264. package/lib/module/ModuleURLUtility.d.ts.map +1 -0
  265. package/lib/module/ModuleURLUtility.js +41 -0
  266. package/lib/module/ModuleURLUtility.js.map +1 -0
  267. package/lib/module/UnresolvedModule.d.ts +43 -0
  268. package/lib/module/UnresolvedModule.d.ts.map +1 -0
  269. package/lib/module/UnresolvedModule.js +67 -0
  270. package/lib/module/UnresolvedModule.js.map +1 -0
  271. package/lib/nodes/document/Document.d.ts +2 -0
  272. package/lib/nodes/document/Document.d.ts.map +1 -1
  273. package/lib/nodes/document/Document.js +1 -0
  274. package/lib/nodes/document/Document.js.map +1 -1
  275. package/lib/nodes/element/Element.d.ts +6 -0
  276. package/lib/nodes/element/Element.d.ts.map +1 -1
  277. package/lib/nodes/element/Element.js +21 -5
  278. package/lib/nodes/element/Element.js.map +1 -1
  279. package/lib/nodes/html-anchor-element/HTMLAnchorElement.d.ts +6 -0
  280. package/lib/nodes/html-anchor-element/HTMLAnchorElement.d.ts.map +1 -1
  281. package/lib/nodes/html-anchor-element/HTMLAnchorElement.js +8 -0
  282. package/lib/nodes/html-anchor-element/HTMLAnchorElement.js.map +1 -1
  283. package/lib/nodes/html-area-element/HTMLAreaElement.d.ts +6 -0
  284. package/lib/nodes/html-area-element/HTMLAreaElement.d.ts.map +1 -1
  285. package/lib/nodes/html-area-element/HTMLAreaElement.js +8 -0
  286. package/lib/nodes/html-area-element/HTMLAreaElement.js.map +1 -1
  287. package/lib/nodes/html-element/HTMLElement.d.ts.map +1 -1
  288. package/lib/nodes/html-element/HTMLElement.js +3 -0
  289. package/lib/nodes/html-element/HTMLElement.js.map +1 -1
  290. package/lib/nodes/html-iframe-element/HTMLIFrameElement.d.ts.map +1 -1
  291. package/lib/nodes/html-iframe-element/HTMLIFrameElement.js +7 -3
  292. package/lib/nodes/html-iframe-element/HTMLIFrameElement.js.map +1 -1
  293. package/lib/nodes/html-link-element/HTMLLinkElement.d.ts +8 -2
  294. package/lib/nodes/html-link-element/HTMLLinkElement.d.ts.map +1 -1
  295. package/lib/nodes/html-link-element/HTMLLinkElement.js +147 -19
  296. package/lib/nodes/html-link-element/HTMLLinkElement.js.map +1 -1
  297. package/lib/nodes/html-media-element/HTMLMediaElement.d.ts +6 -0
  298. package/lib/nodes/html-media-element/HTMLMediaElement.d.ts.map +1 -1
  299. package/lib/nodes/html-media-element/HTMLMediaElement.js +8 -0
  300. package/lib/nodes/html-media-element/HTMLMediaElement.js.map +1 -1
  301. package/lib/nodes/html-script-element/HTMLScriptElement.d.ts +80 -0
  302. package/lib/nodes/html-script-element/HTMLScriptElement.d.ts.map +1 -1
  303. package/lib/nodes/html-script-element/HTMLScriptElement.js +380 -46
  304. package/lib/nodes/html-script-element/HTMLScriptElement.js.map +1 -1
  305. package/lib/nodes/html-table-cell-element/HTMLTableCellElement.d.ts +0 -3
  306. package/lib/nodes/html-table-cell-element/HTMLTableCellElement.d.ts.map +1 -1
  307. package/lib/nodes/html-table-cell-element/HTMLTableCellElement.js +0 -1
  308. package/lib/nodes/html-table-cell-element/HTMLTableCellElement.js.map +1 -1
  309. package/lib/query-selector/QuerySelector.d.ts +2 -1
  310. package/lib/query-selector/QuerySelector.d.ts.map +1 -1
  311. package/lib/query-selector/QuerySelector.js +16 -7
  312. package/lib/query-selector/QuerySelector.js.map +1 -1
  313. package/lib/utilities/AttributeUtility.d.ts +18 -0
  314. package/lib/utilities/AttributeUtility.d.ts.map +1 -0
  315. package/lib/utilities/AttributeUtility.js +29 -0
  316. package/lib/utilities/AttributeUtility.js.map +1 -0
  317. package/lib/window/BrowserWindow.d.ts +14 -0
  318. package/lib/window/BrowserWindow.d.ts.map +1 -1
  319. package/lib/window/BrowserWindow.js +73 -6
  320. package/lib/window/BrowserWindow.js.map +1 -1
  321. package/package.json +1 -1
  322. package/src/PropertySymbol.ts +12 -0
  323. package/src/async-task-manager/AsyncTaskManager.ts +81 -19
  324. package/src/browser/BrowserSettingsFactory.ts +4 -0
  325. package/src/browser/DefaultBrowserSettings.ts +3 -0
  326. package/src/browser/types/IBrowserSettings.ts +7 -0
  327. package/src/browser/types/IOptionalBrowserSettings.ts +7 -0
  328. package/src/browser/utilities/BrowserFrameNavigator.ts +2 -7
  329. package/src/dom/DOMTokenList.ts +12 -4
  330. package/src/event/EventTarget.ts +31 -11
  331. package/src/fetch/Fetch.ts +82 -16
  332. package/src/fetch/Request.ts +132 -24
  333. package/src/fetch/ResourceFetch.ts +99 -14
  334. package/src/fetch/SyncFetch.ts +41 -9
  335. package/src/fetch/preload/PreloadEntry.ts +46 -0
  336. package/src/fetch/preload/PreloadUtility.ts +33 -0
  337. package/src/fetch/types/IRequestInit.ts +2 -0
  338. package/src/fetch/types/IRequestMode.ts +2 -0
  339. package/src/fetch/utilities/FetchRequestReferrerUtility.ts +1 -1
  340. package/src/module/CSSModule.ts +54 -0
  341. package/src/module/ECMAScriptModule.ts +171 -0
  342. package/src/module/ECMAScriptModuleCompiler.ts +567 -0
  343. package/src/module/IECMAScriptModuleCompiledResult.ts +14 -0
  344. package/src/module/IECMAScriptModuleImport.ts +4 -0
  345. package/src/module/IModule.ts +20 -0
  346. package/src/module/IModuleImportMap.ts +10 -0
  347. package/src/module/IModuleImportMapRule.ts +4 -0
  348. package/src/module/IModuleImportMapScope.ts +6 -0
  349. package/src/module/JSONModule.ts +59 -0
  350. package/src/module/ModuleFactory.ts +134 -0
  351. package/src/module/ModuleURLUtility.ts +51 -0
  352. package/src/module/UnresolvedModule.ts +77 -0
  353. package/src/nodes/document/Document.ts +2 -0
  354. package/src/nodes/element/Element.ts +25 -7
  355. package/src/nodes/html-anchor-element/HTMLAnchorElement.ts +9 -0
  356. package/src/nodes/html-area-element/HTMLAreaElement.ts +9 -0
  357. package/src/nodes/html-element/HTMLElement.ts +3 -0
  358. package/src/nodes/html-iframe-element/HTMLIFrameElement.ts +9 -8
  359. package/src/nodes/html-link-element/HTMLLinkElement.ts +181 -28
  360. package/src/nodes/html-media-element/HTMLMediaElement.ts +9 -0
  361. package/src/nodes/html-script-element/HTMLScriptElement.ts +441 -69
  362. package/src/nodes/html-table-cell-element/HTMLTableCellElement.ts +0 -3
  363. package/src/query-selector/QuerySelector.ts +19 -8
  364. package/src/utilities/AttributeUtility.ts +43 -0
  365. package/src/window/BrowserWindow.ts +77 -10
  366. package/cjs/window/WindowErrorUtility.cjs +0 -85
  367. package/cjs/window/WindowErrorUtility.cjs.map +0 -1
  368. package/cjs/window/WindowErrorUtility.d.ts +0 -27
  369. package/cjs/window/WindowErrorUtility.d.ts.map +0 -1
  370. package/lib/window/WindowErrorUtility.d.ts +0 -27
  371. package/lib/window/WindowErrorUtility.d.ts.map +0 -1
  372. package/lib/window/WindowErrorUtility.js +0 -56
  373. package/lib/window/WindowErrorUtility.js.map +0 -1
  374. package/src/window/WindowErrorUtility.ts +0 -68
@@ -1 +1 @@
1
- {"version":3,"file":"HTMLMediaElement.d.ts","sourceRoot":"","sources":["../../../src/nodes/html-media-element/HTMLMediaElement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HTMLMediaElement.d.ts","sourceRoot":"","sources":["../../../src/nodes/html-media-element/HTMLMediaElement.ts"],"names":[],"mappings":"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"}
@@ -29,11 +29,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  const HTMLElement_js_1 = __importDefault(require("../html-element/HTMLElement.cjs"));
30
30
  const PropertySymbol = __importStar(require("../../PropertySymbol.cjs"));
31
31
  const Event_js_1 = __importDefault(require("../../event/Event.cjs"));
32
- const WindowErrorUtility_js_1 = __importDefault(require("../../window/WindowErrorUtility.cjs"));
33
32
  const WindowBrowserContext_js_1 = __importDefault(require("../../window/WindowBrowserContext.cjs"));
34
33
  const BrowserErrorCaptureEnum_js_1 = __importDefault(require("../../browser/enums/BrowserErrorCaptureEnum.cjs"));
35
34
  const DOMExceptionNameEnum_js_1 = __importDefault(require("../../exception/DOMExceptionNameEnum.cjs"));
36
35
  const ResourceFetch_js_1 = __importDefault(require("../../fetch/ResourceFetch.cjs"));
36
+ const ECMAScriptModule_js_1 = __importDefault(require("../../module/ECMAScriptModule.cjs"));
37
+ const ModuleFactory_js_1 = __importDefault(require("../../module/ModuleFactory.cjs"));
38
+ const DOMTokenList_js_1 = __importDefault(require("../../dom/DOMTokenList.cjs"));
37
39
  /**
38
40
  * HTML Script Element.
39
41
  *
@@ -46,6 +48,7 @@ class HTMLScriptElement extends HTMLElement_js_1.default {
46
48
  onload = null;
47
49
  // Internal properties
48
50
  [PropertySymbol.evaluateScript] = true;
51
+ [PropertySymbol.blocking] = null;
49
52
  // Private properties
50
53
  #loadedScriptURL = null;
51
54
  /**
@@ -64,6 +67,129 @@ class HTMLScriptElement extends HTMLElement_js_1.default {
64
67
  set type(type) {
65
68
  this.setAttribute('type', type);
66
69
  }
70
+ /**
71
+ * Returns blocking.
72
+ */
73
+ get blocking() {
74
+ if (!this[PropertySymbol.blocking]) {
75
+ this[PropertySymbol.blocking] = new DOMTokenList_js_1.default(PropertySymbol.illegalConstructor, this, 'blocking');
76
+ }
77
+ return this[PropertySymbol.blocking];
78
+ }
79
+ /**
80
+ * Sets blocking.
81
+ *
82
+ * @param value Value.
83
+ */
84
+ set blocking(value) {
85
+ this.setAttribute('blocking', value);
86
+ }
87
+ /**
88
+ * Returns crossOrigin.
89
+ *
90
+ * @returns CrossOrigin.
91
+ */
92
+ get crossOrigin() {
93
+ return this.getAttribute('crossorigin') || '';
94
+ }
95
+ /**
96
+ * Sets crossOrigin.
97
+ *
98
+ * @param crossOrigin CrossOrigin.
99
+ */
100
+ set crossOrigin(crossOrigin) {
101
+ this.setAttribute('crossorigin', crossOrigin);
102
+ }
103
+ /**
104
+ * Returns fetch priority.
105
+ *
106
+ * @returns Fetch priority.
107
+ */
108
+ get fetchPriority() {
109
+ const fetchPriority = this.getAttribute('fetchpriority');
110
+ switch (fetchPriority) {
111
+ case 'high':
112
+ case 'low':
113
+ case 'normal':
114
+ return fetchPriority;
115
+ default:
116
+ return 'auto';
117
+ }
118
+ }
119
+ /**
120
+ * Sets fetch priority.
121
+ *
122
+ * @param fetchPriority Fetch priority.
123
+ */
124
+ set fetchPriority(fetchPriority) {
125
+ this.setAttribute('fetchpriority', fetchPriority);
126
+ }
127
+ /**
128
+ * Returns noModule.
129
+ *
130
+ * @returns NoModule.
131
+ */
132
+ get noModule() {
133
+ return this.getAttribute('nomodule') !== null;
134
+ }
135
+ /**
136
+ * Sets noModule.
137
+ *
138
+ * @param noModule NoModule.
139
+ */
140
+ set noModule(noModule) {
141
+ if (noModule) {
142
+ this.setAttribute('nomodule', '');
143
+ }
144
+ else {
145
+ this.removeAttribute('nomodule');
146
+ }
147
+ }
148
+ /**
149
+ * Returns integrity.
150
+ *
151
+ * @returns Integrity.
152
+ */
153
+ get integrity() {
154
+ return this.getAttribute('integrity') || '';
155
+ }
156
+ /**
157
+ * Sets integrity.
158
+ *
159
+ * @param integrity Integrity.
160
+ */
161
+ set integrity(integrity) {
162
+ this.setAttribute('integrity', integrity);
163
+ }
164
+ /**
165
+ * Returns referrerPolicy.
166
+ *
167
+ * @returns ReferrerPolicy.
168
+ */
169
+ get referrerPolicy() {
170
+ const referrerPolicy = this.getAttribute('referrerpolicy');
171
+ switch (referrerPolicy) {
172
+ case 'no-referrer':
173
+ case 'no-referrer-when-downgrade':
174
+ case 'same-origin':
175
+ case 'origin':
176
+ case 'strict-origin':
177
+ case 'origin-when-cross-origin':
178
+ case 'strict-origin-when-cross-origin':
179
+ case 'unsafe-url':
180
+ return referrerPolicy;
181
+ default:
182
+ return '';
183
+ }
184
+ }
185
+ /**
186
+ * Sets referrerPolicy.
187
+ *
188
+ * @param referrerPolicy ReferrerPolicy.
189
+ */
190
+ set referrerPolicy(referrerPolicy) {
191
+ this.setAttribute('referrerpolicy', referrerPolicy);
192
+ }
67
193
  /**
68
194
  * Returns source.
69
195
  *
@@ -194,26 +320,29 @@ class HTMLScriptElement extends HTMLElement_js_1.default {
194
320
  if (this[PropertySymbol.evaluateScript]) {
195
321
  const src = this.getAttribute('src');
196
322
  if (src !== null) {
197
- this.#loadScript(src);
323
+ if (this.getAttribute('type') === 'module') {
324
+ this.#loadModule(src);
325
+ }
326
+ else {
327
+ this.#loadScript(src);
328
+ }
198
329
  }
199
330
  else if (browserSettings && !browserSettings.disableJavaScriptEvaluation) {
200
- const textContent = this.textContent;
331
+ const source = this.textContent;
201
332
  const type = this.getAttribute('type');
202
- if (textContent &&
203
- (type === null ||
333
+ if (source) {
334
+ if (type === 'module') {
335
+ this.#evaluateModule(source);
336
+ }
337
+ else if (type === 'importmap') {
338
+ this.#evaluateImportMap(source);
339
+ }
340
+ else if (type === null ||
204
341
  type === 'application/x-ecmascript' ||
205
342
  type === 'application/x-javascript' ||
206
- type.startsWith('text/javascript'))) {
207
- this[PropertySymbol.ownerDocument][PropertySymbol.currentScript] = this;
208
- const code = `//# sourceURL=${this[PropertySymbol.window].location.href}\n` + textContent;
209
- if (browserSettings.disableErrorCapturing ||
210
- browserSettings.errorCapture !== BrowserErrorCaptureEnum_js_1.default.tryAndCatch) {
211
- this[PropertySymbol.window].eval(code);
343
+ type.startsWith('text/javascript')) {
344
+ this.#evaluateScript(source);
212
345
  }
213
- else {
214
- WindowErrorUtility_js_1.default.captureError(this[PropertySymbol.window], () => this[PropertySymbol.window].eval(code));
215
- }
216
- this[PropertySymbol.ownerDocument][PropertySymbol.currentScript] = null;
217
346
  }
218
347
  }
219
348
  }
@@ -226,9 +355,182 @@ class HTMLScriptElement extends HTMLElement_js_1.default {
226
355
  if (attribute[PropertySymbol.name] === 'src' &&
227
356
  attribute[PropertySymbol.value] !== null &&
228
357
  this[PropertySymbol.isConnected]) {
229
- this.#loadScript(attribute[PropertySymbol.value]);
358
+ if (this.getAttribute('type') === 'module') {
359
+ this.#loadModule(attribute[PropertySymbol.value]);
360
+ }
361
+ else {
362
+ this.#loadScript(attribute[PropertySymbol.value]);
363
+ }
230
364
  }
231
365
  }
366
+ /**
367
+ * Evaluates a module.
368
+ *
369
+ * @param source Source.
370
+ */
371
+ async #evaluateModule(source) {
372
+ const url = this[PropertySymbol.ownerDocument].location;
373
+ const window = this[PropertySymbol.window];
374
+ const browserSettings = new WindowBrowserContext_js_1.default(window).getSettings();
375
+ const browserFrame = new WindowBrowserContext_js_1.default(window).getBrowserFrame();
376
+ if (!browserFrame) {
377
+ return;
378
+ }
379
+ const module = new ECMAScriptModule_js_1.default(window, url, source);
380
+ const readyStateManager = window[PropertySymbol.readyStateManager];
381
+ readyStateManager.startTask();
382
+ if (browserSettings.disableErrorCapturing ||
383
+ browserSettings.errorCapture !== BrowserErrorCaptureEnum_js_1.default.tryAndCatch) {
384
+ await module.evaluate();
385
+ }
386
+ else {
387
+ try {
388
+ await module.evaluate();
389
+ }
390
+ catch (error) {
391
+ window[PropertySymbol.dispatchError](error);
392
+ return;
393
+ }
394
+ }
395
+ readyStateManager.endTask();
396
+ this.dispatchEvent(new Event_js_1.default('load'));
397
+ }
398
+ /**
399
+ * Evaluates an import map.
400
+ *
401
+ * @param source Source.
402
+ */
403
+ async #evaluateImportMap(source) {
404
+ const window = this[PropertySymbol.window];
405
+ const browserSettings = new WindowBrowserContext_js_1.default(window).getSettings();
406
+ const browserFrame = new WindowBrowserContext_js_1.default(window).getBrowserFrame();
407
+ if (!browserFrame || window[PropertySymbol.moduleImportMap]) {
408
+ return;
409
+ }
410
+ let json;
411
+ if (browserSettings.disableErrorCapturing ||
412
+ browserSettings.errorCapture !== BrowserErrorCaptureEnum_js_1.default.tryAndCatch) {
413
+ json = JSON.parse(source);
414
+ }
415
+ else {
416
+ try {
417
+ json = JSON.parse(source);
418
+ }
419
+ catch (error) {
420
+ window[PropertySymbol.dispatchError](error);
421
+ return;
422
+ }
423
+ }
424
+ if (json.imports || json.scopes) {
425
+ const importMap = {
426
+ imports: [],
427
+ scopes: []
428
+ };
429
+ if (json.imports) {
430
+ for (const key of Object.keys(json.imports)) {
431
+ importMap.imports.push({
432
+ from: key,
433
+ to: json.imports[key]
434
+ });
435
+ }
436
+ }
437
+ if (json.scopes) {
438
+ for (const scopeKey of Object.keys(json.scopes)) {
439
+ const scope = {
440
+ scope: scopeKey,
441
+ rules: []
442
+ };
443
+ for (const importKey of Object.keys(json.scopes[scopeKey])) {
444
+ const value = json.scopes[scopeKey][importKey];
445
+ scope.rules.push({
446
+ from: importKey,
447
+ to: value
448
+ });
449
+ }
450
+ importMap.scopes.push(scope);
451
+ }
452
+ }
453
+ window[PropertySymbol.moduleImportMap] = importMap;
454
+ }
455
+ }
456
+ /**
457
+ * Evaluates a script.
458
+ *
459
+ * @param source Source.
460
+ */
461
+ #evaluateScript(source) {
462
+ const window = this[PropertySymbol.window];
463
+ const browserSettings = new WindowBrowserContext_js_1.default(window).getSettings();
464
+ if (!browserSettings) {
465
+ return;
466
+ }
467
+ this[PropertySymbol.ownerDocument][PropertySymbol.currentScript] = this;
468
+ const code = `//# sourceURL=${this[PropertySymbol.ownerDocument].location.href}\n` + source;
469
+ if (browserSettings.disableErrorCapturing ||
470
+ browserSettings.errorCapture !== BrowserErrorCaptureEnum_js_1.default.tryAndCatch) {
471
+ window.eval(code);
472
+ }
473
+ else {
474
+ try {
475
+ window.eval(code);
476
+ }
477
+ catch (error) {
478
+ window[PropertySymbol.dispatchError](error);
479
+ }
480
+ }
481
+ this[PropertySymbol.ownerDocument][PropertySymbol.currentScript] = null;
482
+ }
483
+ /**
484
+ * Loads a module.
485
+ *
486
+ * @param url URL.
487
+ */
488
+ async #loadModule(url) {
489
+ const window = this[PropertySymbol.window];
490
+ const browserFrame = new WindowBrowserContext_js_1.default(window).getBrowserFrame();
491
+ const browserSettings = new WindowBrowserContext_js_1.default(window).getSettings();
492
+ if (!browserSettings) {
493
+ return;
494
+ }
495
+ if (!url || !this[PropertySymbol.isConnected] || this.getAttribute('type') !== 'module') {
496
+ return;
497
+ }
498
+ if (browserSettings &&
499
+ (browserSettings.disableJavaScriptFileLoading || browserSettings.disableJavaScriptEvaluation)) {
500
+ if (browserSettings.handleDisabledFileLoadingAsSuccess) {
501
+ this.dispatchEvent(new Event_js_1.default('load'));
502
+ }
503
+ else {
504
+ const error = new window.DOMException(`Failed to load module "${url}". JavaScript file loading is disabled.`, DOMExceptionNameEnum_js_1.default.notSupportedError);
505
+ browserFrame.page?.console.error(error);
506
+ this.dispatchEvent(new Event_js_1.default('error'));
507
+ }
508
+ return;
509
+ }
510
+ const readyStateManager = window[PropertySymbol.readyStateManager];
511
+ readyStateManager.startTask();
512
+ // TODO: What to do with "referrerPolicy" and "crossOrigin" for modules?
513
+ // @see https://github.com/w3c/webappsec-referrer-policy/issues/111
514
+ if (browserSettings.disableErrorCapturing ||
515
+ browserSettings.errorCapture !== BrowserErrorCaptureEnum_js_1.default.tryAndCatch) {
516
+ const module = await ModuleFactory_js_1.default.getModule(window, window.location, url);
517
+ await module.evaluate();
518
+ }
519
+ else {
520
+ try {
521
+ const module = await ModuleFactory_js_1.default.getModule(window, window.location, url);
522
+ await module.evaluate();
523
+ }
524
+ catch (error) {
525
+ browserFrame.page?.console.error(error);
526
+ this.dispatchEvent(new Event_js_1.default('error'));
527
+ readyStateManager.endTask();
528
+ return;
529
+ }
530
+ }
531
+ readyStateManager.endTask();
532
+ this.dispatchEvent(new Event_js_1.default('load'));
533
+ }
232
534
  /**
233
535
  * Returns a URL relative to the given Location object.
234
536
  *
@@ -237,24 +539,28 @@ class HTMLScriptElement extends HTMLElement_js_1.default {
237
539
  async #loadScript(url) {
238
540
  const window = this[PropertySymbol.window];
239
541
  const browserFrame = new WindowBrowserContext_js_1.default(window).getBrowserFrame();
240
- const async = this.getAttribute('async') !== null ||
241
- this.getAttribute('defer') !== null ||
242
- this.getAttribute('type') === 'module';
243
542
  if (!browserFrame) {
244
543
  return;
245
544
  }
246
545
  const browserSettings = browserFrame.page?.context?.browser?.settings;
247
- if (!url || !this[PropertySymbol.isConnected]) {
546
+ const type = this.getAttribute('type');
547
+ if (!url ||
548
+ !this[PropertySymbol.isConnected] ||
549
+ (type !== null &&
550
+ type !== 'application/x-ecmascript' &&
551
+ type !== 'application/x-javascript' &&
552
+ !type.startsWith('text/javascript'))) {
248
553
  return;
249
554
  }
250
555
  let absoluteURL;
251
556
  try {
252
- absoluteURL = new URL(url, this[PropertySymbol.window].location.href).href;
557
+ absoluteURL = new URL(url, window.location.href);
253
558
  }
254
559
  catch (error) {
255
560
  return;
256
561
  }
257
- if (this.#loadedScriptURL === absoluteURL) {
562
+ const absoluteURLString = absoluteURL.toString();
563
+ if (this.#loadedScriptURL === absoluteURLString) {
258
564
  return;
259
565
  }
260
566
  if (browserSettings &&
@@ -263,51 +569,79 @@ class HTMLScriptElement extends HTMLElement_js_1.default {
263
569
  this.dispatchEvent(new Event_js_1.default('load'));
264
570
  }
265
571
  else {
266
- WindowErrorUtility_js_1.default.dispatchError(this, new window.DOMException(`Failed to load external script "${absoluteURL}". JavaScript file loading is disabled.`, DOMExceptionNameEnum_js_1.default.notSupportedError));
572
+ const error = new window.DOMException(`Failed to load script "${absoluteURL}". JavaScript file loading is disabled.`, DOMExceptionNameEnum_js_1.default.notSupportedError);
573
+ browserFrame.page?.console.error(error);
574
+ this.dispatchEvent(new Event_js_1.default('error'));
267
575
  }
268
576
  return;
269
577
  }
270
- const resourceFetch = new ResourceFetch_js_1.default({
271
- browserFrame,
272
- window: this[PropertySymbol.window]
273
- });
578
+ this.#loadedScriptURL = absoluteURLString;
579
+ const resourceFetch = new ResourceFetch_js_1.default(window);
580
+ const async = this.getAttribute('async') !== null || this.getAttribute('defer') !== null;
274
581
  let code = null;
275
- let error = null;
276
- this.#loadedScriptURL = absoluteURL;
277
582
  if (async) {
278
- const readyStateManager = this[PropertySymbol.window][PropertySymbol.readyStateManager];
583
+ const readyStateManager = window[PropertySymbol.readyStateManager];
279
584
  readyStateManager.startTask();
280
585
  try {
281
- code = await resourceFetch.fetch(absoluteURL);
586
+ code = await resourceFetch.fetch(absoluteURLString, 'script', {
587
+ credentials: this.crossOrigin === 'use-credentials' ? 'include' : 'same-origin',
588
+ referrerPolicy: this.referrerPolicy
589
+ });
282
590
  }
283
- catch (e) {
284
- error = e;
591
+ catch (error) {
592
+ browserFrame.page?.console.error(error);
593
+ this.dispatchEvent(new Event_js_1.default('error'));
594
+ return;
285
595
  }
286
596
  readyStateManager.endTask();
287
597
  }
288
598
  else {
289
599
  try {
290
- code = resourceFetch.fetchSync(absoluteURL);
600
+ code = resourceFetch.fetchSync(absoluteURLString, 'script', {
601
+ credentials: this.crossOrigin === 'use-credentials' ? 'include' : 'same-origin',
602
+ referrerPolicy: this.referrerPolicy
603
+ });
291
604
  }
292
- catch (e) {
293
- error = e;
605
+ catch (error) {
606
+ browserFrame.page?.console.error(error);
607
+ this.dispatchEvent(new Event_js_1.default('error'));
608
+ return;
294
609
  }
295
610
  }
296
- if (error) {
297
- WindowErrorUtility_js_1.default.dispatchError(this, error);
611
+ this[PropertySymbol.ownerDocument][PropertySymbol.currentScript] = this;
612
+ code = '//# sourceURL=' + absoluteURL + '\n' + code;
613
+ if (browserSettings.disableErrorCapturing ||
614
+ browserSettings.errorCapture !== BrowserErrorCaptureEnum_js_1.default.tryAndCatch) {
615
+ this[PropertySymbol.window].eval(code);
298
616
  }
299
617
  else {
300
- this[PropertySymbol.ownerDocument][PropertySymbol.currentScript] = this;
301
- code = '//# sourceURL=' + absoluteURL + '\n' + code;
302
- if (browserSettings.disableErrorCapturing ||
303
- browserSettings.errorCapture !== BrowserErrorCaptureEnum_js_1.default.tryAndCatch) {
618
+ try {
304
619
  this[PropertySymbol.window].eval(code);
305
620
  }
306
- else {
307
- WindowErrorUtility_js_1.default.captureError(this[PropertySymbol.window], () => this[PropertySymbol.window].eval(code));
621
+ catch (error) {
622
+ this[PropertySymbol.ownerDocument][PropertySymbol.currentScript] = null;
623
+ window[PropertySymbol.dispatchError](error);
624
+ return;
308
625
  }
309
- this[PropertySymbol.ownerDocument][PropertySymbol.currentScript] = null;
310
- this.dispatchEvent(new Event_js_1.default('load'));
626
+ }
627
+ this[PropertySymbol.ownerDocument][PropertySymbol.currentScript] = null;
628
+ this.dispatchEvent(new Event_js_1.default('load'));
629
+ }
630
+ /**
631
+ * Returns true if the given type is supported.
632
+ *
633
+ * @param type Type.
634
+ * @returns True if the given type is supported.
635
+ */
636
+ static supports(type) {
637
+ switch (type) {
638
+ case 'classic':
639
+ case 'module':
640
+ case 'importmap':
641
+ return true;
642
+ case 'speculationrules':
643
+ default:
644
+ return false;
311
645
  }
312
646
  }
313
647
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HTMLScriptElement.cjs","sourceRoot":"","sources":["../../../src/nodes/html-script-element/HTMLScriptElement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HTMLScriptElement.cjs","sourceRoot":"","sources":["../../../src/nodes/html-script-element/HTMLScriptElement.ts"],"names":[],"mappings":"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"}