happy-dom 13.0.6 → 13.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 (615) hide show
  1. package/cjs/PropertySymbol.cjs +69 -2
  2. package/cjs/PropertySymbol.cjs.map +1 -1
  3. package/cjs/PropertySymbol.d.ts +67 -1
  4. package/cjs/PropertySymbol.d.ts.map +1 -1
  5. package/cjs/async-task-manager/AsyncTaskManager.cjs +11 -5
  6. package/cjs/async-task-manager/AsyncTaskManager.cjs.map +1 -1
  7. package/cjs/async-task-manager/AsyncTaskManager.d.ts.map +1 -1
  8. package/cjs/browser/utilities/BrowserFrameNavigator.cjs +1 -1
  9. package/cjs/browser/utilities/BrowserFrameNavigator.cjs.map +1 -1
  10. package/cjs/css/declaration/AbstractCSSStyleDeclaration.cjs +17 -16
  11. package/cjs/css/declaration/AbstractCSSStyleDeclaration.cjs.map +1 -1
  12. package/cjs/css/declaration/AbstractCSSStyleDeclaration.d.ts.map +1 -1
  13. package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.cjs +43 -26
  14. package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.cjs.map +1 -1
  15. package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.d.ts.map +1 -1
  16. package/cjs/dom-implementation/DOMImplementation.cjs +6 -6
  17. package/cjs/dom-implementation/DOMImplementation.cjs.map +1 -1
  18. package/cjs/dom-parser/DOMParser.cjs +2 -2
  19. package/cjs/dom-parser/DOMParser.cjs.map +1 -1
  20. package/cjs/dom-parser/DOMParser.d.ts.map +1 -1
  21. package/cjs/event/Event.cjs +3 -3
  22. package/cjs/event/Event.cjs.map +1 -1
  23. package/cjs/event/EventTarget.cjs +4 -4
  24. package/cjs/event/EventTarget.cjs.map +1 -1
  25. package/cjs/fetch/Request.cjs +2 -1
  26. package/cjs/fetch/Request.cjs.map +1 -1
  27. package/cjs/fetch/Request.d.ts +4 -4
  28. package/cjs/fetch/Request.d.ts.map +1 -1
  29. package/cjs/form-data/FormData.cjs +7 -7
  30. package/cjs/form-data/FormData.cjs.map +1 -1
  31. package/cjs/mutation-observer/MutationObserver.cjs +3 -3
  32. package/cjs/mutation-observer/MutationObserver.cjs.map +1 -1
  33. package/cjs/named-node-map/NamedNodeMap.cjs +10 -8
  34. package/cjs/named-node-map/NamedNodeMap.cjs.map +1 -1
  35. package/cjs/named-node-map/NamedNodeMap.d.ts.map +1 -1
  36. package/cjs/nodes/attr/Attr.cjs +84 -15
  37. package/cjs/nodes/attr/Attr.cjs.map +1 -1
  38. package/cjs/nodes/attr/Attr.d.ts +40 -8
  39. package/cjs/nodes/attr/Attr.d.ts.map +1 -1
  40. package/cjs/nodes/character-data/CharacterData.cjs +2 -2
  41. package/cjs/nodes/character-data/CharacterData.cjs.map +1 -1
  42. package/cjs/nodes/child-node/ChildNodeUtility.cjs +8 -8
  43. package/cjs/nodes/child-node/ChildNodeUtility.cjs.map +1 -1
  44. package/cjs/nodes/child-node/NonDocumentChildNodeUtility.cjs +27 -3
  45. package/cjs/nodes/child-node/NonDocumentChildNodeUtility.cjs.map +1 -1
  46. package/cjs/nodes/child-node/NonDocumentChildNodeUtility.d.ts.map +1 -1
  47. package/cjs/nodes/comment/Comment.cjs +28 -2
  48. package/cjs/nodes/comment/Comment.cjs.map +1 -1
  49. package/cjs/nodes/comment/Comment.d.ts +3 -1
  50. package/cjs/nodes/comment/Comment.d.ts.map +1 -1
  51. package/cjs/nodes/document/Document.cjs +95 -41
  52. package/cjs/nodes/document/Document.cjs.map +1 -1
  53. package/cjs/nodes/document/Document.d.ts +45 -10
  54. package/cjs/nodes/document/Document.d.ts.map +1 -1
  55. package/cjs/nodes/document/IDocument.d.ts +2 -1
  56. package/cjs/nodes/document/IDocument.d.ts.map +1 -1
  57. package/cjs/nodes/document-fragment/DocumentFragment.cjs +8 -6
  58. package/cjs/nodes/document-fragment/DocumentFragment.cjs.map +1 -1
  59. package/cjs/nodes/document-fragment/DocumentFragment.d.ts +2 -1
  60. package/cjs/nodes/document-fragment/DocumentFragment.d.ts.map +1 -1
  61. package/cjs/nodes/document-type/DocumentType.cjs +58 -7
  62. package/cjs/nodes/document-type/DocumentType.cjs.map +1 -1
  63. package/cjs/nodes/document-type/DocumentType.d.ts +24 -4
  64. package/cjs/nodes/document-type/DocumentType.d.ts.map +1 -1
  65. package/cjs/nodes/element/Dataset.cjs +14 -14
  66. package/cjs/nodes/element/Dataset.cjs.map +1 -1
  67. package/cjs/nodes/element/Dataset.d.ts +1 -1
  68. package/cjs/nodes/element/Dataset.d.ts.map +1 -1
  69. package/cjs/nodes/element/Element.cjs +142 -55
  70. package/cjs/nodes/element/Element.cjs.map +1 -1
  71. package/cjs/nodes/element/Element.d.ts +77 -11
  72. package/cjs/nodes/element/Element.d.ts.map +1 -1
  73. package/cjs/nodes/element/ElementNamedNodeMap.cjs +33 -30
  74. package/cjs/nodes/element/ElementNamedNodeMap.cjs.map +1 -1
  75. package/cjs/nodes/element/ElementNamedNodeMap.d.ts.map +1 -1
  76. package/cjs/nodes/element/ElementUtility.cjs +19 -19
  77. package/cjs/nodes/element/ElementUtility.cjs.map +1 -1
  78. package/cjs/nodes/element/ElementUtility.d.ts.map +1 -1
  79. package/cjs/nodes/element/IElement.d.ts +3 -3
  80. package/cjs/nodes/element/IElement.d.ts.map +1 -1
  81. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.cjs +6 -6
  82. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.cjs.map +1 -1
  83. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.d.ts +1 -1
  84. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.d.ts.map +1 -1
  85. package/cjs/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.cjs +7 -5
  86. package/cjs/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.cjs.map +1 -1
  87. package/cjs/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.d.ts.map +1 -1
  88. package/cjs/nodes/html-base-element/HTMLBaseElement.cjs +25 -1
  89. package/cjs/nodes/html-base-element/HTMLBaseElement.cjs.map +1 -1
  90. package/cjs/nodes/html-base-element/HTMLBaseElement.d.ts.map +1 -1
  91. package/cjs/nodes/html-button-element/HTMLButtonElement.cjs +27 -8
  92. package/cjs/nodes/html-button-element/HTMLButtonElement.cjs.map +1 -1
  93. package/cjs/nodes/html-button-element/HTMLButtonElement.d.ts +16 -3
  94. package/cjs/nodes/html-button-element/HTMLButtonElement.d.ts.map +1 -1
  95. package/cjs/nodes/html-button-element/HTMLButtonElementNamedNodeMap.cjs +7 -7
  96. package/cjs/nodes/html-button-element/HTMLButtonElementNamedNodeMap.cjs.map +1 -1
  97. package/cjs/nodes/html-dialog-element/HTMLDialogElement.cjs +44 -1
  98. package/cjs/nodes/html-dialog-element/HTMLDialogElement.cjs.map +1 -1
  99. package/cjs/nodes/html-dialog-element/HTMLDialogElement.d.ts +14 -1
  100. package/cjs/nodes/html-dialog-element/HTMLDialogElement.d.ts.map +1 -1
  101. package/cjs/nodes/html-document/HTMLDocument.cjs +25 -1
  102. package/cjs/nodes/html-document/HTMLDocument.cjs.map +1 -1
  103. package/cjs/nodes/html-document/HTMLDocument.d.ts.map +1 -1
  104. package/cjs/nodes/html-element/HTMLElement.cjs +137 -32
  105. package/cjs/nodes/html-element/HTMLElement.cjs.map +1 -1
  106. package/cjs/nodes/html-element/HTMLElement.d.ts +91 -14
  107. package/cjs/nodes/html-element/HTMLElement.d.ts.map +1 -1
  108. package/cjs/nodes/html-element/HTMLElementNamedNodeMap.cjs +4 -3
  109. package/cjs/nodes/html-element/HTMLElementNamedNodeMap.cjs.map +1 -1
  110. package/cjs/nodes/html-element/HTMLElementNamedNodeMap.d.ts.map +1 -1
  111. package/cjs/nodes/html-element/HTMLElementUtility.cjs +12 -10
  112. package/cjs/nodes/html-element/HTMLElementUtility.cjs.map +1 -1
  113. package/cjs/nodes/html-element/HTMLElementUtility.d.ts.map +1 -1
  114. package/cjs/nodes/html-element/IHTMLElement.d.ts +3 -0
  115. package/cjs/nodes/html-element/IHTMLElement.d.ts.map +1 -1
  116. package/cjs/nodes/html-form-element/HTMLFormElement.cjs +62 -30
  117. package/cjs/nodes/html-form-element/HTMLFormElement.cjs.map +1 -1
  118. package/cjs/nodes/html-form-element/HTMLFormElement.d.ts +22 -3
  119. package/cjs/nodes/html-form-element/HTMLFormElement.d.ts.map +1 -1
  120. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs +5 -5
  121. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs.map +1 -1
  122. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.d.ts +1 -1
  123. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.d.ts.map +1 -1
  124. package/cjs/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.cjs +27 -1
  125. package/cjs/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.cjs.map +1 -1
  126. package/cjs/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.d.ts.map +1 -1
  127. package/cjs/nodes/html-iframe-element/HTMLIFrameElementPageLoader.cjs +2 -2
  128. package/cjs/nodes/html-iframe-element/HTMLIFrameElementPageLoader.cjs.map +1 -1
  129. package/cjs/nodes/html-image-element/HTMLImageElement.cjs +128 -26
  130. package/cjs/nodes/html-image-element/HTMLImageElement.cjs.map +1 -1
  131. package/cjs/nodes/html-image-element/HTMLImageElement.d.ts +76 -21
  132. package/cjs/nodes/html-image-element/HTMLImageElement.d.ts.map +1 -1
  133. package/cjs/nodes/html-input-element/HTMLInputElement.cjs +112 -27
  134. package/cjs/nodes/html-input-element/HTMLInputElement.cjs.map +1 -1
  135. package/cjs/nodes/html-input-element/HTMLInputElement.d.ts +67 -10
  136. package/cjs/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
  137. package/cjs/nodes/html-input-element/HTMLInputElementNamedNodeMap.cjs +7 -7
  138. package/cjs/nodes/html-input-element/HTMLInputElementNamedNodeMap.cjs.map +1 -1
  139. package/cjs/nodes/html-label-element/HTMLLabelElement.cjs +1 -1
  140. package/cjs/nodes/html-label-element/HTMLLabelElement.cjs.map +1 -1
  141. package/cjs/nodes/html-label-element/HTMLLabelElementUtility.cjs +26 -2
  142. package/cjs/nodes/html-label-element/HTMLLabelElementUtility.cjs.map +1 -1
  143. package/cjs/nodes/html-label-element/HTMLLabelElementUtility.d.ts.map +1 -1
  144. package/cjs/nodes/html-link-element/HTMLLinkElement.cjs +15 -8
  145. package/cjs/nodes/html-link-element/HTMLLinkElement.cjs.map +1 -1
  146. package/cjs/nodes/html-link-element/HTMLLinkElement.d.ts +6 -2
  147. package/cjs/nodes/html-link-element/HTMLLinkElement.d.ts.map +1 -1
  148. package/cjs/nodes/html-link-element/HTMLLinkElementNamedNodeMap.cjs +7 -6
  149. package/cjs/nodes/html-link-element/HTMLLinkElementNamedNodeMap.cjs.map +1 -1
  150. package/cjs/nodes/html-link-element/HTMLLinkElementNamedNodeMap.d.ts.map +1 -1
  151. package/cjs/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.cjs +8 -5
  152. package/cjs/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.cjs.map +1 -1
  153. package/cjs/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.d.ts.map +1 -1
  154. package/cjs/nodes/html-media-element/HTMLMediaElement.cjs +154 -53
  155. package/cjs/nodes/html-media-element/HTMLMediaElement.cjs.map +1 -1
  156. package/cjs/nodes/html-media-element/HTMLMediaElement.d.ts +86 -12
  157. package/cjs/nodes/html-media-element/HTMLMediaElement.d.ts.map +1 -1
  158. package/cjs/nodes/html-option-element/HTMLOptionElement.cjs +4 -4
  159. package/cjs/nodes/html-option-element/HTMLOptionElement.cjs.map +1 -1
  160. package/cjs/nodes/html-option-element/HTMLOptionElement.d.ts +1 -1
  161. package/cjs/nodes/html-option-element/HTMLOptionElement.d.ts.map +1 -1
  162. package/cjs/nodes/html-option-element/HTMLOptionElementNamedNodeMap.cjs +3 -3
  163. package/cjs/nodes/html-option-element/HTMLOptionElementNamedNodeMap.cjs.map +1 -1
  164. package/cjs/nodes/html-script-element/HTMLScriptElement.cjs +12 -11
  165. package/cjs/nodes/html-script-element/HTMLScriptElement.cjs.map +1 -1
  166. package/cjs/nodes/html-script-element/HTMLScriptElement.d.ts +1 -1
  167. package/cjs/nodes/html-script-element/HTMLScriptElement.d.ts.map +1 -1
  168. package/cjs/nodes/html-script-element/HTMLScriptElementNamedNodeMap.cjs +4 -4
  169. package/cjs/nodes/html-script-element/HTMLScriptElementNamedNodeMap.cjs.map +1 -1
  170. package/cjs/nodes/html-script-element/HTMLScriptElementScriptLoader.cjs +8 -8
  171. package/cjs/nodes/html-script-element/HTMLScriptElementScriptLoader.cjs.map +1 -1
  172. package/cjs/nodes/html-script-element/HTMLScriptElementScriptLoader.d.ts.map +1 -1
  173. package/cjs/nodes/html-select-element/HTMLSelectElement.cjs +63 -32
  174. package/cjs/nodes/html-select-element/HTMLSelectElement.cjs.map +1 -1
  175. package/cjs/nodes/html-select-element/HTMLSelectElement.d.ts +30 -5
  176. package/cjs/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
  177. package/cjs/nodes/html-select-element/HTMLSelectElementNamedNodeMap.cjs +7 -7
  178. package/cjs/nodes/html-select-element/HTMLSelectElementNamedNodeMap.cjs.map +1 -1
  179. package/cjs/nodes/html-style-element/HTMLStyleElement.cjs +6 -6
  180. package/cjs/nodes/html-style-element/HTMLStyleElement.cjs.map +1 -1
  181. package/cjs/nodes/html-style-element/HTMLStyleElement.d.ts +1 -1
  182. package/cjs/nodes/html-style-element/HTMLStyleElement.d.ts.map +1 -1
  183. package/cjs/nodes/html-template-element/HTMLTemplateElement.cjs +27 -12
  184. package/cjs/nodes/html-template-element/HTMLTemplateElement.cjs.map +1 -1
  185. package/cjs/nodes/html-template-element/HTMLTemplateElement.d.ts +8 -1
  186. package/cjs/nodes/html-template-element/HTMLTemplateElement.d.ts.map +1 -1
  187. package/cjs/nodes/html-template-element/IHTMLTemplateElement.d.ts +1 -1
  188. package/cjs/nodes/html-template-element/IHTMLTemplateElement.d.ts.map +1 -1
  189. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.cjs +27 -9
  190. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.cjs.map +1 -1
  191. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.d.ts +16 -3
  192. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.d.ts.map +1 -1
  193. package/cjs/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.cjs +7 -7
  194. package/cjs/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.cjs.map +1 -1
  195. package/cjs/nodes/html-unknown-element/HTMLUnknownElement.cjs +24 -17
  196. package/cjs/nodes/html-unknown-element/HTMLUnknownElement.cjs.map +1 -1
  197. package/cjs/nodes/html-unknown-element/HTMLUnknownElement.d.ts.map +1 -1
  198. package/cjs/nodes/node/INode.d.ts +2 -2
  199. package/cjs/nodes/node/INode.d.ts.map +1 -1
  200. package/cjs/nodes/node/Node.cjs +95 -56
  201. package/cjs/nodes/node/Node.cjs.map +1 -1
  202. package/cjs/nodes/node/Node.d.ts +44 -20
  203. package/cjs/nodes/node/Node.d.ts.map +1 -1
  204. package/cjs/nodes/node/NodeUtility.cjs +37 -37
  205. package/cjs/nodes/node/NodeUtility.cjs.map +1 -1
  206. package/cjs/nodes/node/NodeUtility.d.ts.map +1 -1
  207. package/cjs/nodes/parent-node/ParentNodeUtility.cjs +8 -5
  208. package/cjs/nodes/parent-node/ParentNodeUtility.cjs.map +1 -1
  209. package/cjs/nodes/parent-node/ParentNodeUtility.d.ts.map +1 -1
  210. package/cjs/nodes/processing-instruction/ProcessingInstruction.cjs +35 -1
  211. package/cjs/nodes/processing-instruction/ProcessingInstruction.cjs.map +1 -1
  212. package/cjs/nodes/processing-instruction/ProcessingInstruction.d.ts +9 -2
  213. package/cjs/nodes/processing-instruction/ProcessingInstruction.d.ts.map +1 -1
  214. package/cjs/nodes/shadow-root/IShadowRoot.d.ts +2 -0
  215. package/cjs/nodes/shadow-root/IShadowRoot.d.ts.map +1 -1
  216. package/cjs/nodes/shadow-root/ShadowRoot.cjs +44 -7
  217. package/cjs/nodes/shadow-root/ShadowRoot.cjs.map +1 -1
  218. package/cjs/nodes/shadow-root/ShadowRoot.d.ts +28 -3
  219. package/cjs/nodes/shadow-root/ShadowRoot.d.ts.map +1 -1
  220. package/cjs/nodes/svg-element/SVGElement.cjs +7 -6
  221. package/cjs/nodes/svg-element/SVGElement.cjs.map +1 -1
  222. package/cjs/nodes/svg-element/SVGElement.d.ts +2 -2
  223. package/cjs/nodes/svg-element/SVGElement.d.ts.map +1 -1
  224. package/cjs/nodes/svg-element/SVGElementNamedNodeMap.cjs +4 -3
  225. package/cjs/nodes/svg-element/SVGElementNamedNodeMap.cjs.map +1 -1
  226. package/cjs/nodes/svg-element/SVGElementNamedNodeMap.d.ts.map +1 -1
  227. package/cjs/nodes/text/Text.cjs +7 -6
  228. package/cjs/nodes/text/Text.cjs.map +1 -1
  229. package/cjs/nodes/text/Text.d.ts +2 -1
  230. package/cjs/nodes/text/Text.d.ts.map +1 -1
  231. package/cjs/query-selector/QuerySelector.cjs +2 -2
  232. package/cjs/query-selector/QuerySelector.cjs.map +1 -1
  233. package/cjs/query-selector/SelectorItem.cjs +16 -16
  234. package/cjs/query-selector/SelectorItem.cjs.map +1 -1
  235. package/cjs/query-selector/SelectorItem.d.ts.map +1 -1
  236. package/cjs/range/Range.cjs +91 -79
  237. package/cjs/range/Range.cjs.map +1 -1
  238. package/cjs/range/Range.d.ts.map +1 -1
  239. package/cjs/range/RangeUtility.cjs +5 -4
  240. package/cjs/range/RangeUtility.cjs.map +1 -1
  241. package/cjs/range/RangeUtility.d.ts.map +1 -1
  242. package/cjs/selection/Selection.cjs +15 -15
  243. package/cjs/selection/Selection.cjs.map +1 -1
  244. package/cjs/tree-walker/TreeWalker.cjs +12 -6
  245. package/cjs/tree-walker/TreeWalker.cjs.map +1 -1
  246. package/cjs/tree-walker/TreeWalker.d.ts.map +1 -1
  247. package/cjs/validity-state/ValidityState.cjs +1 -1
  248. package/cjs/validity-state/ValidityState.cjs.map +1 -1
  249. package/cjs/version.cjs +1 -1
  250. package/cjs/window/BrowserWindow.cjs +20 -26
  251. package/cjs/window/BrowserWindow.cjs.map +1 -1
  252. package/cjs/window/BrowserWindow.d.ts.map +1 -1
  253. package/cjs/window/WindowErrorUtility.cjs +1 -1
  254. package/cjs/window/WindowErrorUtility.cjs.map +1 -1
  255. package/cjs/window/WindowErrorUtility.d.ts.map +1 -1
  256. package/cjs/xml-http-request/XMLHttpRequest.cjs +1 -1
  257. package/cjs/xml-http-request/XMLHttpRequest.cjs.map +1 -1
  258. package/cjs/xml-parser/XMLParser.cjs +16 -12
  259. package/cjs/xml-parser/XMLParser.cjs.map +1 -1
  260. package/cjs/xml-parser/XMLParser.d.ts.map +1 -1
  261. package/cjs/xml-serializer/XMLSerializer.cjs +36 -35
  262. package/cjs/xml-serializer/XMLSerializer.cjs.map +1 -1
  263. package/cjs/xml-serializer/XMLSerializer.d.ts +8 -1
  264. package/cjs/xml-serializer/XMLSerializer.d.ts.map +1 -1
  265. package/lib/PropertySymbol.d.ts +67 -1
  266. package/lib/PropertySymbol.d.ts.map +1 -1
  267. package/lib/PropertySymbol.js +67 -1
  268. package/lib/PropertySymbol.js.map +1 -1
  269. package/lib/async-task-manager/AsyncTaskManager.d.ts.map +1 -1
  270. package/lib/async-task-manager/AsyncTaskManager.js +11 -5
  271. package/lib/async-task-manager/AsyncTaskManager.js.map +1 -1
  272. package/lib/browser/utilities/BrowserFrameNavigator.js +1 -1
  273. package/lib/browser/utilities/BrowserFrameNavigator.js.map +1 -1
  274. package/lib/css/declaration/AbstractCSSStyleDeclaration.d.ts.map +1 -1
  275. package/lib/css/declaration/AbstractCSSStyleDeclaration.js +17 -16
  276. package/lib/css/declaration/AbstractCSSStyleDeclaration.js.map +1 -1
  277. package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.d.ts.map +1 -1
  278. package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.js +43 -26
  279. package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.js.map +1 -1
  280. package/lib/dom-implementation/DOMImplementation.js +6 -6
  281. package/lib/dom-implementation/DOMImplementation.js.map +1 -1
  282. package/lib/dom-parser/DOMParser.d.ts.map +1 -1
  283. package/lib/dom-parser/DOMParser.js +2 -2
  284. package/lib/dom-parser/DOMParser.js.map +1 -1
  285. package/lib/event/Event.js +3 -3
  286. package/lib/event/Event.js.map +1 -1
  287. package/lib/event/EventTarget.js +4 -4
  288. package/lib/event/EventTarget.js.map +1 -1
  289. package/lib/fetch/Request.d.ts +4 -4
  290. package/lib/fetch/Request.d.ts.map +1 -1
  291. package/lib/fetch/Request.js +2 -1
  292. package/lib/fetch/Request.js.map +1 -1
  293. package/lib/form-data/FormData.js +7 -7
  294. package/lib/form-data/FormData.js.map +1 -1
  295. package/lib/mutation-observer/MutationObserver.js +3 -3
  296. package/lib/mutation-observer/MutationObserver.js.map +1 -1
  297. package/lib/named-node-map/NamedNodeMap.d.ts.map +1 -1
  298. package/lib/named-node-map/NamedNodeMap.js +10 -8
  299. package/lib/named-node-map/NamedNodeMap.js.map +1 -1
  300. package/lib/nodes/attr/Attr.d.ts +40 -8
  301. package/lib/nodes/attr/Attr.d.ts.map +1 -1
  302. package/lib/nodes/attr/Attr.js +63 -16
  303. package/lib/nodes/attr/Attr.js.map +1 -1
  304. package/lib/nodes/character-data/CharacterData.js +2 -2
  305. package/lib/nodes/character-data/CharacterData.js.map +1 -1
  306. package/lib/nodes/child-node/ChildNodeUtility.js +8 -8
  307. package/lib/nodes/child-node/ChildNodeUtility.js.map +1 -1
  308. package/lib/nodes/child-node/NonDocumentChildNodeUtility.d.ts.map +1 -1
  309. package/lib/nodes/child-node/NonDocumentChildNodeUtility.js +4 -3
  310. package/lib/nodes/child-node/NonDocumentChildNodeUtility.js.map +1 -1
  311. package/lib/nodes/comment/Comment.d.ts +3 -1
  312. package/lib/nodes/comment/Comment.d.ts.map +1 -1
  313. package/lib/nodes/comment/Comment.js +7 -3
  314. package/lib/nodes/comment/Comment.js.map +1 -1
  315. package/lib/nodes/document/Document.d.ts +45 -10
  316. package/lib/nodes/document/Document.d.ts.map +1 -1
  317. package/lib/nodes/document/Document.js +95 -41
  318. package/lib/nodes/document/Document.js.map +1 -1
  319. package/lib/nodes/document/IDocument.d.ts +2 -1
  320. package/lib/nodes/document/IDocument.d.ts.map +1 -1
  321. package/lib/nodes/document-fragment/DocumentFragment.d.ts +2 -1
  322. package/lib/nodes/document-fragment/DocumentFragment.d.ts.map +1 -1
  323. package/lib/nodes/document-fragment/DocumentFragment.js +8 -6
  324. package/lib/nodes/document-fragment/DocumentFragment.js.map +1 -1
  325. package/lib/nodes/document-type/DocumentType.d.ts +24 -4
  326. package/lib/nodes/document-type/DocumentType.d.ts.map +1 -1
  327. package/lib/nodes/document-type/DocumentType.js +37 -8
  328. package/lib/nodes/document-type/DocumentType.js.map +1 -1
  329. package/lib/nodes/element/Dataset.d.ts +1 -1
  330. package/lib/nodes/element/Dataset.d.ts.map +1 -1
  331. package/lib/nodes/element/Dataset.js +14 -14
  332. package/lib/nodes/element/Dataset.js.map +1 -1
  333. package/lib/nodes/element/Element.d.ts +77 -11
  334. package/lib/nodes/element/Element.d.ts.map +1 -1
  335. package/lib/nodes/element/Element.js +142 -55
  336. package/lib/nodes/element/Element.js.map +1 -1
  337. package/lib/nodes/element/ElementNamedNodeMap.d.ts.map +1 -1
  338. package/lib/nodes/element/ElementNamedNodeMap.js +33 -30
  339. package/lib/nodes/element/ElementNamedNodeMap.js.map +1 -1
  340. package/lib/nodes/element/ElementUtility.d.ts.map +1 -1
  341. package/lib/nodes/element/ElementUtility.js +19 -19
  342. package/lib/nodes/element/ElementUtility.js.map +1 -1
  343. package/lib/nodes/element/IElement.d.ts +3 -3
  344. package/lib/nodes/element/IElement.d.ts.map +1 -1
  345. package/lib/nodes/html-anchor-element/HTMLAnchorElement.d.ts +1 -1
  346. package/lib/nodes/html-anchor-element/HTMLAnchorElement.d.ts.map +1 -1
  347. package/lib/nodes/html-anchor-element/HTMLAnchorElement.js +6 -6
  348. package/lib/nodes/html-anchor-element/HTMLAnchorElement.js.map +1 -1
  349. package/lib/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.d.ts.map +1 -1
  350. package/lib/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.js +7 -5
  351. package/lib/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.js.map +1 -1
  352. package/lib/nodes/html-base-element/HTMLBaseElement.d.ts.map +1 -1
  353. package/lib/nodes/html-base-element/HTMLBaseElement.js +2 -1
  354. package/lib/nodes/html-base-element/HTMLBaseElement.js.map +1 -1
  355. package/lib/nodes/html-button-element/HTMLButtonElement.d.ts +16 -3
  356. package/lib/nodes/html-button-element/HTMLButtonElement.d.ts.map +1 -1
  357. package/lib/nodes/html-button-element/HTMLButtonElement.js +27 -8
  358. package/lib/nodes/html-button-element/HTMLButtonElement.js.map +1 -1
  359. package/lib/nodes/html-button-element/HTMLButtonElementNamedNodeMap.js +7 -7
  360. package/lib/nodes/html-button-element/HTMLButtonElementNamedNodeMap.js.map +1 -1
  361. package/lib/nodes/html-dialog-element/HTMLDialogElement.d.ts +14 -1
  362. package/lib/nodes/html-dialog-element/HTMLDialogElement.d.ts.map +1 -1
  363. package/lib/nodes/html-dialog-element/HTMLDialogElement.js +23 -2
  364. package/lib/nodes/html-dialog-element/HTMLDialogElement.js.map +1 -1
  365. package/lib/nodes/html-document/HTMLDocument.d.ts.map +1 -1
  366. package/lib/nodes/html-document/HTMLDocument.js +2 -1
  367. package/lib/nodes/html-document/HTMLDocument.js.map +1 -1
  368. package/lib/nodes/html-element/HTMLElement.d.ts +91 -14
  369. package/lib/nodes/html-element/HTMLElement.d.ts.map +1 -1
  370. package/lib/nodes/html-element/HTMLElement.js +137 -32
  371. package/lib/nodes/html-element/HTMLElement.js.map +1 -1
  372. package/lib/nodes/html-element/HTMLElementNamedNodeMap.d.ts.map +1 -1
  373. package/lib/nodes/html-element/HTMLElementNamedNodeMap.js +4 -3
  374. package/lib/nodes/html-element/HTMLElementNamedNodeMap.js.map +1 -1
  375. package/lib/nodes/html-element/HTMLElementUtility.d.ts.map +1 -1
  376. package/lib/nodes/html-element/HTMLElementUtility.js +12 -10
  377. package/lib/nodes/html-element/HTMLElementUtility.js.map +1 -1
  378. package/lib/nodes/html-element/IHTMLElement.d.ts +3 -0
  379. package/lib/nodes/html-element/IHTMLElement.d.ts.map +1 -1
  380. package/lib/nodes/html-form-element/HTMLFormElement.d.ts +22 -3
  381. package/lib/nodes/html-form-element/HTMLFormElement.d.ts.map +1 -1
  382. package/lib/nodes/html-form-element/HTMLFormElement.js +62 -30
  383. package/lib/nodes/html-form-element/HTMLFormElement.js.map +1 -1
  384. package/lib/nodes/html-iframe-element/HTMLIFrameElement.d.ts +1 -1
  385. package/lib/nodes/html-iframe-element/HTMLIFrameElement.d.ts.map +1 -1
  386. package/lib/nodes/html-iframe-element/HTMLIFrameElement.js +5 -5
  387. package/lib/nodes/html-iframe-element/HTMLIFrameElement.js.map +1 -1
  388. package/lib/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.d.ts.map +1 -1
  389. package/lib/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.js +4 -1
  390. package/lib/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.js.map +1 -1
  391. package/lib/nodes/html-iframe-element/HTMLIFrameElementPageLoader.js +2 -2
  392. package/lib/nodes/html-iframe-element/HTMLIFrameElementPageLoader.js.map +1 -1
  393. package/lib/nodes/html-image-element/HTMLImageElement.d.ts +76 -21
  394. package/lib/nodes/html-image-element/HTMLImageElement.d.ts.map +1 -1
  395. package/lib/nodes/html-image-element/HTMLImageElement.js +107 -27
  396. package/lib/nodes/html-image-element/HTMLImageElement.js.map +1 -1
  397. package/lib/nodes/html-input-element/HTMLInputElement.d.ts +67 -10
  398. package/lib/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
  399. package/lib/nodes/html-input-element/HTMLInputElement.js +112 -27
  400. package/lib/nodes/html-input-element/HTMLInputElement.js.map +1 -1
  401. package/lib/nodes/html-input-element/HTMLInputElementNamedNodeMap.js +7 -7
  402. package/lib/nodes/html-input-element/HTMLInputElementNamedNodeMap.js.map +1 -1
  403. package/lib/nodes/html-label-element/HTMLLabelElement.js +1 -1
  404. package/lib/nodes/html-label-element/HTMLLabelElement.js.map +1 -1
  405. package/lib/nodes/html-label-element/HTMLLabelElementUtility.d.ts.map +1 -1
  406. package/lib/nodes/html-label-element/HTMLLabelElementUtility.js +3 -2
  407. package/lib/nodes/html-label-element/HTMLLabelElementUtility.js.map +1 -1
  408. package/lib/nodes/html-link-element/HTMLLinkElement.d.ts +6 -2
  409. package/lib/nodes/html-link-element/HTMLLinkElement.d.ts.map +1 -1
  410. package/lib/nodes/html-link-element/HTMLLinkElement.js +15 -8
  411. package/lib/nodes/html-link-element/HTMLLinkElement.js.map +1 -1
  412. package/lib/nodes/html-link-element/HTMLLinkElementNamedNodeMap.d.ts.map +1 -1
  413. package/lib/nodes/html-link-element/HTMLLinkElementNamedNodeMap.js +7 -6
  414. package/lib/nodes/html-link-element/HTMLLinkElementNamedNodeMap.js.map +1 -1
  415. package/lib/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.d.ts.map +1 -1
  416. package/lib/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.js +8 -5
  417. package/lib/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.js.map +1 -1
  418. package/lib/nodes/html-media-element/HTMLMediaElement.d.ts +86 -12
  419. package/lib/nodes/html-media-element/HTMLMediaElement.d.ts.map +1 -1
  420. package/lib/nodes/html-media-element/HTMLMediaElement.js +132 -54
  421. package/lib/nodes/html-media-element/HTMLMediaElement.js.map +1 -1
  422. package/lib/nodes/html-option-element/HTMLOptionElement.d.ts +1 -1
  423. package/lib/nodes/html-option-element/HTMLOptionElement.d.ts.map +1 -1
  424. package/lib/nodes/html-option-element/HTMLOptionElement.js +4 -4
  425. package/lib/nodes/html-option-element/HTMLOptionElement.js.map +1 -1
  426. package/lib/nodes/html-option-element/HTMLOptionElementNamedNodeMap.js +3 -3
  427. package/lib/nodes/html-option-element/HTMLOptionElementNamedNodeMap.js.map +1 -1
  428. package/lib/nodes/html-script-element/HTMLScriptElement.d.ts +1 -1
  429. package/lib/nodes/html-script-element/HTMLScriptElement.d.ts.map +1 -1
  430. package/lib/nodes/html-script-element/HTMLScriptElement.js +12 -11
  431. package/lib/nodes/html-script-element/HTMLScriptElement.js.map +1 -1
  432. package/lib/nodes/html-script-element/HTMLScriptElementNamedNodeMap.js +4 -4
  433. package/lib/nodes/html-script-element/HTMLScriptElementNamedNodeMap.js.map +1 -1
  434. package/lib/nodes/html-script-element/HTMLScriptElementScriptLoader.d.ts.map +1 -1
  435. package/lib/nodes/html-script-element/HTMLScriptElementScriptLoader.js +8 -8
  436. package/lib/nodes/html-script-element/HTMLScriptElementScriptLoader.js.map +1 -1
  437. package/lib/nodes/html-select-element/HTMLSelectElement.d.ts +30 -5
  438. package/lib/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
  439. package/lib/nodes/html-select-element/HTMLSelectElement.js +63 -32
  440. package/lib/nodes/html-select-element/HTMLSelectElement.js.map +1 -1
  441. package/lib/nodes/html-select-element/HTMLSelectElementNamedNodeMap.js +7 -7
  442. package/lib/nodes/html-select-element/HTMLSelectElementNamedNodeMap.js.map +1 -1
  443. package/lib/nodes/html-style-element/HTMLStyleElement.d.ts +1 -1
  444. package/lib/nodes/html-style-element/HTMLStyleElement.d.ts.map +1 -1
  445. package/lib/nodes/html-style-element/HTMLStyleElement.js +6 -6
  446. package/lib/nodes/html-style-element/HTMLStyleElement.js.map +1 -1
  447. package/lib/nodes/html-template-element/HTMLTemplateElement.d.ts +8 -1
  448. package/lib/nodes/html-template-element/HTMLTemplateElement.d.ts.map +1 -1
  449. package/lib/nodes/html-template-element/HTMLTemplateElement.js +29 -13
  450. package/lib/nodes/html-template-element/HTMLTemplateElement.js.map +1 -1
  451. package/lib/nodes/html-template-element/IHTMLTemplateElement.d.ts +1 -1
  452. package/lib/nodes/html-template-element/IHTMLTemplateElement.d.ts.map +1 -1
  453. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.d.ts +16 -3
  454. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.d.ts.map +1 -1
  455. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js +27 -9
  456. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js.map +1 -1
  457. package/lib/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.js +7 -7
  458. package/lib/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.js.map +1 -1
  459. package/lib/nodes/html-unknown-element/HTMLUnknownElement.d.ts.map +1 -1
  460. package/lib/nodes/html-unknown-element/HTMLUnknownElement.js +24 -17
  461. package/lib/nodes/html-unknown-element/HTMLUnknownElement.js.map +1 -1
  462. package/lib/nodes/node/INode.d.ts +2 -2
  463. package/lib/nodes/node/INode.d.ts.map +1 -1
  464. package/lib/nodes/node/Node.d.ts +44 -20
  465. package/lib/nodes/node/Node.d.ts.map +1 -1
  466. package/lib/nodes/node/Node.js +95 -56
  467. package/lib/nodes/node/Node.js.map +1 -1
  468. package/lib/nodes/node/NodeUtility.d.ts.map +1 -1
  469. package/lib/nodes/node/NodeUtility.js +37 -37
  470. package/lib/nodes/node/NodeUtility.js.map +1 -1
  471. package/lib/nodes/parent-node/ParentNodeUtility.d.ts.map +1 -1
  472. package/lib/nodes/parent-node/ParentNodeUtility.js +8 -5
  473. package/lib/nodes/parent-node/ParentNodeUtility.js.map +1 -1
  474. package/lib/nodes/processing-instruction/ProcessingInstruction.d.ts +9 -2
  475. package/lib/nodes/processing-instruction/ProcessingInstruction.d.ts.map +1 -1
  476. package/lib/nodes/processing-instruction/ProcessingInstruction.js +14 -2
  477. package/lib/nodes/processing-instruction/ProcessingInstruction.js.map +1 -1
  478. package/lib/nodes/shadow-root/IShadowRoot.d.ts +2 -0
  479. package/lib/nodes/shadow-root/IShadowRoot.d.ts.map +1 -1
  480. package/lib/nodes/shadow-root/ShadowRoot.d.ts +28 -3
  481. package/lib/nodes/shadow-root/ShadowRoot.d.ts.map +1 -1
  482. package/lib/nodes/shadow-root/ShadowRoot.js +46 -8
  483. package/lib/nodes/shadow-root/ShadowRoot.js.map +1 -1
  484. package/lib/nodes/svg-element/SVGElement.d.ts +2 -2
  485. package/lib/nodes/svg-element/SVGElement.d.ts.map +1 -1
  486. package/lib/nodes/svg-element/SVGElement.js +7 -6
  487. package/lib/nodes/svg-element/SVGElement.js.map +1 -1
  488. package/lib/nodes/svg-element/SVGElementNamedNodeMap.d.ts.map +1 -1
  489. package/lib/nodes/svg-element/SVGElementNamedNodeMap.js +4 -3
  490. package/lib/nodes/svg-element/SVGElementNamedNodeMap.js.map +1 -1
  491. package/lib/nodes/text/Text.d.ts +2 -1
  492. package/lib/nodes/text/Text.d.ts.map +1 -1
  493. package/lib/nodes/text/Text.js +7 -6
  494. package/lib/nodes/text/Text.js.map +1 -1
  495. package/lib/query-selector/QuerySelector.js +2 -2
  496. package/lib/query-selector/QuerySelector.js.map +1 -1
  497. package/lib/query-selector/SelectorItem.d.ts.map +1 -1
  498. package/lib/query-selector/SelectorItem.js +16 -16
  499. package/lib/query-selector/SelectorItem.js.map +1 -1
  500. package/lib/range/Range.d.ts.map +1 -1
  501. package/lib/range/Range.js +91 -79
  502. package/lib/range/Range.js.map +1 -1
  503. package/lib/range/RangeUtility.d.ts.map +1 -1
  504. package/lib/range/RangeUtility.js +5 -4
  505. package/lib/range/RangeUtility.js.map +1 -1
  506. package/lib/selection/Selection.js +15 -15
  507. package/lib/selection/Selection.js.map +1 -1
  508. package/lib/tree-walker/TreeWalker.d.ts.map +1 -1
  509. package/lib/tree-walker/TreeWalker.js +12 -6
  510. package/lib/tree-walker/TreeWalker.js.map +1 -1
  511. package/lib/validity-state/ValidityState.js +1 -1
  512. package/lib/validity-state/ValidityState.js.map +1 -1
  513. package/lib/version.js +1 -1
  514. package/lib/window/BrowserWindow.d.ts.map +1 -1
  515. package/lib/window/BrowserWindow.js +20 -26
  516. package/lib/window/BrowserWindow.js.map +1 -1
  517. package/lib/window/WindowErrorUtility.d.ts.map +1 -1
  518. package/lib/window/WindowErrorUtility.js +1 -1
  519. package/lib/window/WindowErrorUtility.js.map +1 -1
  520. package/lib/xml-http-request/XMLHttpRequest.js +1 -1
  521. package/lib/xml-http-request/XMLHttpRequest.js.map +1 -1
  522. package/lib/xml-parser/XMLParser.d.ts.map +1 -1
  523. package/lib/xml-parser/XMLParser.js +16 -12
  524. package/lib/xml-parser/XMLParser.js.map +1 -1
  525. package/lib/xml-serializer/XMLSerializer.d.ts +8 -1
  526. package/lib/xml-serializer/XMLSerializer.d.ts.map +1 -1
  527. package/lib/xml-serializer/XMLSerializer.js +37 -37
  528. package/lib/xml-serializer/XMLSerializer.js.map +1 -1
  529. package/package.json +1 -1
  530. package/src/PropertySymbol.ts +67 -1
  531. package/src/async-task-manager/AsyncTaskManager.ts +12 -5
  532. package/src/browser/utilities/BrowserFrameNavigator.ts +1 -1
  533. package/src/css/declaration/AbstractCSSStyleDeclaration.ts +17 -16
  534. package/src/css/declaration/element-style/CSSStyleDeclarationElementStyle.ts +64 -28
  535. package/src/dom-implementation/DOMImplementation.ts +6 -6
  536. package/src/dom-parser/DOMParser.ts +2 -2
  537. package/src/event/Event.ts +3 -3
  538. package/src/event/EventTarget.ts +4 -4
  539. package/src/fetch/Request.ts +7 -5
  540. package/src/form-data/FormData.ts +9 -9
  541. package/src/mutation-observer/MutationObserver.ts +3 -3
  542. package/src/named-node-map/NamedNodeMap.ts +12 -8
  543. package/src/nodes/attr/Attr.ts +59 -11
  544. package/src/nodes/character-data/CharacterData.ts +2 -2
  545. package/src/nodes/child-node/ChildNodeUtility.ts +8 -8
  546. package/src/nodes/child-node/NonDocumentChildNodeUtility.ts +4 -3
  547. package/src/nodes/comment/Comment.ts +3 -2
  548. package/src/nodes/document/Document.ts +106 -46
  549. package/src/nodes/document/IDocument.ts +2 -1
  550. package/src/nodes/document-fragment/DocumentFragment.ts +8 -4
  551. package/src/nodes/document-type/DocumentType.ts +36 -7
  552. package/src/nodes/element/Dataset.ts +23 -17
  553. package/src/nodes/element/Element.ts +166 -61
  554. package/src/nodes/element/ElementNamedNodeMap.ts +58 -33
  555. package/src/nodes/element/ElementUtility.ts +26 -19
  556. package/src/nodes/element/IElement.ts +3 -3
  557. package/src/nodes/html-anchor-element/HTMLAnchorElement.ts +5 -3
  558. package/src/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.ts +11 -5
  559. package/src/nodes/html-base-element/HTMLBaseElement.ts +2 -1
  560. package/src/nodes/html-button-element/HTMLButtonElement.ts +29 -6
  561. package/src/nodes/html-button-element/HTMLButtonElementNamedNodeMap.ts +7 -7
  562. package/src/nodes/html-dialog-element/HTMLDialogElement.ts +21 -1
  563. package/src/nodes/html-document/HTMLDocument.ts +2 -1
  564. package/src/nodes/html-element/HTMLElement.ts +161 -33
  565. package/src/nodes/html-element/HTMLElementNamedNodeMap.ts +6 -3
  566. package/src/nodes/html-element/HTMLElementUtility.ts +17 -10
  567. package/src/nodes/html-element/IHTMLElement.ts +3 -0
  568. package/src/nodes/html-form-element/HTMLFormElement.ts +67 -27
  569. package/src/nodes/html-iframe-element/HTMLIFrameElement.ts +6 -5
  570. package/src/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.ts +6 -1
  571. package/src/nodes/html-iframe-element/HTMLIFrameElementPageLoader.ts +2 -2
  572. package/src/nodes/html-image-element/HTMLImageElement.ts +115 -28
  573. package/src/nodes/html-input-element/HTMLInputElement.ts +125 -30
  574. package/src/nodes/html-input-element/HTMLInputElementNamedNodeMap.ts +7 -7
  575. package/src/nodes/html-label-element/HTMLLabelElement.ts +1 -1
  576. package/src/nodes/html-label-element/HTMLLabelElementUtility.ts +3 -2
  577. package/src/nodes/html-link-element/HTMLLinkElement.ts +15 -5
  578. package/src/nodes/html-link-element/HTMLLinkElementNamedNodeMap.ts +9 -6
  579. package/src/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.ts +13 -5
  580. package/src/nodes/html-media-element/HTMLMediaElement.ts +142 -42
  581. package/src/nodes/html-option-element/HTMLOptionElement.ts +3 -1
  582. package/src/nodes/html-option-element/HTMLOptionElementNamedNodeMap.ts +3 -3
  583. package/src/nodes/html-script-element/HTMLScriptElement.ts +19 -12
  584. package/src/nodes/html-script-element/HTMLScriptElementNamedNodeMap.ts +4 -4
  585. package/src/nodes/html-script-element/HTMLScriptElementScriptLoader.ts +13 -9
  586. package/src/nodes/html-select-element/HTMLSelectElement.ts +69 -31
  587. package/src/nodes/html-select-element/HTMLSelectElementNamedNodeMap.ts +7 -7
  588. package/src/nodes/html-style-element/HTMLStyleElement.ts +6 -6
  589. package/src/nodes/html-template-element/HTMLTemplateElement.ts +28 -12
  590. package/src/nodes/html-template-element/IHTMLTemplateElement.ts +1 -1
  591. package/src/nodes/html-text-area-element/HTMLTextAreaElement.ts +29 -6
  592. package/src/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.ts +7 -7
  593. package/src/nodes/html-unknown-element/HTMLUnknownElement.ts +38 -17
  594. package/src/nodes/node/INode.ts +2 -2
  595. package/src/nodes/node/Node.ts +129 -56
  596. package/src/nodes/node/NodeUtility.ts +44 -37
  597. package/src/nodes/parent-node/ParentNodeUtility.ts +10 -5
  598. package/src/nodes/processing-instruction/ProcessingInstruction.ts +12 -2
  599. package/src/nodes/shadow-root/IShadowRoot.ts +2 -0
  600. package/src/nodes/shadow-root/ShadowRoot.ts +50 -8
  601. package/src/nodes/svg-element/SVGElement.ts +6 -5
  602. package/src/nodes/svg-element/SVGElementNamedNodeMap.ts +6 -3
  603. package/src/nodes/text/Text.ts +5 -5
  604. package/src/query-selector/QuerySelector.ts +2 -2
  605. package/src/query-selector/SelectorItem.ts +20 -16
  606. package/src/range/Range.ts +109 -82
  607. package/src/range/RangeUtility.ts +7 -4
  608. package/src/selection/Selection.ts +15 -15
  609. package/src/tree-walker/TreeWalker.ts +22 -6
  610. package/src/validity-state/ValidityState.ts +1 -1
  611. package/src/window/BrowserWindow.ts +18 -24
  612. package/src/window/WindowErrorUtility.ts +3 -1
  613. package/src/xml-http-request/XMLHttpRequest.ts +1 -1
  614. package/src/xml-parser/XMLParser.ts +18 -12
  615. package/src/xml-serializer/XMLSerializer.ts +22 -20
