happy-dom 13.0.7 → 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 (606) 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/browser/utilities/BrowserFrameNavigator.cjs +1 -1
  6. package/cjs/browser/utilities/BrowserFrameNavigator.cjs.map +1 -1
  7. package/cjs/css/declaration/AbstractCSSStyleDeclaration.cjs +17 -16
  8. package/cjs/css/declaration/AbstractCSSStyleDeclaration.cjs.map +1 -1
  9. package/cjs/css/declaration/AbstractCSSStyleDeclaration.d.ts.map +1 -1
  10. package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.cjs +43 -26
  11. package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.cjs.map +1 -1
  12. package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.d.ts.map +1 -1
  13. package/cjs/dom-implementation/DOMImplementation.cjs +6 -6
  14. package/cjs/dom-implementation/DOMImplementation.cjs.map +1 -1
  15. package/cjs/dom-parser/DOMParser.cjs +2 -2
  16. package/cjs/dom-parser/DOMParser.cjs.map +1 -1
  17. package/cjs/dom-parser/DOMParser.d.ts.map +1 -1
  18. package/cjs/event/Event.cjs +3 -3
  19. package/cjs/event/Event.cjs.map +1 -1
  20. package/cjs/event/EventTarget.cjs +4 -4
  21. package/cjs/event/EventTarget.cjs.map +1 -1
  22. package/cjs/fetch/Request.cjs +2 -1
  23. package/cjs/fetch/Request.cjs.map +1 -1
  24. package/cjs/fetch/Request.d.ts +4 -4
  25. package/cjs/fetch/Request.d.ts.map +1 -1
  26. package/cjs/form-data/FormData.cjs +7 -7
  27. package/cjs/form-data/FormData.cjs.map +1 -1
  28. package/cjs/mutation-observer/MutationObserver.cjs +3 -3
  29. package/cjs/mutation-observer/MutationObserver.cjs.map +1 -1
  30. package/cjs/named-node-map/NamedNodeMap.cjs +10 -8
  31. package/cjs/named-node-map/NamedNodeMap.cjs.map +1 -1
  32. package/cjs/named-node-map/NamedNodeMap.d.ts.map +1 -1
  33. package/cjs/nodes/attr/Attr.cjs +84 -15
  34. package/cjs/nodes/attr/Attr.cjs.map +1 -1
  35. package/cjs/nodes/attr/Attr.d.ts +40 -8
  36. package/cjs/nodes/attr/Attr.d.ts.map +1 -1
  37. package/cjs/nodes/character-data/CharacterData.cjs +2 -2
  38. package/cjs/nodes/character-data/CharacterData.cjs.map +1 -1
  39. package/cjs/nodes/child-node/ChildNodeUtility.cjs +8 -8
  40. package/cjs/nodes/child-node/ChildNodeUtility.cjs.map +1 -1
  41. package/cjs/nodes/child-node/NonDocumentChildNodeUtility.cjs +27 -3
  42. package/cjs/nodes/child-node/NonDocumentChildNodeUtility.cjs.map +1 -1
  43. package/cjs/nodes/child-node/NonDocumentChildNodeUtility.d.ts.map +1 -1
  44. package/cjs/nodes/comment/Comment.cjs +28 -2
  45. package/cjs/nodes/comment/Comment.cjs.map +1 -1
  46. package/cjs/nodes/comment/Comment.d.ts +3 -1
  47. package/cjs/nodes/comment/Comment.d.ts.map +1 -1
  48. package/cjs/nodes/document/Document.cjs +95 -41
  49. package/cjs/nodes/document/Document.cjs.map +1 -1
  50. package/cjs/nodes/document/Document.d.ts +45 -10
  51. package/cjs/nodes/document/Document.d.ts.map +1 -1
  52. package/cjs/nodes/document/IDocument.d.ts +2 -1
  53. package/cjs/nodes/document/IDocument.d.ts.map +1 -1
  54. package/cjs/nodes/document-fragment/DocumentFragment.cjs +8 -6
  55. package/cjs/nodes/document-fragment/DocumentFragment.cjs.map +1 -1
  56. package/cjs/nodes/document-fragment/DocumentFragment.d.ts +2 -1
  57. package/cjs/nodes/document-fragment/DocumentFragment.d.ts.map +1 -1
  58. package/cjs/nodes/document-type/DocumentType.cjs +58 -7
  59. package/cjs/nodes/document-type/DocumentType.cjs.map +1 -1
  60. package/cjs/nodes/document-type/DocumentType.d.ts +24 -4
  61. package/cjs/nodes/document-type/DocumentType.d.ts.map +1 -1
  62. package/cjs/nodes/element/Dataset.cjs +14 -14
  63. package/cjs/nodes/element/Dataset.cjs.map +1 -1
  64. package/cjs/nodes/element/Dataset.d.ts +1 -1
  65. package/cjs/nodes/element/Dataset.d.ts.map +1 -1
  66. package/cjs/nodes/element/Element.cjs +142 -55
  67. package/cjs/nodes/element/Element.cjs.map +1 -1
  68. package/cjs/nodes/element/Element.d.ts +77 -11
  69. package/cjs/nodes/element/Element.d.ts.map +1 -1
  70. package/cjs/nodes/element/ElementNamedNodeMap.cjs +33 -30
  71. package/cjs/nodes/element/ElementNamedNodeMap.cjs.map +1 -1
  72. package/cjs/nodes/element/ElementNamedNodeMap.d.ts.map +1 -1
  73. package/cjs/nodes/element/ElementUtility.cjs +19 -19
  74. package/cjs/nodes/element/ElementUtility.cjs.map +1 -1
  75. package/cjs/nodes/element/ElementUtility.d.ts.map +1 -1
  76. package/cjs/nodes/element/IElement.d.ts +3 -3
  77. package/cjs/nodes/element/IElement.d.ts.map +1 -1
  78. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.cjs +6 -6
  79. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.cjs.map +1 -1
  80. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.d.ts +1 -1
  81. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.d.ts.map +1 -1
  82. package/cjs/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.cjs +7 -5
  83. package/cjs/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.cjs.map +1 -1
  84. package/cjs/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.d.ts.map +1 -1
  85. package/cjs/nodes/html-base-element/HTMLBaseElement.cjs +25 -1
  86. package/cjs/nodes/html-base-element/HTMLBaseElement.cjs.map +1 -1
  87. package/cjs/nodes/html-base-element/HTMLBaseElement.d.ts.map +1 -1
  88. package/cjs/nodes/html-button-element/HTMLButtonElement.cjs +27 -8
  89. package/cjs/nodes/html-button-element/HTMLButtonElement.cjs.map +1 -1
  90. package/cjs/nodes/html-button-element/HTMLButtonElement.d.ts +16 -3
  91. package/cjs/nodes/html-button-element/HTMLButtonElement.d.ts.map +1 -1
  92. package/cjs/nodes/html-button-element/HTMLButtonElementNamedNodeMap.cjs +7 -7
  93. package/cjs/nodes/html-button-element/HTMLButtonElementNamedNodeMap.cjs.map +1 -1
  94. package/cjs/nodes/html-dialog-element/HTMLDialogElement.cjs +44 -1
  95. package/cjs/nodes/html-dialog-element/HTMLDialogElement.cjs.map +1 -1
  96. package/cjs/nodes/html-dialog-element/HTMLDialogElement.d.ts +14 -1
  97. package/cjs/nodes/html-dialog-element/HTMLDialogElement.d.ts.map +1 -1
  98. package/cjs/nodes/html-document/HTMLDocument.cjs +25 -1
  99. package/cjs/nodes/html-document/HTMLDocument.cjs.map +1 -1
  100. package/cjs/nodes/html-document/HTMLDocument.d.ts.map +1 -1
  101. package/cjs/nodes/html-element/HTMLElement.cjs +137 -32
  102. package/cjs/nodes/html-element/HTMLElement.cjs.map +1 -1
  103. package/cjs/nodes/html-element/HTMLElement.d.ts +91 -14
  104. package/cjs/nodes/html-element/HTMLElement.d.ts.map +1 -1
  105. package/cjs/nodes/html-element/HTMLElementNamedNodeMap.cjs +4 -3
  106. package/cjs/nodes/html-element/HTMLElementNamedNodeMap.cjs.map +1 -1
  107. package/cjs/nodes/html-element/HTMLElementNamedNodeMap.d.ts.map +1 -1
  108. package/cjs/nodes/html-element/HTMLElementUtility.cjs +12 -10
  109. package/cjs/nodes/html-element/HTMLElementUtility.cjs.map +1 -1
  110. package/cjs/nodes/html-element/HTMLElementUtility.d.ts.map +1 -1
  111. package/cjs/nodes/html-element/IHTMLElement.d.ts +3 -0
  112. package/cjs/nodes/html-element/IHTMLElement.d.ts.map +1 -1
  113. package/cjs/nodes/html-form-element/HTMLFormElement.cjs +62 -30
  114. package/cjs/nodes/html-form-element/HTMLFormElement.cjs.map +1 -1
  115. package/cjs/nodes/html-form-element/HTMLFormElement.d.ts +22 -3
  116. package/cjs/nodes/html-form-element/HTMLFormElement.d.ts.map +1 -1
  117. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs +5 -5
  118. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs.map +1 -1
  119. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.d.ts +1 -1
  120. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.d.ts.map +1 -1
  121. package/cjs/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.cjs +27 -1
  122. package/cjs/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.cjs.map +1 -1
  123. package/cjs/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.d.ts.map +1 -1
  124. package/cjs/nodes/html-iframe-element/HTMLIFrameElementPageLoader.cjs +2 -2
  125. package/cjs/nodes/html-iframe-element/HTMLIFrameElementPageLoader.cjs.map +1 -1
  126. package/cjs/nodes/html-image-element/HTMLImageElement.cjs +128 -26
  127. package/cjs/nodes/html-image-element/HTMLImageElement.cjs.map +1 -1
  128. package/cjs/nodes/html-image-element/HTMLImageElement.d.ts +76 -21
  129. package/cjs/nodes/html-image-element/HTMLImageElement.d.ts.map +1 -1
  130. package/cjs/nodes/html-input-element/HTMLInputElement.cjs +112 -27
  131. package/cjs/nodes/html-input-element/HTMLInputElement.cjs.map +1 -1
  132. package/cjs/nodes/html-input-element/HTMLInputElement.d.ts +67 -10
  133. package/cjs/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
  134. package/cjs/nodes/html-input-element/HTMLInputElementNamedNodeMap.cjs +7 -7
  135. package/cjs/nodes/html-input-element/HTMLInputElementNamedNodeMap.cjs.map +1 -1
  136. package/cjs/nodes/html-label-element/HTMLLabelElement.cjs +1 -1
  137. package/cjs/nodes/html-label-element/HTMLLabelElement.cjs.map +1 -1
  138. package/cjs/nodes/html-label-element/HTMLLabelElementUtility.cjs +26 -2
  139. package/cjs/nodes/html-label-element/HTMLLabelElementUtility.cjs.map +1 -1
  140. package/cjs/nodes/html-label-element/HTMLLabelElementUtility.d.ts.map +1 -1
  141. package/cjs/nodes/html-link-element/HTMLLinkElement.cjs +15 -8
  142. package/cjs/nodes/html-link-element/HTMLLinkElement.cjs.map +1 -1
  143. package/cjs/nodes/html-link-element/HTMLLinkElement.d.ts +6 -2
  144. package/cjs/nodes/html-link-element/HTMLLinkElement.d.ts.map +1 -1
  145. package/cjs/nodes/html-link-element/HTMLLinkElementNamedNodeMap.cjs +7 -6
  146. package/cjs/nodes/html-link-element/HTMLLinkElementNamedNodeMap.cjs.map +1 -1
  147. package/cjs/nodes/html-link-element/HTMLLinkElementNamedNodeMap.d.ts.map +1 -1
  148. package/cjs/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.cjs +8 -5
  149. package/cjs/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.cjs.map +1 -1
  150. package/cjs/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.d.ts.map +1 -1
  151. package/cjs/nodes/html-media-element/HTMLMediaElement.cjs +154 -53
  152. package/cjs/nodes/html-media-element/HTMLMediaElement.cjs.map +1 -1
  153. package/cjs/nodes/html-media-element/HTMLMediaElement.d.ts +86 -12
  154. package/cjs/nodes/html-media-element/HTMLMediaElement.d.ts.map +1 -1
  155. package/cjs/nodes/html-option-element/HTMLOptionElement.cjs +4 -4
  156. package/cjs/nodes/html-option-element/HTMLOptionElement.cjs.map +1 -1
  157. package/cjs/nodes/html-option-element/HTMLOptionElement.d.ts +1 -1
  158. package/cjs/nodes/html-option-element/HTMLOptionElement.d.ts.map +1 -1
  159. package/cjs/nodes/html-option-element/HTMLOptionElementNamedNodeMap.cjs +3 -3
  160. package/cjs/nodes/html-option-element/HTMLOptionElementNamedNodeMap.cjs.map +1 -1
  161. package/cjs/nodes/html-script-element/HTMLScriptElement.cjs +12 -11
  162. package/cjs/nodes/html-script-element/HTMLScriptElement.cjs.map +1 -1
  163. package/cjs/nodes/html-script-element/HTMLScriptElement.d.ts +1 -1
  164. package/cjs/nodes/html-script-element/HTMLScriptElement.d.ts.map +1 -1
  165. package/cjs/nodes/html-script-element/HTMLScriptElementNamedNodeMap.cjs +4 -4
  166. package/cjs/nodes/html-script-element/HTMLScriptElementNamedNodeMap.cjs.map +1 -1
  167. package/cjs/nodes/html-script-element/HTMLScriptElementScriptLoader.cjs +8 -8
  168. package/cjs/nodes/html-script-element/HTMLScriptElementScriptLoader.cjs.map +1 -1
  169. package/cjs/nodes/html-script-element/HTMLScriptElementScriptLoader.d.ts.map +1 -1
  170. package/cjs/nodes/html-select-element/HTMLSelectElement.cjs +63 -32
  171. package/cjs/nodes/html-select-element/HTMLSelectElement.cjs.map +1 -1
  172. package/cjs/nodes/html-select-element/HTMLSelectElement.d.ts +30 -5
  173. package/cjs/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
  174. package/cjs/nodes/html-select-element/HTMLSelectElementNamedNodeMap.cjs +7 -7
  175. package/cjs/nodes/html-select-element/HTMLSelectElementNamedNodeMap.cjs.map +1 -1
  176. package/cjs/nodes/html-style-element/HTMLStyleElement.cjs +6 -6
  177. package/cjs/nodes/html-style-element/HTMLStyleElement.cjs.map +1 -1
  178. package/cjs/nodes/html-style-element/HTMLStyleElement.d.ts +1 -1
  179. package/cjs/nodes/html-style-element/HTMLStyleElement.d.ts.map +1 -1
  180. package/cjs/nodes/html-template-element/HTMLTemplateElement.cjs +27 -12
  181. package/cjs/nodes/html-template-element/HTMLTemplateElement.cjs.map +1 -1
  182. package/cjs/nodes/html-template-element/HTMLTemplateElement.d.ts +8 -1
  183. package/cjs/nodes/html-template-element/HTMLTemplateElement.d.ts.map +1 -1
  184. package/cjs/nodes/html-template-element/IHTMLTemplateElement.d.ts +1 -1
  185. package/cjs/nodes/html-template-element/IHTMLTemplateElement.d.ts.map +1 -1
  186. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.cjs +27 -9
  187. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.cjs.map +1 -1
  188. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.d.ts +16 -3
  189. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.d.ts.map +1 -1
  190. package/cjs/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.cjs +7 -7
  191. package/cjs/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.cjs.map +1 -1
  192. package/cjs/nodes/html-unknown-element/HTMLUnknownElement.cjs +24 -17
  193. package/cjs/nodes/html-unknown-element/HTMLUnknownElement.cjs.map +1 -1
  194. package/cjs/nodes/html-unknown-element/HTMLUnknownElement.d.ts.map +1 -1
  195. package/cjs/nodes/node/INode.d.ts +2 -2
  196. package/cjs/nodes/node/INode.d.ts.map +1 -1
  197. package/cjs/nodes/node/Node.cjs +95 -56
  198. package/cjs/nodes/node/Node.cjs.map +1 -1
  199. package/cjs/nodes/node/Node.d.ts +44 -20
  200. package/cjs/nodes/node/Node.d.ts.map +1 -1
  201. package/cjs/nodes/node/NodeUtility.cjs +37 -37
  202. package/cjs/nodes/node/NodeUtility.cjs.map +1 -1
  203. package/cjs/nodes/node/NodeUtility.d.ts.map +1 -1
  204. package/cjs/nodes/parent-node/ParentNodeUtility.cjs +8 -5
  205. package/cjs/nodes/parent-node/ParentNodeUtility.cjs.map +1 -1
  206. package/cjs/nodes/parent-node/ParentNodeUtility.d.ts.map +1 -1
  207. package/cjs/nodes/processing-instruction/ProcessingInstruction.cjs +35 -1
  208. package/cjs/nodes/processing-instruction/ProcessingInstruction.cjs.map +1 -1
  209. package/cjs/nodes/processing-instruction/ProcessingInstruction.d.ts +9 -2
  210. package/cjs/nodes/processing-instruction/ProcessingInstruction.d.ts.map +1 -1
  211. package/cjs/nodes/shadow-root/IShadowRoot.d.ts +2 -0
  212. package/cjs/nodes/shadow-root/IShadowRoot.d.ts.map +1 -1
  213. package/cjs/nodes/shadow-root/ShadowRoot.cjs +44 -7
  214. package/cjs/nodes/shadow-root/ShadowRoot.cjs.map +1 -1
  215. package/cjs/nodes/shadow-root/ShadowRoot.d.ts +28 -3
  216. package/cjs/nodes/shadow-root/ShadowRoot.d.ts.map +1 -1
  217. package/cjs/nodes/svg-element/SVGElement.cjs +7 -6
  218. package/cjs/nodes/svg-element/SVGElement.cjs.map +1 -1
  219. package/cjs/nodes/svg-element/SVGElement.d.ts +2 -2
  220. package/cjs/nodes/svg-element/SVGElement.d.ts.map +1 -1
  221. package/cjs/nodes/svg-element/SVGElementNamedNodeMap.cjs +4 -3
  222. package/cjs/nodes/svg-element/SVGElementNamedNodeMap.cjs.map +1 -1
  223. package/cjs/nodes/svg-element/SVGElementNamedNodeMap.d.ts.map +1 -1
  224. package/cjs/nodes/text/Text.cjs +7 -6
  225. package/cjs/nodes/text/Text.cjs.map +1 -1
  226. package/cjs/nodes/text/Text.d.ts +2 -1
  227. package/cjs/nodes/text/Text.d.ts.map +1 -1
  228. package/cjs/query-selector/QuerySelector.cjs +2 -2
  229. package/cjs/query-selector/QuerySelector.cjs.map +1 -1
  230. package/cjs/query-selector/SelectorItem.cjs +16 -16
  231. package/cjs/query-selector/SelectorItem.cjs.map +1 -1
  232. package/cjs/query-selector/SelectorItem.d.ts.map +1 -1
  233. package/cjs/range/Range.cjs +91 -79
  234. package/cjs/range/Range.cjs.map +1 -1
  235. package/cjs/range/Range.d.ts.map +1 -1
  236. package/cjs/range/RangeUtility.cjs +5 -4
  237. package/cjs/range/RangeUtility.cjs.map +1 -1
  238. package/cjs/range/RangeUtility.d.ts.map +1 -1
  239. package/cjs/selection/Selection.cjs +15 -15
  240. package/cjs/selection/Selection.cjs.map +1 -1
  241. package/cjs/tree-walker/TreeWalker.cjs +12 -6
  242. package/cjs/tree-walker/TreeWalker.cjs.map +1 -1
  243. package/cjs/tree-walker/TreeWalker.d.ts.map +1 -1
  244. package/cjs/validity-state/ValidityState.cjs +1 -1
  245. package/cjs/validity-state/ValidityState.cjs.map +1 -1
  246. package/cjs/version.cjs +1 -1
  247. package/cjs/window/BrowserWindow.cjs +2 -2
  248. package/cjs/window/BrowserWindow.cjs.map +1 -1
  249. package/cjs/window/WindowErrorUtility.cjs +1 -1
  250. package/cjs/window/WindowErrorUtility.cjs.map +1 -1
  251. package/cjs/window/WindowErrorUtility.d.ts.map +1 -1
  252. package/cjs/xml-http-request/XMLHttpRequest.cjs +1 -1
  253. package/cjs/xml-http-request/XMLHttpRequest.cjs.map +1 -1
  254. package/cjs/xml-parser/XMLParser.cjs +16 -12
  255. package/cjs/xml-parser/XMLParser.cjs.map +1 -1
  256. package/cjs/xml-parser/XMLParser.d.ts.map +1 -1
  257. package/cjs/xml-serializer/XMLSerializer.cjs +36 -35
  258. package/cjs/xml-serializer/XMLSerializer.cjs.map +1 -1
  259. package/cjs/xml-serializer/XMLSerializer.d.ts +8 -1
  260. package/cjs/xml-serializer/XMLSerializer.d.ts.map +1 -1
  261. package/lib/PropertySymbol.d.ts +67 -1
  262. package/lib/PropertySymbol.d.ts.map +1 -1
  263. package/lib/PropertySymbol.js +67 -1
  264. package/lib/PropertySymbol.js.map +1 -1
  265. package/lib/browser/utilities/BrowserFrameNavigator.js +1 -1
  266. package/lib/browser/utilities/BrowserFrameNavigator.js.map +1 -1
  267. package/lib/css/declaration/AbstractCSSStyleDeclaration.d.ts.map +1 -1
  268. package/lib/css/declaration/AbstractCSSStyleDeclaration.js +17 -16
  269. package/lib/css/declaration/AbstractCSSStyleDeclaration.js.map +1 -1
  270. package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.d.ts.map +1 -1
  271. package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.js +43 -26
  272. package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.js.map +1 -1
  273. package/lib/dom-implementation/DOMImplementation.js +6 -6
  274. package/lib/dom-implementation/DOMImplementation.js.map +1 -1
  275. package/lib/dom-parser/DOMParser.d.ts.map +1 -1
  276. package/lib/dom-parser/DOMParser.js +2 -2
  277. package/lib/dom-parser/DOMParser.js.map +1 -1
  278. package/lib/event/Event.js +3 -3
  279. package/lib/event/Event.js.map +1 -1
  280. package/lib/event/EventTarget.js +4 -4
  281. package/lib/event/EventTarget.js.map +1 -1
  282. package/lib/fetch/Request.d.ts +4 -4
  283. package/lib/fetch/Request.d.ts.map +1 -1
  284. package/lib/fetch/Request.js +2 -1
  285. package/lib/fetch/Request.js.map +1 -1
  286. package/lib/form-data/FormData.js +7 -7
  287. package/lib/form-data/FormData.js.map +1 -1
  288. package/lib/mutation-observer/MutationObserver.js +3 -3
  289. package/lib/mutation-observer/MutationObserver.js.map +1 -1
  290. package/lib/named-node-map/NamedNodeMap.d.ts.map +1 -1
  291. package/lib/named-node-map/NamedNodeMap.js +10 -8
  292. package/lib/named-node-map/NamedNodeMap.js.map +1 -1
  293. package/lib/nodes/attr/Attr.d.ts +40 -8
  294. package/lib/nodes/attr/Attr.d.ts.map +1 -1
  295. package/lib/nodes/attr/Attr.js +63 -16
  296. package/lib/nodes/attr/Attr.js.map +1 -1
  297. package/lib/nodes/character-data/CharacterData.js +2 -2
  298. package/lib/nodes/character-data/CharacterData.js.map +1 -1
  299. package/lib/nodes/child-node/ChildNodeUtility.js +8 -8
  300. package/lib/nodes/child-node/ChildNodeUtility.js.map +1 -1
  301. package/lib/nodes/child-node/NonDocumentChildNodeUtility.d.ts.map +1 -1
  302. package/lib/nodes/child-node/NonDocumentChildNodeUtility.js +4 -3
  303. package/lib/nodes/child-node/NonDocumentChildNodeUtility.js.map +1 -1
  304. package/lib/nodes/comment/Comment.d.ts +3 -1
  305. package/lib/nodes/comment/Comment.d.ts.map +1 -1
  306. package/lib/nodes/comment/Comment.js +7 -3
  307. package/lib/nodes/comment/Comment.js.map +1 -1
  308. package/lib/nodes/document/Document.d.ts +45 -10
  309. package/lib/nodes/document/Document.d.ts.map +1 -1
  310. package/lib/nodes/document/Document.js +95 -41
  311. package/lib/nodes/document/Document.js.map +1 -1
  312. package/lib/nodes/document/IDocument.d.ts +2 -1
  313. package/lib/nodes/document/IDocument.d.ts.map +1 -1
  314. package/lib/nodes/document-fragment/DocumentFragment.d.ts +2 -1
  315. package/lib/nodes/document-fragment/DocumentFragment.d.ts.map +1 -1
  316. package/lib/nodes/document-fragment/DocumentFragment.js +8 -6
  317. package/lib/nodes/document-fragment/DocumentFragment.js.map +1 -1
  318. package/lib/nodes/document-type/DocumentType.d.ts +24 -4
  319. package/lib/nodes/document-type/DocumentType.d.ts.map +1 -1
  320. package/lib/nodes/document-type/DocumentType.js +37 -8
  321. package/lib/nodes/document-type/DocumentType.js.map +1 -1
  322. package/lib/nodes/element/Dataset.d.ts +1 -1
  323. package/lib/nodes/element/Dataset.d.ts.map +1 -1
  324. package/lib/nodes/element/Dataset.js +14 -14
  325. package/lib/nodes/element/Dataset.js.map +1 -1
  326. package/lib/nodes/element/Element.d.ts +77 -11
  327. package/lib/nodes/element/Element.d.ts.map +1 -1
  328. package/lib/nodes/element/Element.js +142 -55
  329. package/lib/nodes/element/Element.js.map +1 -1
  330. package/lib/nodes/element/ElementNamedNodeMap.d.ts.map +1 -1
  331. package/lib/nodes/element/ElementNamedNodeMap.js +33 -30
  332. package/lib/nodes/element/ElementNamedNodeMap.js.map +1 -1
  333. package/lib/nodes/element/ElementUtility.d.ts.map +1 -1
  334. package/lib/nodes/element/ElementUtility.js +19 -19
  335. package/lib/nodes/element/ElementUtility.js.map +1 -1
  336. package/lib/nodes/element/IElement.d.ts +3 -3
  337. package/lib/nodes/element/IElement.d.ts.map +1 -1
  338. package/lib/nodes/html-anchor-element/HTMLAnchorElement.d.ts +1 -1
  339. package/lib/nodes/html-anchor-element/HTMLAnchorElement.d.ts.map +1 -1
  340. package/lib/nodes/html-anchor-element/HTMLAnchorElement.js +6 -6
  341. package/lib/nodes/html-anchor-element/HTMLAnchorElement.js.map +1 -1
  342. package/lib/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.d.ts.map +1 -1
  343. package/lib/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.js +7 -5
  344. package/lib/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.js.map +1 -1
  345. package/lib/nodes/html-base-element/HTMLBaseElement.d.ts.map +1 -1
  346. package/lib/nodes/html-base-element/HTMLBaseElement.js +2 -1
  347. package/lib/nodes/html-base-element/HTMLBaseElement.js.map +1 -1
  348. package/lib/nodes/html-button-element/HTMLButtonElement.d.ts +16 -3
  349. package/lib/nodes/html-button-element/HTMLButtonElement.d.ts.map +1 -1
  350. package/lib/nodes/html-button-element/HTMLButtonElement.js +27 -8
  351. package/lib/nodes/html-button-element/HTMLButtonElement.js.map +1 -1
  352. package/lib/nodes/html-button-element/HTMLButtonElementNamedNodeMap.js +7 -7
  353. package/lib/nodes/html-button-element/HTMLButtonElementNamedNodeMap.js.map +1 -1
  354. package/lib/nodes/html-dialog-element/HTMLDialogElement.d.ts +14 -1
  355. package/lib/nodes/html-dialog-element/HTMLDialogElement.d.ts.map +1 -1
  356. package/lib/nodes/html-dialog-element/HTMLDialogElement.js +23 -2
  357. package/lib/nodes/html-dialog-element/HTMLDialogElement.js.map +1 -1
  358. package/lib/nodes/html-document/HTMLDocument.d.ts.map +1 -1
  359. package/lib/nodes/html-document/HTMLDocument.js +2 -1
  360. package/lib/nodes/html-document/HTMLDocument.js.map +1 -1
  361. package/lib/nodes/html-element/HTMLElement.d.ts +91 -14
  362. package/lib/nodes/html-element/HTMLElement.d.ts.map +1 -1
  363. package/lib/nodes/html-element/HTMLElement.js +137 -32
  364. package/lib/nodes/html-element/HTMLElement.js.map +1 -1
  365. package/lib/nodes/html-element/HTMLElementNamedNodeMap.d.ts.map +1 -1
  366. package/lib/nodes/html-element/HTMLElementNamedNodeMap.js +4 -3
  367. package/lib/nodes/html-element/HTMLElementNamedNodeMap.js.map +1 -1
  368. package/lib/nodes/html-element/HTMLElementUtility.d.ts.map +1 -1
  369. package/lib/nodes/html-element/HTMLElementUtility.js +12 -10
  370. package/lib/nodes/html-element/HTMLElementUtility.js.map +1 -1
  371. package/lib/nodes/html-element/IHTMLElement.d.ts +3 -0
  372. package/lib/nodes/html-element/IHTMLElement.d.ts.map +1 -1
  373. package/lib/nodes/html-form-element/HTMLFormElement.d.ts +22 -3
  374. package/lib/nodes/html-form-element/HTMLFormElement.d.ts.map +1 -1
  375. package/lib/nodes/html-form-element/HTMLFormElement.js +62 -30
  376. package/lib/nodes/html-form-element/HTMLFormElement.js.map +1 -1
  377. package/lib/nodes/html-iframe-element/HTMLIFrameElement.d.ts +1 -1
  378. package/lib/nodes/html-iframe-element/HTMLIFrameElement.d.ts.map +1 -1
  379. package/lib/nodes/html-iframe-element/HTMLIFrameElement.js +5 -5
  380. package/lib/nodes/html-iframe-element/HTMLIFrameElement.js.map +1 -1
  381. package/lib/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.d.ts.map +1 -1
  382. package/lib/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.js +4 -1
  383. package/lib/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.js.map +1 -1
  384. package/lib/nodes/html-iframe-element/HTMLIFrameElementPageLoader.js +2 -2
  385. package/lib/nodes/html-iframe-element/HTMLIFrameElementPageLoader.js.map +1 -1
  386. package/lib/nodes/html-image-element/HTMLImageElement.d.ts +76 -21
  387. package/lib/nodes/html-image-element/HTMLImageElement.d.ts.map +1 -1
  388. package/lib/nodes/html-image-element/HTMLImageElement.js +107 -27
  389. package/lib/nodes/html-image-element/HTMLImageElement.js.map +1 -1
  390. package/lib/nodes/html-input-element/HTMLInputElement.d.ts +67 -10
  391. package/lib/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
  392. package/lib/nodes/html-input-element/HTMLInputElement.js +112 -27
  393. package/lib/nodes/html-input-element/HTMLInputElement.js.map +1 -1
  394. package/lib/nodes/html-input-element/HTMLInputElementNamedNodeMap.js +7 -7
  395. package/lib/nodes/html-input-element/HTMLInputElementNamedNodeMap.js.map +1 -1
  396. package/lib/nodes/html-label-element/HTMLLabelElement.js +1 -1
  397. package/lib/nodes/html-label-element/HTMLLabelElement.js.map +1 -1
  398. package/lib/nodes/html-label-element/HTMLLabelElementUtility.d.ts.map +1 -1
  399. package/lib/nodes/html-label-element/HTMLLabelElementUtility.js +3 -2
  400. package/lib/nodes/html-label-element/HTMLLabelElementUtility.js.map +1 -1
  401. package/lib/nodes/html-link-element/HTMLLinkElement.d.ts +6 -2
  402. package/lib/nodes/html-link-element/HTMLLinkElement.d.ts.map +1 -1
  403. package/lib/nodes/html-link-element/HTMLLinkElement.js +15 -8
  404. package/lib/nodes/html-link-element/HTMLLinkElement.js.map +1 -1
  405. package/lib/nodes/html-link-element/HTMLLinkElementNamedNodeMap.d.ts.map +1 -1
  406. package/lib/nodes/html-link-element/HTMLLinkElementNamedNodeMap.js +7 -6
  407. package/lib/nodes/html-link-element/HTMLLinkElementNamedNodeMap.js.map +1 -1
  408. package/lib/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.d.ts.map +1 -1
  409. package/lib/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.js +8 -5
  410. package/lib/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.js.map +1 -1
  411. package/lib/nodes/html-media-element/HTMLMediaElement.d.ts +86 -12
  412. package/lib/nodes/html-media-element/HTMLMediaElement.d.ts.map +1 -1
  413. package/lib/nodes/html-media-element/HTMLMediaElement.js +132 -54
  414. package/lib/nodes/html-media-element/HTMLMediaElement.js.map +1 -1
  415. package/lib/nodes/html-option-element/HTMLOptionElement.d.ts +1 -1
  416. package/lib/nodes/html-option-element/HTMLOptionElement.d.ts.map +1 -1
  417. package/lib/nodes/html-option-element/HTMLOptionElement.js +4 -4
  418. package/lib/nodes/html-option-element/HTMLOptionElement.js.map +1 -1
  419. package/lib/nodes/html-option-element/HTMLOptionElementNamedNodeMap.js +3 -3
  420. package/lib/nodes/html-option-element/HTMLOptionElementNamedNodeMap.js.map +1 -1
  421. package/lib/nodes/html-script-element/HTMLScriptElement.d.ts +1 -1
  422. package/lib/nodes/html-script-element/HTMLScriptElement.d.ts.map +1 -1
  423. package/lib/nodes/html-script-element/HTMLScriptElement.js +12 -11
  424. package/lib/nodes/html-script-element/HTMLScriptElement.js.map +1 -1
  425. package/lib/nodes/html-script-element/HTMLScriptElementNamedNodeMap.js +4 -4
  426. package/lib/nodes/html-script-element/HTMLScriptElementNamedNodeMap.js.map +1 -1
  427. package/lib/nodes/html-script-element/HTMLScriptElementScriptLoader.d.ts.map +1 -1
  428. package/lib/nodes/html-script-element/HTMLScriptElementScriptLoader.js +8 -8
  429. package/lib/nodes/html-script-element/HTMLScriptElementScriptLoader.js.map +1 -1
  430. package/lib/nodes/html-select-element/HTMLSelectElement.d.ts +30 -5
  431. package/lib/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
  432. package/lib/nodes/html-select-element/HTMLSelectElement.js +63 -32
  433. package/lib/nodes/html-select-element/HTMLSelectElement.js.map +1 -1
  434. package/lib/nodes/html-select-element/HTMLSelectElementNamedNodeMap.js +7 -7
  435. package/lib/nodes/html-select-element/HTMLSelectElementNamedNodeMap.js.map +1 -1
  436. package/lib/nodes/html-style-element/HTMLStyleElement.d.ts +1 -1
  437. package/lib/nodes/html-style-element/HTMLStyleElement.d.ts.map +1 -1
  438. package/lib/nodes/html-style-element/HTMLStyleElement.js +6 -6
  439. package/lib/nodes/html-style-element/HTMLStyleElement.js.map +1 -1
  440. package/lib/nodes/html-template-element/HTMLTemplateElement.d.ts +8 -1
  441. package/lib/nodes/html-template-element/HTMLTemplateElement.d.ts.map +1 -1
  442. package/lib/nodes/html-template-element/HTMLTemplateElement.js +29 -13
  443. package/lib/nodes/html-template-element/HTMLTemplateElement.js.map +1 -1
  444. package/lib/nodes/html-template-element/IHTMLTemplateElement.d.ts +1 -1
  445. package/lib/nodes/html-template-element/IHTMLTemplateElement.d.ts.map +1 -1
  446. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.d.ts +16 -3
  447. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.d.ts.map +1 -1
  448. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js +27 -9
  449. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js.map +1 -1
  450. package/lib/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.js +7 -7
  451. package/lib/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.js.map +1 -1
  452. package/lib/nodes/html-unknown-element/HTMLUnknownElement.d.ts.map +1 -1
  453. package/lib/nodes/html-unknown-element/HTMLUnknownElement.js +24 -17
  454. package/lib/nodes/html-unknown-element/HTMLUnknownElement.js.map +1 -1
  455. package/lib/nodes/node/INode.d.ts +2 -2
  456. package/lib/nodes/node/INode.d.ts.map +1 -1
  457. package/lib/nodes/node/Node.d.ts +44 -20
  458. package/lib/nodes/node/Node.d.ts.map +1 -1
  459. package/lib/nodes/node/Node.js +95 -56
  460. package/lib/nodes/node/Node.js.map +1 -1
  461. package/lib/nodes/node/NodeUtility.d.ts.map +1 -1
  462. package/lib/nodes/node/NodeUtility.js +37 -37
  463. package/lib/nodes/node/NodeUtility.js.map +1 -1
  464. package/lib/nodes/parent-node/ParentNodeUtility.d.ts.map +1 -1
  465. package/lib/nodes/parent-node/ParentNodeUtility.js +8 -5
  466. package/lib/nodes/parent-node/ParentNodeUtility.js.map +1 -1
  467. package/lib/nodes/processing-instruction/ProcessingInstruction.d.ts +9 -2
  468. package/lib/nodes/processing-instruction/ProcessingInstruction.d.ts.map +1 -1
  469. package/lib/nodes/processing-instruction/ProcessingInstruction.js +14 -2
  470. package/lib/nodes/processing-instruction/ProcessingInstruction.js.map +1 -1
  471. package/lib/nodes/shadow-root/IShadowRoot.d.ts +2 -0
  472. package/lib/nodes/shadow-root/IShadowRoot.d.ts.map +1 -1
  473. package/lib/nodes/shadow-root/ShadowRoot.d.ts +28 -3
  474. package/lib/nodes/shadow-root/ShadowRoot.d.ts.map +1 -1
  475. package/lib/nodes/shadow-root/ShadowRoot.js +46 -8
  476. package/lib/nodes/shadow-root/ShadowRoot.js.map +1 -1
  477. package/lib/nodes/svg-element/SVGElement.d.ts +2 -2
  478. package/lib/nodes/svg-element/SVGElement.d.ts.map +1 -1
  479. package/lib/nodes/svg-element/SVGElement.js +7 -6
  480. package/lib/nodes/svg-element/SVGElement.js.map +1 -1
  481. package/lib/nodes/svg-element/SVGElementNamedNodeMap.d.ts.map +1 -1
  482. package/lib/nodes/svg-element/SVGElementNamedNodeMap.js +4 -3
  483. package/lib/nodes/svg-element/SVGElementNamedNodeMap.js.map +1 -1
  484. package/lib/nodes/text/Text.d.ts +2 -1
  485. package/lib/nodes/text/Text.d.ts.map +1 -1
  486. package/lib/nodes/text/Text.js +7 -6
  487. package/lib/nodes/text/Text.js.map +1 -1
  488. package/lib/query-selector/QuerySelector.js +2 -2
  489. package/lib/query-selector/QuerySelector.js.map +1 -1
  490. package/lib/query-selector/SelectorItem.d.ts.map +1 -1
  491. package/lib/query-selector/SelectorItem.js +16 -16
  492. package/lib/query-selector/SelectorItem.js.map +1 -1
  493. package/lib/range/Range.d.ts.map +1 -1
  494. package/lib/range/Range.js +91 -79
  495. package/lib/range/Range.js.map +1 -1
  496. package/lib/range/RangeUtility.d.ts.map +1 -1
  497. package/lib/range/RangeUtility.js +5 -4
  498. package/lib/range/RangeUtility.js.map +1 -1
  499. package/lib/selection/Selection.js +15 -15
  500. package/lib/selection/Selection.js.map +1 -1
  501. package/lib/tree-walker/TreeWalker.d.ts.map +1 -1
  502. package/lib/tree-walker/TreeWalker.js +12 -6
  503. package/lib/tree-walker/TreeWalker.js.map +1 -1
  504. package/lib/validity-state/ValidityState.js +1 -1
  505. package/lib/validity-state/ValidityState.js.map +1 -1
  506. package/lib/version.js +1 -1
  507. package/lib/window/BrowserWindow.js +2 -2
  508. package/lib/window/BrowserWindow.js.map +1 -1
  509. package/lib/window/WindowErrorUtility.d.ts.map +1 -1
  510. package/lib/window/WindowErrorUtility.js +1 -1
  511. package/lib/window/WindowErrorUtility.js.map +1 -1
  512. package/lib/xml-http-request/XMLHttpRequest.js +1 -1
  513. package/lib/xml-http-request/XMLHttpRequest.js.map +1 -1
  514. package/lib/xml-parser/XMLParser.d.ts.map +1 -1
  515. package/lib/xml-parser/XMLParser.js +16 -12
  516. package/lib/xml-parser/XMLParser.js.map +1 -1
  517. package/lib/xml-serializer/XMLSerializer.d.ts +8 -1
  518. package/lib/xml-serializer/XMLSerializer.d.ts.map +1 -1
  519. package/lib/xml-serializer/XMLSerializer.js +37 -37
  520. package/lib/xml-serializer/XMLSerializer.js.map +1 -1
  521. package/package.json +1 -1
  522. package/src/PropertySymbol.ts +67 -1
  523. package/src/browser/utilities/BrowserFrameNavigator.ts +1 -1
  524. package/src/css/declaration/AbstractCSSStyleDeclaration.ts +17 -16
  525. package/src/css/declaration/element-style/CSSStyleDeclarationElementStyle.ts +64 -28
  526. package/src/dom-implementation/DOMImplementation.ts +6 -6
  527. package/src/dom-parser/DOMParser.ts +2 -2
  528. package/src/event/Event.ts +3 -3
  529. package/src/event/EventTarget.ts +4 -4
  530. package/src/fetch/Request.ts +7 -5
  531. package/src/form-data/FormData.ts +9 -9
  532. package/src/mutation-observer/MutationObserver.ts +3 -3
  533. package/src/named-node-map/NamedNodeMap.ts +12 -8
  534. package/src/nodes/attr/Attr.ts +59 -11
  535. package/src/nodes/character-data/CharacterData.ts +2 -2
  536. package/src/nodes/child-node/ChildNodeUtility.ts +8 -8
  537. package/src/nodes/child-node/NonDocumentChildNodeUtility.ts +4 -3
  538. package/src/nodes/comment/Comment.ts +3 -2
  539. package/src/nodes/document/Document.ts +106 -46
  540. package/src/nodes/document/IDocument.ts +2 -1
  541. package/src/nodes/document-fragment/DocumentFragment.ts +8 -4
  542. package/src/nodes/document-type/DocumentType.ts +36 -7
  543. package/src/nodes/element/Dataset.ts +23 -17
  544. package/src/nodes/element/Element.ts +166 -61
  545. package/src/nodes/element/ElementNamedNodeMap.ts +58 -33
  546. package/src/nodes/element/ElementUtility.ts +26 -19
  547. package/src/nodes/element/IElement.ts +3 -3
  548. package/src/nodes/html-anchor-element/HTMLAnchorElement.ts +5 -3
  549. package/src/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.ts +11 -5
  550. package/src/nodes/html-base-element/HTMLBaseElement.ts +2 -1
  551. package/src/nodes/html-button-element/HTMLButtonElement.ts +29 -6
  552. package/src/nodes/html-button-element/HTMLButtonElementNamedNodeMap.ts +7 -7
  553. package/src/nodes/html-dialog-element/HTMLDialogElement.ts +21 -1
  554. package/src/nodes/html-document/HTMLDocument.ts +2 -1
  555. package/src/nodes/html-element/HTMLElement.ts +161 -33
  556. package/src/nodes/html-element/HTMLElementNamedNodeMap.ts +6 -3
  557. package/src/nodes/html-element/HTMLElementUtility.ts +17 -10
  558. package/src/nodes/html-element/IHTMLElement.ts +3 -0
  559. package/src/nodes/html-form-element/HTMLFormElement.ts +67 -27
  560. package/src/nodes/html-iframe-element/HTMLIFrameElement.ts +6 -5
  561. package/src/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.ts +6 -1
  562. package/src/nodes/html-iframe-element/HTMLIFrameElementPageLoader.ts +2 -2
  563. package/src/nodes/html-image-element/HTMLImageElement.ts +115 -28
  564. package/src/nodes/html-input-element/HTMLInputElement.ts +125 -30
  565. package/src/nodes/html-input-element/HTMLInputElementNamedNodeMap.ts +7 -7
  566. package/src/nodes/html-label-element/HTMLLabelElement.ts +1 -1
  567. package/src/nodes/html-label-element/HTMLLabelElementUtility.ts +3 -2
  568. package/src/nodes/html-link-element/HTMLLinkElement.ts +15 -5
  569. package/src/nodes/html-link-element/HTMLLinkElementNamedNodeMap.ts +9 -6
  570. package/src/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.ts +13 -5
  571. package/src/nodes/html-media-element/HTMLMediaElement.ts +142 -42
  572. package/src/nodes/html-option-element/HTMLOptionElement.ts +3 -1
  573. package/src/nodes/html-option-element/HTMLOptionElementNamedNodeMap.ts +3 -3
  574. package/src/nodes/html-script-element/HTMLScriptElement.ts +19 -12
  575. package/src/nodes/html-script-element/HTMLScriptElementNamedNodeMap.ts +4 -4
  576. package/src/nodes/html-script-element/HTMLScriptElementScriptLoader.ts +13 -9
  577. package/src/nodes/html-select-element/HTMLSelectElement.ts +69 -31
  578. package/src/nodes/html-select-element/HTMLSelectElementNamedNodeMap.ts +7 -7
  579. package/src/nodes/html-style-element/HTMLStyleElement.ts +6 -6
  580. package/src/nodes/html-template-element/HTMLTemplateElement.ts +28 -12
  581. package/src/nodes/html-template-element/IHTMLTemplateElement.ts +1 -1
  582. package/src/nodes/html-text-area-element/HTMLTextAreaElement.ts +29 -6
  583. package/src/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.ts +7 -7
  584. package/src/nodes/html-unknown-element/HTMLUnknownElement.ts +38 -17
  585. package/src/nodes/node/INode.ts +2 -2
  586. package/src/nodes/node/Node.ts +129 -56
  587. package/src/nodes/node/NodeUtility.ts +44 -37
  588. package/src/nodes/parent-node/ParentNodeUtility.ts +10 -5
  589. package/src/nodes/processing-instruction/ProcessingInstruction.ts +12 -2
  590. package/src/nodes/shadow-root/IShadowRoot.ts +2 -0
  591. package/src/nodes/shadow-root/ShadowRoot.ts +50 -8
  592. package/src/nodes/svg-element/SVGElement.ts +6 -5
  593. package/src/nodes/svg-element/SVGElementNamedNodeMap.ts +6 -3
  594. package/src/nodes/text/Text.ts +5 -5
  595. package/src/query-selector/QuerySelector.ts +2 -2
  596. package/src/query-selector/SelectorItem.ts +20 -16
  597. package/src/range/Range.ts +109 -82
  598. package/src/range/RangeUtility.ts +7 -4
  599. package/src/selection/Selection.ts +15 -15
  600. package/src/tree-walker/TreeWalker.ts +22 -6
  601. package/src/validity-state/ValidityState.ts +1 -1
  602. package/src/window/BrowserWindow.ts +2 -2
  603. package/src/window/WindowErrorUtility.ts +3 -1
  604. package/src/xml-http-request/XMLHttpRequest.ts +1 -1
  605. package/src/xml-parser/XMLParser.ts +18 -12
  606. package/src/xml-serializer/XMLSerializer.ts +22 -20