@@ -1,9 +1,3 @@
1
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
- };
6
- var _XMLSerializer_instances, _XMLSerializer_options, _XMLSerializer_getAttributes;
7
1
  import * as PropertySymbol from '../PropertySymbol.js';
8
2
  import Node from '../nodes/node/Node.js';
9
3
  import VoidElements from '../config/VoidElements.js';
@@ -12,7 +6,7 @@ import * as Entities from 'entities';
12
6
  /**
13
7
  * Utility for converting an element to string.
14
8
  */
15
- class XMLSerializer {
9
+ export default class XMLSerializer {
16
10
  /**
17
11
  * Constructor.
18
12
  *
@@ -21,17 +15,16 @@ class XMLSerializer {
21
15
  * @param [options.escapeEntities] Escape text.
22
16
  */
23
17
  constructor(options) {
24
- _XMLSerializer_instances.add(this);
25
- _XMLSerializer_options.set(this, {
18
+ this.options = {
26
19
  includeShadowRoots: false,
27
20
  escapeEntities: true
28
- });
21
+ };
29
22
  if (options) {
30
23
  if (options.includeShadowRoots !== undefined) {
31
- __classPrivateFieldGet(this, _XMLSerializer_options, "f").includeShadowRoots = options.includeShadowRoots;
24
+ this.options.includeShadowRoots = options.includeShadowRoots;
32
25
  }
33
26
  if (options.escapeEntities !== undefined) {
34
- __classPrivateFieldGet(this, _XMLSerializer_options, "f").escapeEntities = options.escapeEntities;
27
+ this.options.escapeEntities = options.escapeEntities;
35
28
  }
36
29
  }
37
30
  }
@@ -42,12 +35,12 @@ class XMLSerializer {
42
35
  * @returns Result.
43
36
  */
44
37
  serializeToString(root) {
45
- switch (root.nodeType) {
38
+ switch (root[PropertySymbol.nodeType]) {
46
39
  case NodeTypeEnum.elementNode:
47
40
  const element = root;
48
- const tagName = element.tagName.toLowerCase();
49
- if (VoidElements[element.tagName]) {
50
- return `<${tagName}${__classPrivateFieldGet(this, _XMLSerializer_instances, "m", _XMLSerializer_getAttributes).call(this, element)}>`;
41
+ const tagName = element[PropertySymbol.tagName].toLowerCase();
42
+ if (VoidElements[element[PropertySymbol.tagName]]) {
43
+ return `<${tagName}${this.getAttributes(element)}>`;
51
44
  }
52
45
  const childNodes = tagName === 'template'
53
46
  ? root.content[PropertySymbol.childNodes]
@@ -56,14 +49,16 @@ class XMLSerializer {
56
49
  for (const node of childNodes) {
57
50
  innerHTML += this.serializeToString(node);
58
51
  }
59
- if (__classPrivateFieldGet(this, _XMLSerializer_options, "f").includeShadowRoots && element.shadowRoot) {
60
- innerHTML += `<template shadowrootmode="${element.shadowRoot.mode}">`;
52
+ // TODO: Should we include closed shadow roots?
53
+ // We are currently only including open shadow roots.
54
+ if (this.options.includeShadowRoots && element.shadowRoot) {
55
+ innerHTML += `<template shadowrootmode="${element.shadowRoot[PropertySymbol.mode]}">`;
61
56
  for (const node of element.shadowRoot[PropertySymbol.childNodes]) {
62
57
  innerHTML += this.serializeToString(node);
63
58
  }
64
59
  innerHTML += '</template>';
65
60
  }
66
- return `<${tagName}${__classPrivateFieldGet(this, _XMLSerializer_instances, "m", _XMLSerializer_getAttributes).call(this, element)}>${innerHTML}</${tagName}>`;
61
+ return `<${tagName}${this.getAttributes(element)}>${innerHTML}</${tagName}>`;
67
62
  case Node.DOCUMENT_FRAGMENT_NODE:
68
63
  case Node.DOCUMENT_NODE:
69
64
  let html = '';
@@ -77,7 +72,7 @@ class XMLSerializer {
77
72
  // TODO: Add support for processing instructions.
78
73
  return `<!--?${root.target} ${root.textContent}?-->`;
79
74
  case NodeTypeEnum.textNode:
80
- return __classPrivateFieldGet(this, _XMLSerializer_options, "f").escapeEntities
75
+ return this.options.escapeEntities
81
76
  ? Entities.escapeText(root.textContent)
82
77
  : root.textContent;
83
78
  case NodeTypeEnum.documentTypeNode:
@@ -89,23 +84,28 @@ class XMLSerializer {
89
84
  }
90
85
  return '';
91
86
  }
92
- }
93
- _XMLSerializer_options = new WeakMap(), _XMLSerializer_instances = new WeakSet(), _XMLSerializer_getAttributes = function _XMLSerializer_getAttributes(element) {
94
- let attributeString = '';
95
- if (!element.attributes.getNamedItem('is') &&
96
- element[PropertySymbol.isValue]) {
97
- attributeString += ' is="' + element[PropertySymbol.isValue] + '"';
98
- }
99
- for (let i = 0, max = element.attributes.length; i < max; i++) {
100
- const attribute = element.attributes[i];
101
- if (attribute.value !== null) {
102
- const escapedValue = __classPrivateFieldGet(this, _XMLSerializer_options, "f").escapeEntities
103
- ? Entities.escapeText(attribute.value)
104
- : attribute.value;
105
- attributeString += ' ' + attribute.name + '="' + escapedValue + '"';
87
+ /**
88
+ * Returns attributes as a string.
89
+ *
90
+ * @param element Element.
91
+ * @returns Attributes.
92
+ */
93
+ getAttributes(element) {
94
+ let attributeString = '';
95
+ if (!element[PropertySymbol.attributes].getNamedItem('is') &&
96
+ element[PropertySymbol.isValue]) {
97
+ attributeString += ' is="' + element[PropertySymbol.isValue] + '"';
98
+ }
99
+ for (let i = 0, max = element[PropertySymbol.attributes].length; i < max; i++) {
100
+ const attribute = element[PropertySymbol.attributes][i];
101
+ if (attribute[PropertySymbol.value] !== null) {
102
+ const escapedValue = this.options.escapeEntities
103
+ ? Entities.escapeText(attribute[PropertySymbol.value])
104
+ : attribute[PropertySymbol.value];
105
+ attributeString += ' ' + attribute[PropertySymbol.name] + '="' + escapedValue + '"';
106
+ }
106
107
  }
108
+ return attributeString;
107
109
  }
108
- return attributeString;
109
- };
110
- export default XMLSerializer;
110
+ }
111
111
  //# sourceMappingURL=XMLSerializer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"XMLSerializer.js","sourceRoot":"","sources":["../../src/xml-serializer/XMLSerializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"XMLSerializer.js","sourceRoot":"","sources":["../../src/xml-serializer/XMLSerializer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "happy-dom",
3
- "version": "13.0.6",
3
+ "version": "13.1.0",
4
4
  "license": "MIT",
5
5
  "homepage": "https://github.com/capricorn86/happy-dom",
6
6
  "repository": "https://github.com/capricorn86/happy-dom",
@@ -67,7 +67,6 @@ export const setupVMContext = Symbol('setupVMContext');
67
67
  export const shadowRoot = Symbol('shadowRoot');
68
68
  export const start = Symbol('start');
69
69
  export const style = Symbol('style');
70
- export const styleSheet = Symbol('styleSheet');
71
70
  export const target = Symbol('target');
72
71
  export const textAreaNode = Symbol('textAreaNode');
73
72
  export const unobserve = Symbol('unobserve');
@@ -82,3 +81,70 @@ export const mutationObservers = Symbol('mutationObservers');
82
81
  export const openerFrame = Symbol('openerFrame');
83
82
  export const openerWindow = Symbol('openerFrame');
84
83
  export const popup = Symbol('popup');
84
+ export const isConnected = Symbol('isConnected');
85
+ export const parentNode = Symbol('parentNode');
86
+ export const nodeType = Symbol('nodeType');
87
+ export const tagName = Symbol('tagName');
88
+ export const prefix = Symbol('prefix');
89
+ export const scrollHeight = Symbol('scrollHeight');
90
+ export const scrollWidth = Symbol('scrollWidth');
91
+ export const scrollTop = Symbol('scrollTop');
92
+ export const scrollLeft = Symbol('scrollLeft');
93
+ export const attributes = Symbol('attributes');
94
+ export const namespaceURI = Symbol('namespaceURI');
95
+ export const accessKey = Symbol('accessKey');
96
+ export const accessKeyLabel = Symbol('accessKeyLabel');
97
+ export const contentEditable = Symbol('contentEditable');
98
+ export const isContentEditable = Symbol('isContentEditable');
99
+ export const offsetHeight = Symbol('offsetHeight');
100
+ export const offsetWidth = Symbol('offsetWidth');
101
+ export const offsetLeft = Symbol('offsetLeft');
102
+ export const offsetTop = Symbol('offsetTop');
103
+ export const clientHeight = Symbol('clientHeight');
104
+ export const clientWidth = Symbol('clientWidth');
105
+ export const clientLeft = Symbol('clientLeft');
106
+ export const clientTop = Symbol('clientTop');
107
+ export const name = Symbol('name');
108
+ export const specified = Symbol('specified');
109
+ export const adoptedStyleSheets = Symbol('adoptedStyleSheets');
110
+ export const implementation = Symbol('implementation');
111
+ export const readyState = Symbol('readyState');
112
+ export const ownerWindow = Symbol('ownerWindow');
113
+ export const publicId = Symbol('publicId');
114
+ export const systemId = Symbol('systemId');
115
+ export const validationMessage = Symbol('validationMessage');
116
+ export const validity = Symbol('validity');
117
+ export const returnValue = Symbol('returnValue');
118
+ export const elements = Symbol('elements');
119
+ export const length = Symbol('length');
120
+ export const complete = Symbol('complete');
121
+ export const naturalHeight = Symbol('naturalHeight');
122
+ export const naturalWidth = Symbol('naturalWidth');
123
+ export const loading = Symbol('loading');
124
+ export const x = Symbol('x');
125
+ export const y = Symbol('y');
126
+ export const defaultChecked = Symbol('defaultChecked');
127
+ export const files = Symbol('files');
128
+ export const sheet = Symbol('sheet');
129
+ export const volume = Symbol('volume');
130
+ export const paused = Symbol('paused');
131
+ export const currentTime = Symbol('currentTime');
132
+ export const playbackRate = Symbol('playbackRate');
133
+ export const defaultPlaybackRate = Symbol('defaultPlaybackRate');
134
+ export const muted = Symbol('muted');
135
+ export const defaultMuted = Symbol('defaultMuted');
136
+ export const preservesPitch = Symbol('preservesPitch');
137
+ export const buffered = Symbol('buffered');
138
+ export const duration = Symbol('duration');
139
+ export const error = Symbol('error');
140
+ export const ended = Symbol('ended');
141
+ export const networkState = Symbol('networkState');
142
+ export const textTracks = Symbol('textTracks');
143
+ export const videoTracks = Symbol('videoTracks');
144
+ export const seeking = Symbol('seeking');
145
+ export const seekable = Symbol('seekable');
146
+ export const played = Symbol('played');
147
+ export const options = Symbol('options');
148
+ export const content = Symbol('content');
149
+ export const mode = Symbol('mode');
150
+ export const host = Symbol('host');
@@ -1,3 +1,10 @@
1
+ // We need to set this as a global constant, so that using fake timers in Jest and Vitest won't override this on the global object.
2
+ const TIMER = {
3
+ setImmediate: setImmediate,
4
+ clearImmediate: clearImmediate,
5
+ clearTimeout: clearTimeout
6
+ };
7
+
1
8
  /**
2
9
  * Handles async tasks.
3
10
  */
@@ -107,10 +114,10 @@ export default class AsyncTaskManager {
107
114
  delete this.runningTasks[taskID];
108
115
  this.runningTaskCount--;
109
116
  if (this.waitUntilCompleteTimer) {
110
- global.clearImmediate(this.waitUntilCompleteTimer);
117
+ TIMER.clearImmediate(this.waitUntilCompleteTimer);
111
118
  }
112
119
  if (!this.runningTaskCount && !this.runningTimers.length && !this.runningImmediates.length) {
113
- this.waitUntilCompleteTimer = global.setImmediate(() => {
120
+ this.waitUntilCompleteTimer = TIMER.setImmediate(() => {
114
121
  this.waitUntilCompleteTimer = null;
115
122
  if (
116
123
  !this.runningTaskCount &&
@@ -170,16 +177,16 @@ export default class AsyncTaskManager {
170
177
  this.runningTimers = [];
171
178
 
172
179
  if (this.waitUntilCompleteTimer) {
173
- global.clearImmediate(this.waitUntilCompleteTimer);
180
+ TIMER.clearImmediate(this.waitUntilCompleteTimer);
174
181
  this.waitUntilCompleteTimer = null;
175
182
  }
176
183
 
177
184
  for (const immediate of runningImmediates) {
178
- global.clearImmediate(immediate);
185
+ TIMER.clearImmediate(immediate);
179
186
  }
180
187
 
181
188
  for (const timer of runningTimers) {
182
- global.clearTimeout(timer);
189
+ TIMER.clearTimeout(timer);
183
190
  }
184
191
 
185
192
  for (const key of Object.keys(runningTasks)) {
@@ -100,7 +100,7 @@ export default class BrowserFrameNavigator {
100
100
  (<number>frame.window.devicePixelRatio) = devicePixelRatio;
101
101
 
102
102
  if (options?.referrer) {
103
- (<string>frame.window.document.referrer) = options.referrer;
103
+ frame.window.document[PropertySymbol.referrer] = options.referrer;
104
104
  }
105
105
 
106
106
  if (targetURL.protocol === 'about:') {
@@ -79,21 +79,21 @@ export default abstract class AbstractCSSStyleDeclaration {
79
79
 
80
80
  if (this.#ownerElement) {
81
81
  const style = new CSSStyleDeclarationPropertyManager({ cssText });
82
- let styleAttribute = <IAttr>this.#ownerElement.attributes['style'];
82
+ let styleAttribute = <IAttr>this.#ownerElement[PropertySymbol.attributes]['style'];
83
83
 
84
84
  if (!styleAttribute) {
85
- styleAttribute = this.#ownerElement.ownerDocument.createAttribute('style');
85
+ styleAttribute = this.#ownerElement[PropertySymbol.ownerDocument].createAttribute('style');
86
86
  // We use "[PropertySymbol.setNamedItemWithoutConsequences]" here to avoid triggering setting "Element.style.cssText" when setting the "style" attribute.
87
- (<NamedNodeMap>this.#ownerElement.attributes)[
87
+ (<NamedNodeMap>this.#ownerElement[PropertySymbol.attributes])[
88
88
  PropertySymbol.setNamedItemWithoutConsequences
89
89
  ](styleAttribute);
90
90
  }
91
91
 
92
- if (this.#ownerElement.isConnected) {
93
- this.#ownerElement.ownerDocument[PropertySymbol.cacheID]++;
92
+ if (this.#ownerElement[PropertySymbol.isConnected]) {
93
+ this.#ownerElement[PropertySymbol.ownerDocument][PropertySymbol.cacheID]++;
94
94
  }
95
95
 
96
- styleAttribute.value = style.toString();
96
+ styleAttribute[PropertySymbol.value] = style.toString();
97
97
  } else {
98
98
  this.#style = new CSSStyleDeclarationPropertyManager({ cssText });
99
99
  }
@@ -136,25 +136,25 @@ export default abstract class AbstractCSSStyleDeclaration {
136
136
  if (!stringValue) {
137
137
  this.removeProperty(name);
138
138
  } else if (this.#ownerElement) {
139
- let styleAttribute = <IAttr>this.#ownerElement.attributes['style'];
139
+ let styleAttribute = <IAttr>this.#ownerElement[PropertySymbol.attributes]['style'];
140
140
 
141
141
  if (!styleAttribute) {
142
- styleAttribute = this.#ownerElement.ownerDocument.createAttribute('style');
142
+ styleAttribute = this.#ownerElement[PropertySymbol.ownerDocument].createAttribute('style');
143
143
 
144
144
  // We use "[PropertySymbol.setNamedItemWithoutConsequences]" here to avoid triggering setting "Element.style.cssText" when setting the "style" attribute.
145
- (<NamedNodeMap>this.#ownerElement.attributes)[
145
+ (<NamedNodeMap>this.#ownerElement[PropertySymbol.attributes])[
146
146
  PropertySymbol.setNamedItemWithoutConsequences
147
147
  ](styleAttribute);
148
148
  }
149
149
 
150
- if (this.#ownerElement.isConnected) {
151
- this.#ownerElement.ownerDocument[PropertySymbol.cacheID]++;
150
+ if (this.#ownerElement[PropertySymbol.isConnected]) {
151
+ this.#ownerElement[PropertySymbol.ownerDocument][PropertySymbol.cacheID]++;
152
152
  }
153
153
 
154
154
  const style = this.#elementStyle.getElementStyle();
155
155
  style.set(name, stringValue, !!priority);
156
156
 
157
- styleAttribute.value = style.toString();
157
+ styleAttribute[PropertySymbol.value] = style.toString();
158
158
  } else {
159
159
  this.#style.set(name, stringValue, !!priority);
160
160
  }
@@ -180,15 +180,16 @@ export default abstract class AbstractCSSStyleDeclaration {
180
180
  style.remove(name);
181
181
  const newCSSText = style.toString();
182
182
 
183
- if (this.#ownerElement.isConnected) {
184
- this.#ownerElement.ownerDocument[PropertySymbol.cacheID]++;
183
+ if (this.#ownerElement[PropertySymbol.isConnected]) {
184
+ this.#ownerElement[PropertySymbol.ownerDocument][PropertySymbol.cacheID]++;
185
185
  }
186
186
 
187
187
  if (newCSSText) {
188
- (<IAttr>this.#ownerElement.attributes['style']).value = newCSSText;
188
+ (<IAttr>this.#ownerElement[PropertySymbol.attributes]['style'])[PropertySymbol.value] =
189
+ newCSSText;
189
190
  } else {
190
191
  // We use "[PropertySymbol.removeNamedItemWithoutConsequences]" here to avoid triggering setting "Element.style.cssText" when setting the "style" attribute.
191
- (<NamedNodeMap>this.#ownerElement.attributes)[
192
+ (<NamedNodeMap>this.#ownerElement[PropertySymbol.attributes])[
192
193
  PropertySymbol.removeNamedItemWithoutConsequences
193
194
  ]('style');
194
195
  }
@@ -65,7 +65,7 @@ export default class CSSStyleDeclarationElementStyle {
65
65
  return this.getComputedElementStyle();
66
66
  }
67
67
 
68
- const cssText = this.element.attributes['style']?.value;
68
+ const cssText = this.element[PropertySymbol.attributes]['style']?.[PropertySymbol.value];
69
69
 
70
70
  if (cssText) {
71
71
  if (this.cache.propertyManager && this.cache.cssText === cssText) {
@@ -94,24 +94,25 @@ export default class CSSStyleDeclarationElementStyle {
94
94
  };
95
95
  let shadowRootElements: Array<IStyleAndElement> = [];
96
96
 
97
- if (!this.element.isConnected) {
97
+ if (!this.element[PropertySymbol.isConnected]) {
98
98
  return new CSSStyleDeclarationPropertyManager();
99
99
  }
100
100
 
101
101
  if (
102
102
  this.cache.propertyManager &&
103
- this.cache.documentCacheID === this.element.ownerDocument[PropertySymbol.cacheID]
103
+ this.cache.documentCacheID ===
104
+ this.element[PropertySymbol.ownerDocument][PropertySymbol.cacheID]
104
105
  ) {
105
106
  return this.cache.propertyManager;
106
107
  }
107
108
 
108
- this.cache.documentCacheID = this.element.ownerDocument[PropertySymbol.cacheID];
109
+ this.cache.documentCacheID = this.element[PropertySymbol.ownerDocument][PropertySymbol.cacheID];
109
110
 
110
111
  // Walks through all parent elements and stores them in an array with element and matching CSS text.
111
112
  while (styleAndElement.element) {
112
- if (styleAndElement.element.nodeType === NodeTypeEnum.elementNode) {
113
+ if (styleAndElement.element[PropertySymbol.nodeType] === NodeTypeEnum.elementNode) {
113
114
  const rootNode = styleAndElement.element.getRootNode();
114
- if (rootNode.nodeType === NodeTypeEnum.documentNode) {
115
+ if (rootNode[PropertySymbol.nodeType] === NodeTypeEnum.documentNode) {
115
116
  documentElements.unshift(styleAndElement);
116
117
  } else {
117
118
  shadowRootElements.unshift(styleAndElement);
@@ -119,9 +120,11 @@ export default class CSSStyleDeclarationElementStyle {
119
120
  parentElements.unshift(styleAndElement);
120
121
  }
121
122
 
122
- if (styleAndElement.element === this.element.ownerDocument) {
123
+ if (styleAndElement.element === this.element[PropertySymbol.ownerDocument]) {
123
124
  const styleSheets = <INodeList<IHTMLStyleElement>>(
124
- this.element.ownerDocument.querySelectorAll('style,link[rel="stylesheet"]')
125
+ this.element[PropertySymbol.ownerDocument].querySelectorAll(
126
+ 'style,link[rel="stylesheet"]'
127
+ )
125
128
  );
126
129
 
127
130
  for (const styleSheet of styleSheets) {
@@ -134,17 +137,25 @@ export default class CSSStyleDeclarationElementStyle {
134
137
  }
135
138
  }
136
139
 
140
+ for (const styleSheet of this.element[PropertySymbol.ownerDocument].adoptedStyleSheets) {
141
+ this.parseCSSRules({
142
+ elements: documentElements,
143
+ cssRules: styleSheet.cssRules
144
+ });
145
+ }
146
+
137
147
  styleAndElement = { element: null, cssTexts: [] };
138
148
  } else if (
139
- styleAndElement.element.nodeType === NodeTypeEnum.documentFragmentNode &&
149
+ styleAndElement.element[PropertySymbol.nodeType] === NodeTypeEnum.documentFragmentNode &&
140
150
  (<IShadowRoot>styleAndElement.element).host
141
151
  ) {
152
+ const shadowRoot = <IShadowRoot>styleAndElement.element;
142
153
  const styleSheets = <INodeList<IHTMLStyleElement>>(
143
- (<IShadowRoot>styleAndElement.element).querySelectorAll('style,link[rel="stylesheet"]')
154
+ shadowRoot.querySelectorAll('style,link[rel="stylesheet"]')
144
155
  );
145
156
 
146
157
  styleAndElement = {
147
- element: <IElement>(<IShadowRoot>styleAndElement.element).host,
158
+ element: <IElement>shadowRoot.host,
148
159
  cssTexts: []
149
160
  };
150
161
 
@@ -158,9 +169,21 @@ export default class CSSStyleDeclarationElementStyle {
158
169
  });
159
170
  }
160
171
  }
172
+
173
+ for (const styleSheet of shadowRoot.adoptedStyleSheets) {
174
+ this.parseCSSRules({
175
+ elements: shadowRootElements,
176
+ cssRules: styleSheet.cssRules,
177
+ hostElement: styleAndElement
178
+ });
179
+ }
180
+
161
181
  shadowRootElements = [];
162
182
  } else {
163
- styleAndElement = { element: <IElement>styleAndElement.element.parentNode, cssTexts: [] };
183
+ styleAndElement = {
184
+ element: <IElement>styleAndElement.element[PropertySymbol.parentNode],
185
+ cssTexts: []
186
+ };
164
187
  }
165
188
  }
166
189
 
@@ -175,36 +198,49 @@ export default class CSSStyleDeclarationElementStyle {
175
198
  parentElement.cssTexts.sort((a, b) => a.priorityWeight - b.priorityWeight);
176
199
 
177
200
  let elementCSSText = '';
178
- if (CSSStyleDeclarationElementDefaultCSS[(<IElement>parentElement.element).tagName]) {
201
+ if (
202
+ CSSStyleDeclarationElementDefaultCSS[
203
+ (<IElement>parentElement.element)[PropertySymbol.tagName]
204
+ ]
205
+ ) {
179
206
  if (
180
- typeof CSSStyleDeclarationElementDefaultCSS[(<IElement>parentElement.element).tagName] ===
181
- 'string'
207
+ typeof CSSStyleDeclarationElementDefaultCSS[
208
+ (<IElement>parentElement.element)[PropertySymbol.tagName]
209
+ ] === 'string'
182
210
  ) {
183
211
  elementCSSText +=
184
- CSSStyleDeclarationElementDefaultCSS[(<IElement>parentElement.element).tagName];
212
+ CSSStyleDeclarationElementDefaultCSS[
213
+ (<IElement>parentElement.element)[PropertySymbol.tagName]
214
+ ];
185
215
  } else {
186
216
  for (const key of Object.keys(
187
- CSSStyleDeclarationElementDefaultCSS[(<IElement>parentElement.element).tagName]
217
+ CSSStyleDeclarationElementDefaultCSS[
218
+ (<IElement>parentElement.element)[PropertySymbol.tagName]
219
+ ]
188
220
  )) {
189
221
  if (key === 'default' || !!parentElement.element[key]) {
190
222
  elementCSSText +=
191
- CSSStyleDeclarationElementDefaultCSS[(<IElement>parentElement.element).tagName][
192
- key
193
- ];
223
+ CSSStyleDeclarationElementDefaultCSS[
224
+ (<IElement>parentElement.element)[PropertySymbol.tagName]
225
+ ][key];
194
226
  }
195
227
  }
196
228
  }
197
229
  elementCSSText +=
198
- CSSStyleDeclarationElementDefaultCSS[(<IElement>parentElement.element).tagName];
230
+ CSSStyleDeclarationElementDefaultCSS[
231
+ (<IElement>parentElement.element)[PropertySymbol.tagName]
232
+ ];
199
233
  }
200
234
 
201
235
  for (const cssText of parentElement.cssTexts) {
202
236
  elementCSSText += cssText.cssText;
203
237
  }
204
238
 
205
- const elementStyleAttribute = (<IElement>parentElement.element).attributes['style'];
239
+ const elementStyleAttribute = (<IElement>parentElement.element)[PropertySymbol.attributes][
240
+ 'style'
241
+ ];
206
242
  if (elementStyleAttribute) {
207
- elementCSSText += elementStyleAttribute.value;
243
+ elementCSSText += elementStyleAttribute[PropertySymbol.value];
208
244
  }
209
245
 
210
246
  CSSStyleDeclarationCSSParser.parse(elementCSSText, (name, value, important) => {
@@ -229,7 +265,7 @@ export default class CSSStyleDeclarationElementStyle {
229
265
  parentFontSize,
230
266
  parentSize: parentFontSize
231
267
  });
232
- if ((<IElement>parentElement.element).tagName === 'HTML') {
268
+ if ((<IElement>parentElement.element)[PropertySymbol.tagName] === 'HTML') {
233
269
  rootFontSize = parsedValue;
234
270
  } else if (parentElement !== targetElement) {
235
271
  parentFontSize = parsedValue;
@@ -277,7 +313,7 @@ export default class CSSStyleDeclarationElementStyle {
277
313
  return;
278
314
  }
279
315
 
280
- const ownerWindow = this.element.ownerDocument[PropertySymbol.defaultView];
316
+ const ownerWindow = this.element[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow];
281
317
 
282
318
  for (const rule of options.cssRules) {
283
319
  if (rule.type === CSSRuleTypeEnum.styleRule) {
@@ -308,7 +344,7 @@ export default class CSSStyleDeclarationElementStyle {
308
344
  new MediaQueryList({
309
345
  ownerWindow,
310
346
  media: (<CSSMediaRule>rule).conditionText,
311
- rootFontSize: this.element.tagName === 'HTML' ? 16 : null
347
+ rootFontSize: this.element[PropertySymbol.tagName] === 'HTML' ? 16 : null
312
348
  }).matches
313
349
  ) {
314
350
  this.parseCSSRules({
@@ -362,7 +398,7 @@ export default class CSSStyleDeclarationElementStyle {
362
398
  }): string {
363
399
  if (
364
400
  WindowBrowserSettingsReader.getSettings(
365
- this.element.ownerDocument[PropertySymbol.defaultView]
401
+ this.element[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow]
366
402
  ).disableComputedStyleRendering
367
403
  ) {
368
404
  return options.value;
@@ -375,7 +411,7 @@ export default class CSSStyleDeclarationElementStyle {
375
411
  while ((match = regexp.exec(options.value)) !== null) {
376
412
  if (match[1] !== 'px') {
377
413
  const valueInPixels = CSSMeasurementConverter.toPixels({
378
- ownerWindow: this.element.ownerDocument[PropertySymbol.defaultView],
414
+ ownerWindow: this.element[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow],
379
415
  value: match[0],
380
416
  rootFontSize: options.rootFontSize,
381
417
  parentFontSize: options.parentFontSize,
@@ -24,14 +24,14 @@ export default class DOMImplementation {
24
24
  * TODO: Not fully implemented.
25
25
  */
26
26
  public createDocument(): IDocument {
27
- return new this.#document[PropertySymbol.defaultView].HTMLDocument();
27
+ return new this.#document[PropertySymbol.ownerWindow].HTMLDocument();
28
28
  }
29
29
 
30
30
  /**
31
31
  * Creates and returns an HTML Document.
32
32
  */
33
33
  public createHTMLDocument(): IDocument {
34
- return new this.#document[PropertySymbol.defaultView].HTMLDocument();
34
+ return new this.#document[PropertySymbol.ownerWindow].HTMLDocument();
35
35
  }
36
36
 
37
37
  /**
@@ -48,11 +48,11 @@ export default class DOMImplementation {
48
48
  ): DocumentType {
49
49
  const documentType = NodeFactory.createNode<DocumentType>(
50
50
  this.#document,
51
- this.#document[PropertySymbol.defaultView].DocumentType
51
+ this.#document[PropertySymbol.ownerWindow].DocumentType
52
52
  );
53
- documentType.name = qualifiedName;
54
- documentType.publicId = publicId;
55
- documentType.systemId = systemId;
53
+ documentType[PropertySymbol.name] = qualifiedName;
54
+ documentType[PropertySymbol.publicId] = publicId;
55
+ documentType[PropertySymbol.systemId] = systemId;
56
56
  return documentType;
57
57
  }
58
58
  }
@@ -1,10 +1,10 @@
1
1
  import IDocument from '../nodes/document/IDocument.js';
2
2
  import * as PropertySymbol from '../PropertySymbol.js';
3
3
  import XMLParser from '../xml-parser/XMLParser.js';
4
- import Node from '../nodes/node/Node.js';
5
4
  import DOMException from '../exception/DOMException.js';
6
5
  import DocumentFragment from '../nodes/document-fragment/DocumentFragment.js';
7
6
  import IBrowserWindow from '../window/IBrowserWindow.js';
7
+ import NodeTypeEnum from '../nodes/node/NodeTypeEnum.js';
8
8
 
9
9
  /**
10
10
  * DOM parser.
@@ -48,7 +48,7 @@ export default class DOMParser {
48
48
  for (const node of root[PropertySymbol.childNodes]) {
49
49
  if (node['tagName'] === 'HTML') {
50
50
  documentElement = node;
51
- } else if (node.nodeType === Node.DOCUMENT_TYPE_NODE) {
51
+ } else if (node[PropertySymbol.nodeType] === NodeTypeEnum.documentTypeNode) {
52
52
  documentTypeNode = node;
53
53
  }
54
54
 
@@ -94,12 +94,12 @@ export default class Event {
94
94
  eventTarget = (<INode>(<unknown>eventTarget)).parentNode;
95
95
  } else if (
96
96
  this.composed &&
97
- (<INode>eventTarget).nodeType === NodeTypeEnum.documentFragmentNode &&
97
+ (<INode>eventTarget)[PropertySymbol.nodeType] === NodeTypeEnum.documentFragmentNode &&
98
98
  (<IShadowRoot>eventTarget).host
99
99
  ) {
100
100
  eventTarget = (<IShadowRoot>eventTarget).host;
101
- } else if ((<INode>eventTarget).nodeType === NodeTypeEnum.documentNode) {
102
- eventTarget = (<IDocument>(<unknown>eventTarget))[PropertySymbol.defaultView];
101
+ } else if ((<INode>eventTarget)[PropertySymbol.nodeType] === NodeTypeEnum.documentNode) {
102
+ eventTarget = (<IDocument>(<unknown>eventTarget))[PropertySymbol.ownerWindow];
103
103
  } else {
104
104
  break;
105
105
  }