@@ -19,18 +19,18 @@ export default class HTMLInputElementNamedNodeMap extends HTMLElementNamedNodeMa
19
19
  const replacedItem = super.setNamedItem(item);
20
20
 
21
21
  if (
22
- (item.name === 'id' || item.name === 'name') &&
22
+ (item[PropertySymbol.name] === 'id' || item[PropertySymbol.name] === 'name') &&
23
23
  this[PropertySymbol.ownerElement][PropertySymbol.formNode]
24
24
  ) {
25
- if (replacedItem && replacedItem.value) {
25
+ if (replacedItem && replacedItem[PropertySymbol.value]) {
26
26
  (<HTMLFormElement>this[PropertySymbol.ownerElement][PropertySymbol.formNode])[
27
27
  PropertySymbol.removeFormControlItem
28
- ](this[PropertySymbol.ownerElement], replacedItem.value);
28
+ ](this[PropertySymbol.ownerElement], replacedItem[PropertySymbol.value]);
29
29
  }
30
- if (item.value) {
30
+ if (item[PropertySymbol.value]) {
31
31
  (<HTMLFormElement>this[PropertySymbol.ownerElement][PropertySymbol.formNode])[
32
32
  PropertySymbol.appendFormControlItem
33
- ](this[PropertySymbol.ownerElement], item.value);
33
+ ](this[PropertySymbol.ownerElement], item[PropertySymbol.value]);
34
34
  }
35
35
  }
36
36
 
@@ -45,12 +45,12 @@ export default class HTMLInputElementNamedNodeMap extends HTMLElementNamedNodeMa
45
45
 
46
46
  if (
47
47
  removedItem &&
48
- (removedItem.name === 'id' || removedItem.name === 'name') &&
48
+ (removedItem[PropertySymbol.name] === 'id' || removedItem[PropertySymbol.name] === 'name') &&
49
49
  this[PropertySymbol.ownerElement][PropertySymbol.formNode]
50
50
  ) {
51
51
  (<HTMLFormElement>this[PropertySymbol.ownerElement][PropertySymbol.formNode])[
52
52
  PropertySymbol.removeFormControlItem
53
- ](this[PropertySymbol.ownerElement], removedItem.value);
53
+ ](this[PropertySymbol.ownerElement], removedItem[PropertySymbol.value]);
54
54
  }
55
55
 
56
56
  return removedItem;
@@ -44,7 +44,7 @@ export default class HTMLLabelElement extends HTMLElement implements IHTMLLabelE
44
44
  public get control(): IHTMLElement {
45
45
  const htmlFor = this.htmlFor;
46
46
  if (htmlFor) {
47
- const control = <IHTMLElement>this.ownerDocument.getElementById(htmlFor);
47
+ const control = <IHTMLElement>this[PropertySymbol.ownerDocument].getElementById(htmlFor);
48
48
  return control !== this ? control : null;
49
49
  }
50
50
  return <IHTMLElement>(
@@ -4,6 +4,7 @@ import IHTMLLabelElement from './IHTMLLabelElement.js';
4
4
  import INodeList from '../node/INodeList.js';
5
5
  import NodeList from '../node/NodeList.js';
6
6
  import IShadowRoot from '../shadow-root/IShadowRoot.js';
7
+ import * as PropertySymbol from '../../PropertySymbol.js';
7
8
 
8
9
  /**
9
10
  * Utility for finding labels associated with a form element.
@@ -25,13 +26,13 @@ export default class HTMLLabelElementUtility {
25
26
  labels = new NodeList<IHTMLLabelElement>();
26
27
  }
27
28
 
28
- let parent = element.parentNode;
29
+ let parent = element[PropertySymbol.parentNode];
29
30
  while (parent) {
30
31
  if (parent['tagName'] === 'LABEL') {
31
32
  labels.push(<IHTMLLabelElement>parent);
32
33
  break;
33
34
  }
34
- parent = parent.parentNode;
35
+ parent = parent[PropertySymbol.parentNode];
35
36
  }
36
37
 
37
38
  return labels;
@@ -19,10 +19,13 @@ import IBrowserFrame from '../../browser/types/IBrowserFrame.js';
19
19
  * https://developer.mozilla.org/en-US/docs/Web/API/HTMLLinkElement.
20
20
  */
21
21
  export default class HTMLLinkElement extends HTMLElement implements IHTMLLinkElement {
22
- public override readonly attributes: INamedNodeMap;
22
+ // Events
23
23
  public onerror: (event: ErrorEvent) => void = null;
24
24
  public onload: (event: Event) => void = null;
25
- public readonly sheet: CSSStyleSheet = null;
25
+
26
+ // Internal properties
27
+ public override [PropertySymbol.attributes]: INamedNodeMap;
28
+ public readonly [PropertySymbol.sheet]: CSSStyleSheet = null;
26
29
  public [PropertySymbol.evaluateCSS] = true;
27
30
  public [PropertySymbol.relList]: DOMTokenList = null;
28
31
  #styleSheetLoader: HTMLLinkElementStyleSheetLoader;
@@ -40,7 +43,14 @@ export default class HTMLLinkElement extends HTMLElement implements IHTMLLinkEle
40
43
  browserFrame
41
44
  });
42
45
 
43
- this.attributes = new HTMLLinkElementNamedNodeMap(this, this.#styleSheetLoader);
46
+ this[PropertySymbol.attributes] = new HTMLLinkElementNamedNodeMap(this, this.#styleSheetLoader);
47
+ }
48
+
49
+ /**
50
+ * Returns sheet.
51
+ */
52
+ public get sheet(): CSSStyleSheet {
53
+ return this[PropertySymbol.sheet];
44
54
  }
45
55
 
46
56
  /**
@@ -203,8 +213,8 @@ export default class HTMLLinkElement extends HTMLElement implements IHTMLLinkEle
203
213
  * @override
204
214
  */
205
215
  public override [PropertySymbol.connectToNode](parentNode: INode = null): void {
206
- const isConnected = this.isConnected;
207
- const isParentConnected = parentNode ? parentNode.isConnected : false;
216
+ const isConnected = this[PropertySymbol.isConnected];
217
+ const isParentConnected = parentNode ? parentNode[PropertySymbol.isConnected] : false;
208
218
 
209
219
  super[PropertySymbol.connectToNode](parentNode);
210
220
 
@@ -31,18 +31,21 @@ export default class HTMLLinkElementNamedNodeMap extends HTMLElementNamedNodeMap
31
31
  public override setNamedItem(item: IAttr): IAttr | null {
32
32
  const replacedItem = super.setNamedItem(item);
33
33
 
34
- if (item.name === 'rel' && this[PropertySymbol.ownerElement][PropertySymbol.relList]) {
34
+ if (
35
+ item[PropertySymbol.name] === 'rel' &&
36
+ this[PropertySymbol.ownerElement][PropertySymbol.relList]
37
+ ) {
35
38
  this[PropertySymbol.ownerElement][PropertySymbol.relList][PropertySymbol.updateIndices]();
36
39
  }
37
40
 
38
- if (item.name === 'rel') {
41
+ if (item[PropertySymbol.name] === 'rel') {
39
42
  this.#styleSheetLoader.loadStyleSheet(
40
43
  this[PropertySymbol.ownerElement].getAttribute('href'),
41
- item.value
44
+ item[PropertySymbol.value]
42
45
  );
43
- } else if (item.name === 'href') {
46
+ } else if (item[PropertySymbol.name] === 'href') {
44
47
  this.#styleSheetLoader.loadStyleSheet(
45
- item.value,
48
+ item[PropertySymbol.value],
46
49
  this[PropertySymbol.ownerElement].getAttribute('rel')
47
50
  );
48
51
  }
@@ -58,7 +61,7 @@ export default class HTMLLinkElementNamedNodeMap extends HTMLElementNamedNodeMap
58
61
 
59
62
  if (
60
63
  removedItem &&
61
- removedItem.name === 'rel' &&
64
+ removedItem[PropertySymbol.name] === 'rel' &&
62
65
  this[PropertySymbol.ownerElement][PropertySymbol.relList]
63
66
  ) {
64
67
  this[PropertySymbol.ownerElement][PropertySymbol.relList][PropertySymbol.updateIndices]();
@@ -39,13 +39,21 @@ export default class HTMLLinkElementStyleSheetLoader {
39
39
  const element = this.#element;
40
40
  const browserSettings = this.#browserFrame.page.context.browser.settings;
41
41
 
42
- if (!url || !rel || rel.toLowerCase() !== 'stylesheet' || !element.isConnected) {
42
+ if (
43
+ !url ||
44
+ !rel ||
45
+ rel.toLowerCase() !== 'stylesheet' ||
46
+ !element[PropertySymbol.isConnected]
47
+ ) {
43
48
  return;
44
49
  }
45
50
 
46
51
  let absoluteURL: string;
47
52
  try {
48
- absoluteURL = new URL(url, element.ownerDocument[PropertySymbol.defaultView].location).href;
53
+ absoluteURL = new URL(
54
+ url,
55
+ element[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow].location
56
+ ).href;
49
57
  } catch (error) {
50
58
  this.#loadedStyleSheetURL = null;
51
59
  element.dispatchEvent(new Event('error'));
@@ -69,10 +77,10 @@ export default class HTMLLinkElementStyleSheetLoader {
69
77
 
70
78
  const resourceFetch = new ResourceFetch({
71
79
  browserFrame: this.#browserFrame,
72
- window: element.ownerDocument[PropertySymbol.defaultView]
80
+ window: element[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow]
73
81
  });
74
82
  const readyStateManager = (<{ [PropertySymbol.readyStateManager]: DocumentReadyStateManager }>(
75
- (<unknown>element.ownerDocument[PropertySymbol.defaultView])
83
+ (<unknown>element[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow])
76
84
  ))[PropertySymbol.readyStateManager];
77
85
 
78
86
  this.#loadedStyleSheetURL = absoluteURL;
@@ -95,7 +103,7 @@ export default class HTMLLinkElementStyleSheetLoader {
95
103
  } else {
96
104
  const styleSheet = new CSSStyleSheet();
97
105
  styleSheet.replaceSync(code);
98
- (<CSSStyleSheet>element.sheet) = styleSheet;
106
+ element[PropertySymbol.sheet] = styleSheet;
99
107
  element.dispatchEvent(new Event('load'));
100
108
  }
101
109
  }
@@ -4,6 +4,7 @@ import DOMException from '../../exception/DOMException.js';
4
4
  import DOMExceptionNameEnum from '../../exception/DOMExceptionNameEnum.js';
5
5
  import HTMLElement from '../html-element/HTMLElement.js';
6
6
  import IHTMLMediaElement, { IMediaError } from './IHTMLMediaElement.js';
7
+ import * as PropertySymbol from '../../PropertySymbol.js';
7
8
 
8
9
  /**
9
10
  *
@@ -30,19 +31,6 @@ function getTimeRangeDummy(): object {
30
31
  *
31
32
  */
32
33
  export default class HTMLMediaElement extends HTMLElement implements IHTMLMediaElement {
33
- // Public Properties
34
- public readonly buffered = getTimeRangeDummy();
35
- public readonly duration = NaN;
36
- public readonly error: IMediaError = null;
37
- public readonly ended = false;
38
- public readonly networkState = 0;
39
- public readonly readyState = 0;
40
- public readonly textTracks = [];
41
- public readonly videoTracks = [];
42
- public readonly seeking = false;
43
- public readonly seekable = getTimeRangeDummy();
44
- public readonly played = getTimeRangeDummy();
45
-
46
34
  // Events
47
35
  public onabort: (event: Event) => void | null = null;
48
36
  public oncanplay: (event: Event) => void | null = null;
@@ -68,14 +56,126 @@ export default class HTMLMediaElement extends HTMLElement implements IHTMLMediaE
68
56
  public onvolumechange: (event: Event) => void | null = null;
69
57
  public onwaiting: (event: Event) => void | null = null;
70
58
 
71
- #volume = 1;
72
- #paused = true;
73
- #currentTime = 0;
74
- #playbackRate = 1;
75
- #defaultPlaybackRate = 1;
76
- #muted = false;
77
- #defaultMuted = false;
78
- #preservesPitch = true;
59
+ // Internal Properties
60
+ public [PropertySymbol.volume] = 1;
61
+ public [PropertySymbol.paused] = true;
62
+ public [PropertySymbol.currentTime] = 0;
63
+ public [PropertySymbol.playbackRate] = 1;
64
+ public [PropertySymbol.defaultPlaybackRate] = 1;
65
+ public [PropertySymbol.muted] = false;
66
+ public [PropertySymbol.defaultMuted] = false;
67
+ public [PropertySymbol.preservesPitch] = true;
68
+ public [PropertySymbol.buffered]: object = getTimeRangeDummy();
69
+ public [PropertySymbol.duration] = NaN;
70
+ public [PropertySymbol.error]: IMediaError = null;
71
+ public [PropertySymbol.ended] = false;
72
+ public [PropertySymbol.networkState] = 0;
73
+ public [PropertySymbol.readyState] = 0;
74
+ public [PropertySymbol.textTracks]: object[] = [];
75
+ public [PropertySymbol.videoTracks]: object[] = [];
76
+ public [PropertySymbol.seeking] = false;
77
+ public [PropertySymbol.seekable] = getTimeRangeDummy();
78
+ public [PropertySymbol.played] = getTimeRangeDummy();
79
+
80
+ /**
81
+ * Returns buffered.
82
+ *
83
+ * @returns Buffered.
84
+ */
85
+ public get buffered(): object {
86
+ return this[PropertySymbol.buffered];
87
+ }
88
+
89
+ /**
90
+ * Returns duration.
91
+ *
92
+ * @returns Duration.
93
+ */
94
+ public get duration(): number {
95
+ return this[PropertySymbol.duration];
96
+ }
97
+
98
+ /**
99
+ * Returns error.
100
+ *
101
+ * @returns Error.
102
+ */
103
+ public get error(): IMediaError {
104
+ return this[PropertySymbol.error];
105
+ }
106
+
107
+ /**
108
+ * Returns ended.
109
+ *
110
+ * @returns Ended.
111
+ */
112
+ public get ended(): boolean {
113
+ return this[PropertySymbol.ended];
114
+ }
115
+
116
+ /**
117
+ * Returns networkState.
118
+ *
119
+ * @returns NetworkState.
120
+ */
121
+ public get networkState(): number {
122
+ return this[PropertySymbol.networkState];
123
+ }
124
+
125
+ /**
126
+ * Returns readyState.
127
+ *
128
+ * @returns ReadyState.
129
+ */
130
+ public get readyState(): number {
131
+ return this[PropertySymbol.readyState];
132
+ }
133
+
134
+ /**
135
+ * Returns textTracks.
136
+ *
137
+ * @returns TextTracks.
138
+ */
139
+ public get textTracks(): object[] {
140
+ return this[PropertySymbol.textTracks];
141
+ }
142
+
143
+ /**
144
+ * Returns videoTracks.
145
+ *
146
+ * @returns VideoTracks.
147
+ */
148
+ public get videoTracks(): object[] {
149
+ return this[PropertySymbol.videoTracks];
150
+ }
151
+
152
+ /**
153
+ * Returns seeking.
154
+ *
155
+ * @returns Seeking.
156
+ */
157
+ public get seeking(): boolean {
158
+ return this[PropertySymbol.seeking];
159
+ }
160
+
161
+ /**
162
+ * Returns seekable.
163
+ *
164
+ * @returns Seekable.
165
+ */
166
+ public get seekable(): object {
167
+ return this[PropertySymbol.seekable];
168
+ }
169
+
170
+ /**
171
+ * Returns played.
172
+ *
173
+ * @returns Played.
174
+ */
175
+ public get played(): object {
176
+ return this[PropertySymbol.played];
177
+ }
178
+
79
179
  /**
80
180
  * Returns autoplay.
81
181
  *
@@ -147,11 +247,11 @@ export default class HTMLMediaElement extends HTMLElement implements IHTMLMediaE
147
247
  * @returns Muted.
148
248
  */
149
249
  public get muted(): boolean {
150
- if (this.#muted) {
151
- return this.#muted;
250
+ if (this[PropertySymbol.muted]) {
251
+ return this[PropertySymbol.muted];
152
252
  }
153
253
 
154
- if (!this.#defaultMuted) {
254
+ if (!this[PropertySymbol.defaultMuted]) {
155
255
  return this.getAttribute('muted') !== null;
156
256
  }
157
257
 
@@ -164,8 +264,8 @@ export default class HTMLMediaElement extends HTMLElement implements IHTMLMediaE
164
264
  * @param muted Muted.
165
265
  */
166
266
  public set muted(muted: boolean) {
167
- this.#muted = !!muted;
168
- if (!muted && !this.#defaultMuted) {
267
+ this[PropertySymbol.muted] = !!muted;
268
+ if (!muted && !this[PropertySymbol.defaultMuted]) {
169
269
  this.removeAttribute('muted');
170
270
  } else {
171
271
  this.setAttribute('muted', '');
@@ -178,7 +278,7 @@ export default class HTMLMediaElement extends HTMLElement implements IHTMLMediaE
178
278
  * @returns DefaultMuted.
179
279
  */
180
280
  public get defaultMuted(): boolean {
181
- return this.#defaultMuted;
281
+ return this[PropertySymbol.defaultMuted];
182
282
  }
183
283
 
184
284
  /**
@@ -187,8 +287,8 @@ export default class HTMLMediaElement extends HTMLElement implements IHTMLMediaE
187
287
  * @param defaultMuted DefaultMuted.
188
288
  */
189
289
  public set defaultMuted(defaultMuted: boolean) {
190
- this.#defaultMuted = !!defaultMuted;
191
- if (!this.#defaultMuted && !this.#muted) {
290
+ this[PropertySymbol.defaultMuted] = !!defaultMuted;
291
+ if (!this[PropertySymbol.defaultMuted] && !this[PropertySymbol.muted]) {
192
292
  this.removeAttribute('muted');
193
293
  } else {
194
294
  this.setAttribute('muted', '');
@@ -232,7 +332,7 @@ export default class HTMLMediaElement extends HTMLElement implements IHTMLMediaE
232
332
  * @returns Volume.
233
333
  */
234
334
  public get volume(): number {
235
- return this.#volume;
335
+ return this[PropertySymbol.volume];
236
336
  }
237
337
 
238
338
  /**
@@ -255,7 +355,7 @@ export default class HTMLMediaElement extends HTMLElement implements IHTMLMediaE
255
355
  );
256
356
  }
257
357
  // TODO: volumechange event https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/volumechange_event
258
- this.#volume = parsedVolume;
358
+ this[PropertySymbol.volume] = parsedVolume;
259
359
  }
260
360
 
261
361
  /**
@@ -290,7 +390,7 @@ export default class HTMLMediaElement extends HTMLElement implements IHTMLMediaE
290
390
  * @returns CurrentTime.
291
391
  */
292
392
  public get currentTime(): number {
293
- return this.#currentTime;
393
+ return this[PropertySymbol.currentTime];
294
394
  }
295
395
 
296
396
  /**
@@ -305,7 +405,7 @@ export default class HTMLMediaElement extends HTMLElement implements IHTMLMediaE
305
405
  `Failed to set the 'currentTime' property on 'HTMLMediaElement': The provided double value is non-finite.`
306
406
  );
307
407
  }
308
- this.#currentTime = parsedCurrentTime;
408
+ this[PropertySymbol.currentTime] = parsedCurrentTime;
309
409
  }
310
410
 
311
411
  /**
@@ -314,7 +414,7 @@ export default class HTMLMediaElement extends HTMLElement implements IHTMLMediaE
314
414
  * @returns PlaybackRate.
315
415
  */
316
416
  public get playbackRate(): number {
317
- return this.#playbackRate;
417
+ return this[PropertySymbol.playbackRate];
318
418
  }
319
419
 
320
420
  /**
@@ -329,7 +429,7 @@ export default class HTMLMediaElement extends HTMLElement implements IHTMLMediaE
329
429
  `Failed to set the 'playbackRate' property on 'HTMLMediaElement': The provided double value is non-finite.`
330
430
  );
331
431
  }
332
- this.#playbackRate = parsedPlaybackRate;
432
+ this[PropertySymbol.playbackRate] = parsedPlaybackRate;
333
433
  }
334
434
 
335
435
  /**
@@ -338,7 +438,7 @@ export default class HTMLMediaElement extends HTMLElement implements IHTMLMediaE
338
438
  * @returns DefaultPlaybackRate.
339
439
  */
340
440
  public get defaultPlaybackRate(): number {
341
- return this.#defaultPlaybackRate;
441
+ return this[PropertySymbol.defaultPlaybackRate];
342
442
  }
343
443
 
344
444
  /**
@@ -353,7 +453,7 @@ export default class HTMLMediaElement extends HTMLElement implements IHTMLMediaE
353
453
  `Failed to set the 'defaultPlaybackRate' property on 'HTMLMediaElement': The provided double value is non-finite.`
354
454
  );
355
455
  }
356
- this.#defaultPlaybackRate = parsedDefaultPlaybackRate;
456
+ this[PropertySymbol.defaultPlaybackRate] = parsedDefaultPlaybackRate;
357
457
  }
358
458
 
359
459
  /**
@@ -362,7 +462,7 @@ export default class HTMLMediaElement extends HTMLElement implements IHTMLMediaE
362
462
  * @returns PlaybackRate.
363
463
  */
364
464
  public get preservesPitch(): boolean {
365
- return this.#preservesPitch;
465
+ return this[PropertySymbol.preservesPitch];
366
466
  }
367
467
 
368
468
  /**
@@ -371,7 +471,7 @@ export default class HTMLMediaElement extends HTMLElement implements IHTMLMediaE
371
471
  * @param preservesPitch PreservesPitch.
372
472
  */
373
473
  public set preservesPitch(preservesPitch: boolean) {
374
- this.#preservesPitch = Boolean(preservesPitch);
474
+ this[PropertySymbol.preservesPitch] = Boolean(preservesPitch);
375
475
  }
376
476
 
377
477
  /**
@@ -398,14 +498,14 @@ export default class HTMLMediaElement extends HTMLElement implements IHTMLMediaE
398
498
  * @returns Paused.
399
499
  */
400
500
  public get paused(): boolean {
401
- return this.#paused;
501
+ return this[PropertySymbol.paused];
402
502
  }
403
503
 
404
504
  /**
405
505
  * Pause played media.
406
506
  */
407
507
  public pause(): void {
408
- this.#paused = true;
508
+ this[PropertySymbol.paused] = true;
409
509
  this.dispatchEvent(new Event('pause', { bubbles: false, cancelable: false }));
410
510
  }
411
511
 
@@ -413,7 +513,7 @@ export default class HTMLMediaElement extends HTMLElement implements IHTMLMediaE
413
513
  * Start playing media.
414
514
  */
415
515
  public async play(): Promise<void> {
416
- this.#paused = false;
516
+ this[PropertySymbol.paused] = false;
417
517
  return Promise.resolve();
418
518
  }
419
519
 
@@ -15,7 +15,9 @@ import IHTMLOptionElement from './IHTMLOptionElement.js';
15
15
  * https://developer.mozilla.org/en-US/docs/Web/API/HTMLOptionElement.
16
16
  */
17
17
  export default class HTMLOptionElement extends HTMLElement implements IHTMLOptionElement {
18
- public override readonly attributes: INamedNodeMap = new HTMLOptionElementNamedNodeMap(this);
18
+ public override [PropertySymbol.attributes]: INamedNodeMap = new HTMLOptionElementNamedNodeMap(
19
+ this
20
+ );
19
21
  public [PropertySymbol.selectedness] = false;
20
22
  public [PropertySymbol.dirtyness] = false;
21
23
 
@@ -20,8 +20,8 @@ export default class HTMLOptionElementNamedNodeMap extends HTMLElementNamedNodeM
20
20
 
21
21
  if (
22
22
  !this[PropertySymbol.ownerElement][PropertySymbol.dirtyness] &&
23
- item.name === 'selected' &&
24
- replacedItem?.value !== item.value
23
+ item[PropertySymbol.name] === 'selected' &&
24
+ replacedItem?.[PropertySymbol.value] !== item[PropertySymbol.value]
25
25
  ) {
26
26
  const selectNode = <HTMLSelectElement>(
27
27
  this[PropertySymbol.ownerElement][PropertySymbol.selectNode]
@@ -46,7 +46,7 @@ export default class HTMLOptionElementNamedNodeMap extends HTMLElementNamedNodeM
46
46
  if (
47
47
  removedItem &&
48
48
  !this[PropertySymbol.ownerElement][PropertySymbol.dirtyness] &&
49
- removedItem.name === 'selected'
49
+ removedItem[PropertySymbol.name] === 'selected'
50
50
  ) {
51
51
  const selectNode = <HTMLSelectElement>(
52
52
  this[PropertySymbol.ownerElement][PropertySymbol.selectNode]
@@ -19,10 +19,15 @@ import BrowserErrorCaptureEnum from '../../browser/enums/BrowserErrorCaptureEnum
19
19
  * https://developer.mozilla.org/en-US/docs/Web/API/HTMLScriptElement.
20
20
  */
21
21
  export default class HTMLScriptElement extends HTMLElement implements IHTMLScriptElement {
22
- public override readonly attributes: INamedNodeMap;
22
+ // Events
23
23
  public onerror: (event: ErrorEvent) => void = null;
24
24
  public onload: (event: Event) => void = null;
25
+
26
+ // Internal properties
27
+ public override [PropertySymbol.attributes]: INamedNodeMap;
25
28
  public [PropertySymbol.evaluateScript] = true;
29
+
30
+ // Private properties
26
31
  #scriptLoader: HTMLScriptElementScriptLoader;
27
32
 
28
33
  /**
@@ -38,7 +43,7 @@ export default class HTMLScriptElement extends HTMLElement implements IHTMLScrip
38
43
  browserFrame
39
44
  });
40
45
 
41
- this.attributes = new HTMLScriptElementNamedNodeMap(this, this.#scriptLoader);
46
+ this[PropertySymbol.attributes] = new HTMLScriptElementNamedNodeMap(this, this.#scriptLoader);
42
47
  }
43
48
 
44
49
  /**
@@ -190,10 +195,10 @@ export default class HTMLScriptElement extends HTMLElement implements IHTMLScrip
190
195
  * @override
191
196
  */
192
197
  public override [PropertySymbol.connectToNode](parentNode: INode = null): void {
193
- const isConnected = this.isConnected;
194
- const isParentConnected = parentNode ? parentNode.isConnected : false;
198
+ const isConnected = this[PropertySymbol.isConnected];
199
+ const isParentConnected = parentNode ? parentNode[PropertySymbol.isConnected] : false;
195
200
  const browserSettings = WindowBrowserSettingsReader.getSettings(
196
- this.ownerDocument[PropertySymbol.defaultView]
201
+ this[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow]
197
202
  );
198
203
 
199
204
  super[PropertySymbol.connectToNode](parentNode);
@@ -217,24 +222,26 @@ export default class HTMLScriptElement extends HTMLElement implements IHTMLScrip
217
222
  type === 'application/x-javascript' ||
218
223
  type.startsWith('text/javascript'))
219
224
  ) {
220
- this.ownerDocument[PropertySymbol.currentScript] = this;
225
+ this[PropertySymbol.ownerDocument][PropertySymbol.currentScript] = this;
221
226
 
222
227
  const code =
223
- `//# sourceURL=${this.ownerDocument[PropertySymbol.defaultView].location.href}\n` +
224
- textContent;
228
+ `//# sourceURL=${
229
+ this[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow].location.href
230
+ }\n` + textContent;
225
231
 
226
232
  if (
227
233
  browserSettings.disableErrorCapturing ||
228
234
  browserSettings.errorCapture !== BrowserErrorCaptureEnum.tryAndCatch
229
235
  ) {
230
- this.ownerDocument[PropertySymbol.defaultView].eval(code);
236
+ this[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow].eval(code);
231
237
  } else {
232
- WindowErrorUtility.captureError(this.ownerDocument[PropertySymbol.defaultView], () =>
233
- this.ownerDocument[PropertySymbol.defaultView].eval(code)
238
+ WindowErrorUtility.captureError(
239
+ this[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow],
240
+ () => this[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow].eval(code)
234
241
  );
235
242
  }
236
243
 
237
- this.ownerDocument[PropertySymbol.currentScript] = null;
244
+ this[PropertySymbol.ownerDocument][PropertySymbol.currentScript] = null;
238
245
  }
239
246
  }
240
247
  }
@@ -31,11 +31,11 @@ export default class HTMLScriptElementNamedNodeMap extends HTMLElementNamedNodeM
31
31
  const replacedItem = super.setNamedItem(item);
32
32
 
33
33
  if (
34
- item.name === 'src' &&
35
- item.value !== null &&
36
- this[PropertySymbol.ownerElement].isConnected
34
+ item[PropertySymbol.name] === 'src' &&
35
+ item[PropertySymbol.value] !== null &&
36
+ this[PropertySymbol.ownerElement][PropertySymbol.isConnected]
37
37
  ) {
38
- this.#scriptLoader.loadScript(item.value);
38
+ this.#scriptLoader.loadScript(item[PropertySymbol.value]);
39
39
  }
40
40
 
41
41
  return replacedItem || null;