happy-dom 13.0.7 → 13.1.1

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

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/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/dom-token-list/DOMTokenList.cjs +38 -26
  19. package/cjs/dom-token-list/DOMTokenList.cjs.map +1 -1
  20. package/cjs/dom-token-list/DOMTokenList.d.ts +6 -1
  21. package/cjs/dom-token-list/DOMTokenList.d.ts.map +1 -1
  22. package/cjs/event/Event.cjs +3 -3
  23. package/cjs/event/Event.cjs.map +1 -1
  24. package/cjs/event/EventTarget.cjs +4 -4
  25. package/cjs/event/EventTarget.cjs.map +1 -1
  26. package/cjs/fetch/Request.cjs +2 -1
  27. package/cjs/fetch/Request.cjs.map +1 -1
  28. package/cjs/fetch/Request.d.ts +4 -4
  29. package/cjs/fetch/Request.d.ts.map +1 -1
  30. package/cjs/form-data/FormData.cjs +7 -7
  31. package/cjs/form-data/FormData.cjs.map +1 -1
  32. package/cjs/mutation-observer/MutationObserver.cjs +3 -3
  33. package/cjs/mutation-observer/MutationObserver.cjs.map +1 -1
  34. package/cjs/named-node-map/NamedNodeMap.cjs +10 -8
  35. package/cjs/named-node-map/NamedNodeMap.cjs.map +1 -1
  36. package/cjs/named-node-map/NamedNodeMap.d.ts.map +1 -1
  37. package/cjs/nodes/attr/Attr.cjs +84 -15
  38. package/cjs/nodes/attr/Attr.cjs.map +1 -1
  39. package/cjs/nodes/attr/Attr.d.ts +40 -8
  40. package/cjs/nodes/attr/Attr.d.ts.map +1 -1
  41. package/cjs/nodes/character-data/CharacterData.cjs +2 -2
  42. package/cjs/nodes/character-data/CharacterData.cjs.map +1 -1
  43. package/cjs/nodes/child-node/ChildNodeUtility.cjs +8 -8
  44. package/cjs/nodes/child-node/ChildNodeUtility.cjs.map +1 -1
  45. package/cjs/nodes/child-node/NonDocumentChildNodeUtility.cjs +27 -3
  46. package/cjs/nodes/child-node/NonDocumentChildNodeUtility.cjs.map +1 -1
  47. package/cjs/nodes/child-node/NonDocumentChildNodeUtility.d.ts.map +1 -1
  48. package/cjs/nodes/comment/Comment.cjs +28 -2
  49. package/cjs/nodes/comment/Comment.cjs.map +1 -1
  50. package/cjs/nodes/comment/Comment.d.ts +3 -1
  51. package/cjs/nodes/comment/Comment.d.ts.map +1 -1
  52. package/cjs/nodes/document/Document.cjs +95 -41
  53. package/cjs/nodes/document/Document.cjs.map +1 -1
  54. package/cjs/nodes/document/Document.d.ts +45 -10
  55. package/cjs/nodes/document/Document.d.ts.map +1 -1
  56. package/cjs/nodes/document/IDocument.d.ts +2 -1
  57. package/cjs/nodes/document/IDocument.d.ts.map +1 -1
  58. package/cjs/nodes/document-fragment/DocumentFragment.cjs +8 -6
  59. package/cjs/nodes/document-fragment/DocumentFragment.cjs.map +1 -1
  60. package/cjs/nodes/document-fragment/DocumentFragment.d.ts +2 -1
  61. package/cjs/nodes/document-fragment/DocumentFragment.d.ts.map +1 -1
  62. package/cjs/nodes/document-type/DocumentType.cjs +58 -7
  63. package/cjs/nodes/document-type/DocumentType.cjs.map +1 -1
  64. package/cjs/nodes/document-type/DocumentType.d.ts +24 -4
  65. package/cjs/nodes/document-type/DocumentType.d.ts.map +1 -1
  66. package/cjs/nodes/element/Dataset.cjs +14 -14
  67. package/cjs/nodes/element/Dataset.cjs.map +1 -1
  68. package/cjs/nodes/element/Dataset.d.ts +1 -1
  69. package/cjs/nodes/element/Dataset.d.ts.map +1 -1
  70. package/cjs/nodes/element/Element.cjs +142 -55
  71. package/cjs/nodes/element/Element.cjs.map +1 -1
  72. package/cjs/nodes/element/Element.d.ts +77 -11
  73. package/cjs/nodes/element/Element.d.ts.map +1 -1
  74. package/cjs/nodes/element/ElementNamedNodeMap.cjs +33 -30
  75. package/cjs/nodes/element/ElementNamedNodeMap.cjs.map +1 -1
  76. package/cjs/nodes/element/ElementNamedNodeMap.d.ts.map +1 -1
  77. package/cjs/nodes/element/ElementUtility.cjs +19 -19
  78. package/cjs/nodes/element/ElementUtility.cjs.map +1 -1
  79. package/cjs/nodes/element/ElementUtility.d.ts.map +1 -1
  80. package/cjs/nodes/element/IElement.d.ts +3 -3
  81. package/cjs/nodes/element/IElement.d.ts.map +1 -1
  82. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.cjs +6 -6
  83. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.cjs.map +1 -1
  84. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.d.ts +1 -1
  85. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.d.ts.map +1 -1
  86. package/cjs/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.cjs +7 -5
  87. package/cjs/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.cjs.map +1 -1
  88. package/cjs/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.d.ts.map +1 -1
  89. package/cjs/nodes/html-base-element/HTMLBaseElement.cjs +25 -1
  90. package/cjs/nodes/html-base-element/HTMLBaseElement.cjs.map +1 -1
  91. package/cjs/nodes/html-base-element/HTMLBaseElement.d.ts.map +1 -1
  92. package/cjs/nodes/html-button-element/HTMLButtonElement.cjs +27 -8
  93. package/cjs/nodes/html-button-element/HTMLButtonElement.cjs.map +1 -1
  94. package/cjs/nodes/html-button-element/HTMLButtonElement.d.ts +16 -3
  95. package/cjs/nodes/html-button-element/HTMLButtonElement.d.ts.map +1 -1
  96. package/cjs/nodes/html-button-element/HTMLButtonElementNamedNodeMap.cjs +7 -7
  97. package/cjs/nodes/html-button-element/HTMLButtonElementNamedNodeMap.cjs.map +1 -1
  98. package/cjs/nodes/html-dialog-element/HTMLDialogElement.cjs +44 -1
  99. package/cjs/nodes/html-dialog-element/HTMLDialogElement.cjs.map +1 -1
  100. package/cjs/nodes/html-dialog-element/HTMLDialogElement.d.ts +14 -1
  101. package/cjs/nodes/html-dialog-element/HTMLDialogElement.d.ts.map +1 -1
  102. package/cjs/nodes/html-document/HTMLDocument.cjs +25 -1
  103. package/cjs/nodes/html-document/HTMLDocument.cjs.map +1 -1
  104. package/cjs/nodes/html-document/HTMLDocument.d.ts.map +1 -1
  105. package/cjs/nodes/html-element/HTMLElement.cjs +137 -32
  106. package/cjs/nodes/html-element/HTMLElement.cjs.map +1 -1
  107. package/cjs/nodes/html-element/HTMLElement.d.ts +91 -14
  108. package/cjs/nodes/html-element/HTMLElement.d.ts.map +1 -1
  109. package/cjs/nodes/html-element/HTMLElementNamedNodeMap.cjs +4 -3
  110. package/cjs/nodes/html-element/HTMLElementNamedNodeMap.cjs.map +1 -1
  111. package/cjs/nodes/html-element/HTMLElementNamedNodeMap.d.ts.map +1 -1
  112. package/cjs/nodes/html-element/HTMLElementUtility.cjs +12 -10
  113. package/cjs/nodes/html-element/HTMLElementUtility.cjs.map +1 -1
  114. package/cjs/nodes/html-element/HTMLElementUtility.d.ts.map +1 -1
  115. package/cjs/nodes/html-element/IHTMLElement.d.ts +3 -0
  116. package/cjs/nodes/html-element/IHTMLElement.d.ts.map +1 -1
  117. package/cjs/nodes/html-form-element/HTMLFormElement.cjs +62 -30
  118. package/cjs/nodes/html-form-element/HTMLFormElement.cjs.map +1 -1
  119. package/cjs/nodes/html-form-element/HTMLFormElement.d.ts +22 -3
  120. package/cjs/nodes/html-form-element/HTMLFormElement.d.ts.map +1 -1
  121. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs +5 -5
  122. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs.map +1 -1
  123. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.d.ts +1 -1
  124. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.d.ts.map +1 -1
  125. package/cjs/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.cjs +27 -1
  126. package/cjs/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.cjs.map +1 -1
  127. package/cjs/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.d.ts.map +1 -1
  128. package/cjs/nodes/html-iframe-element/HTMLIFrameElementPageLoader.cjs +2 -2
  129. package/cjs/nodes/html-iframe-element/HTMLIFrameElementPageLoader.cjs.map +1 -1
  130. package/cjs/nodes/html-image-element/HTMLImageElement.cjs +128 -26
  131. package/cjs/nodes/html-image-element/HTMLImageElement.cjs.map +1 -1
  132. package/cjs/nodes/html-image-element/HTMLImageElement.d.ts +76 -21
  133. package/cjs/nodes/html-image-element/HTMLImageElement.d.ts.map +1 -1
  134. package/cjs/nodes/html-input-element/HTMLInputElement.cjs +112 -27
  135. package/cjs/nodes/html-input-element/HTMLInputElement.cjs.map +1 -1
  136. package/cjs/nodes/html-input-element/HTMLInputElement.d.ts +67 -10
  137. package/cjs/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
  138. package/cjs/nodes/html-input-element/HTMLInputElementNamedNodeMap.cjs +7 -7
  139. package/cjs/nodes/html-input-element/HTMLInputElementNamedNodeMap.cjs.map +1 -1
  140. package/cjs/nodes/html-label-element/HTMLLabelElement.cjs +1 -1
  141. package/cjs/nodes/html-label-element/HTMLLabelElement.cjs.map +1 -1
  142. package/cjs/nodes/html-label-element/HTMLLabelElementUtility.cjs +26 -2
  143. package/cjs/nodes/html-label-element/HTMLLabelElementUtility.cjs.map +1 -1
  144. package/cjs/nodes/html-label-element/HTMLLabelElementUtility.d.ts.map +1 -1
  145. package/cjs/nodes/html-link-element/HTMLLinkElement.cjs +15 -8
  146. package/cjs/nodes/html-link-element/HTMLLinkElement.cjs.map +1 -1
  147. package/cjs/nodes/html-link-element/HTMLLinkElement.d.ts +6 -2
  148. package/cjs/nodes/html-link-element/HTMLLinkElement.d.ts.map +1 -1
  149. package/cjs/nodes/html-link-element/HTMLLinkElementNamedNodeMap.cjs +7 -6
  150. package/cjs/nodes/html-link-element/HTMLLinkElementNamedNodeMap.cjs.map +1 -1
  151. package/cjs/nodes/html-link-element/HTMLLinkElementNamedNodeMap.d.ts.map +1 -1
  152. package/cjs/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.cjs +8 -5
  153. package/cjs/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.cjs.map +1 -1
  154. package/cjs/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.d.ts.map +1 -1
  155. package/cjs/nodes/html-media-element/HTMLMediaElement.cjs +154 -53
  156. package/cjs/nodes/html-media-element/HTMLMediaElement.cjs.map +1 -1
  157. package/cjs/nodes/html-media-element/HTMLMediaElement.d.ts +86 -12
  158. package/cjs/nodes/html-media-element/HTMLMediaElement.d.ts.map +1 -1
  159. package/cjs/nodes/html-option-element/HTMLOptionElement.cjs +4 -4
  160. package/cjs/nodes/html-option-element/HTMLOptionElement.cjs.map +1 -1
  161. package/cjs/nodes/html-option-element/HTMLOptionElement.d.ts +1 -1
  162. package/cjs/nodes/html-option-element/HTMLOptionElement.d.ts.map +1 -1
  163. package/cjs/nodes/html-option-element/HTMLOptionElementNamedNodeMap.cjs +3 -3
  164. package/cjs/nodes/html-option-element/HTMLOptionElementNamedNodeMap.cjs.map +1 -1
  165. package/cjs/nodes/html-script-element/HTMLScriptElement.cjs +12 -11
  166. package/cjs/nodes/html-script-element/HTMLScriptElement.cjs.map +1 -1
  167. package/cjs/nodes/html-script-element/HTMLScriptElement.d.ts +1 -1
  168. package/cjs/nodes/html-script-element/HTMLScriptElement.d.ts.map +1 -1
  169. package/cjs/nodes/html-script-element/HTMLScriptElementNamedNodeMap.cjs +4 -4
  170. package/cjs/nodes/html-script-element/HTMLScriptElementNamedNodeMap.cjs.map +1 -1
  171. package/cjs/nodes/html-script-element/HTMLScriptElementScriptLoader.cjs +8 -8
  172. package/cjs/nodes/html-script-element/HTMLScriptElementScriptLoader.cjs.map +1 -1
  173. package/cjs/nodes/html-script-element/HTMLScriptElementScriptLoader.d.ts.map +1 -1
  174. package/cjs/nodes/html-select-element/HTMLSelectElement.cjs +63 -32
  175. package/cjs/nodes/html-select-element/HTMLSelectElement.cjs.map +1 -1
  176. package/cjs/nodes/html-select-element/HTMLSelectElement.d.ts +30 -5
  177. package/cjs/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
  178. package/cjs/nodes/html-select-element/HTMLSelectElementNamedNodeMap.cjs +7 -7
  179. package/cjs/nodes/html-select-element/HTMLSelectElementNamedNodeMap.cjs.map +1 -1
  180. package/cjs/nodes/html-style-element/HTMLStyleElement.cjs +6 -6
  181. package/cjs/nodes/html-style-element/HTMLStyleElement.cjs.map +1 -1
  182. package/cjs/nodes/html-style-element/HTMLStyleElement.d.ts +1 -1
  183. package/cjs/nodes/html-style-element/HTMLStyleElement.d.ts.map +1 -1
  184. package/cjs/nodes/html-template-element/HTMLTemplateElement.cjs +27 -12
  185. package/cjs/nodes/html-template-element/HTMLTemplateElement.cjs.map +1 -1
  186. package/cjs/nodes/html-template-element/HTMLTemplateElement.d.ts +8 -1
  187. package/cjs/nodes/html-template-element/HTMLTemplateElement.d.ts.map +1 -1
  188. package/cjs/nodes/html-template-element/IHTMLTemplateElement.d.ts +1 -1
  189. package/cjs/nodes/html-template-element/IHTMLTemplateElement.d.ts.map +1 -1
  190. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.cjs +27 -9
  191. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.cjs.map +1 -1
  192. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.d.ts +16 -3
  193. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.d.ts.map +1 -1
  194. package/cjs/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.cjs +7 -7
  195. package/cjs/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.cjs.map +1 -1
  196. package/cjs/nodes/html-unknown-element/HTMLUnknownElement.cjs +24 -17
  197. package/cjs/nodes/html-unknown-element/HTMLUnknownElement.cjs.map +1 -1
  198. package/cjs/nodes/html-unknown-element/HTMLUnknownElement.d.ts.map +1 -1
  199. package/cjs/nodes/node/INode.d.ts +2 -2
  200. package/cjs/nodes/node/INode.d.ts.map +1 -1
  201. package/cjs/nodes/node/Node.cjs +95 -56
  202. package/cjs/nodes/node/Node.cjs.map +1 -1
  203. package/cjs/nodes/node/Node.d.ts +44 -20
  204. package/cjs/nodes/node/Node.d.ts.map +1 -1
  205. package/cjs/nodes/node/NodeUtility.cjs +37 -37
  206. package/cjs/nodes/node/NodeUtility.cjs.map +1 -1
  207. package/cjs/nodes/node/NodeUtility.d.ts.map +1 -1
  208. package/cjs/nodes/parent-node/ParentNodeUtility.cjs +8 -5
  209. package/cjs/nodes/parent-node/ParentNodeUtility.cjs.map +1 -1
  210. package/cjs/nodes/parent-node/ParentNodeUtility.d.ts.map +1 -1
  211. package/cjs/nodes/processing-instruction/ProcessingInstruction.cjs +35 -1
  212. package/cjs/nodes/processing-instruction/ProcessingInstruction.cjs.map +1 -1
  213. package/cjs/nodes/processing-instruction/ProcessingInstruction.d.ts +9 -2
  214. package/cjs/nodes/processing-instruction/ProcessingInstruction.d.ts.map +1 -1
  215. package/cjs/nodes/shadow-root/IShadowRoot.d.ts +2 -0
  216. package/cjs/nodes/shadow-root/IShadowRoot.d.ts.map +1 -1
  217. package/cjs/nodes/shadow-root/ShadowRoot.cjs +44 -7
  218. package/cjs/nodes/shadow-root/ShadowRoot.cjs.map +1 -1
  219. package/cjs/nodes/shadow-root/ShadowRoot.d.ts +28 -3
  220. package/cjs/nodes/shadow-root/ShadowRoot.d.ts.map +1 -1
  221. package/cjs/nodes/svg-element/SVGElement.cjs +7 -6
  222. package/cjs/nodes/svg-element/SVGElement.cjs.map +1 -1
  223. package/cjs/nodes/svg-element/SVGElement.d.ts +2 -2
  224. package/cjs/nodes/svg-element/SVGElement.d.ts.map +1 -1
  225. package/cjs/nodes/svg-element/SVGElementNamedNodeMap.cjs +4 -3
  226. package/cjs/nodes/svg-element/SVGElementNamedNodeMap.cjs.map +1 -1
  227. package/cjs/nodes/svg-element/SVGElementNamedNodeMap.d.ts.map +1 -1
  228. package/cjs/nodes/text/Text.cjs +7 -6
  229. package/cjs/nodes/text/Text.cjs.map +1 -1
  230. package/cjs/nodes/text/Text.d.ts +2 -1
  231. package/cjs/nodes/text/Text.d.ts.map +1 -1
  232. package/cjs/query-selector/QuerySelector.cjs +2 -2
  233. package/cjs/query-selector/QuerySelector.cjs.map +1 -1
  234. package/cjs/query-selector/SelectorItem.cjs +16 -16
  235. package/cjs/query-selector/SelectorItem.cjs.map +1 -1
  236. package/cjs/query-selector/SelectorItem.d.ts.map +1 -1
  237. package/cjs/range/Range.cjs +91 -79
  238. package/cjs/range/Range.cjs.map +1 -1
  239. package/cjs/range/Range.d.ts.map +1 -1
  240. package/cjs/range/RangeUtility.cjs +5 -4
  241. package/cjs/range/RangeUtility.cjs.map +1 -1
  242. package/cjs/range/RangeUtility.d.ts.map +1 -1
  243. package/cjs/selection/Selection.cjs +15 -15
  244. package/cjs/selection/Selection.cjs.map +1 -1
  245. package/cjs/tree-walker/TreeWalker.cjs +12 -6
  246. package/cjs/tree-walker/TreeWalker.cjs.map +1 -1
  247. package/cjs/tree-walker/TreeWalker.d.ts.map +1 -1
  248. package/cjs/validity-state/ValidityState.cjs +1 -1
  249. package/cjs/validity-state/ValidityState.cjs.map +1 -1
  250. package/cjs/version.cjs +1 -1
  251. package/cjs/window/BrowserWindow.cjs +2 -2
  252. package/cjs/window/BrowserWindow.cjs.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/browser/utilities/BrowserFrameNavigator.js +1 -1
  270. package/lib/browser/utilities/BrowserFrameNavigator.js.map +1 -1
  271. package/lib/css/declaration/AbstractCSSStyleDeclaration.d.ts.map +1 -1
  272. package/lib/css/declaration/AbstractCSSStyleDeclaration.js +17 -16
  273. package/lib/css/declaration/AbstractCSSStyleDeclaration.js.map +1 -1
  274. package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.d.ts.map +1 -1
  275. package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.js +43 -26
  276. package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.js.map +1 -1
  277. package/lib/dom-implementation/DOMImplementation.js +6 -6
  278. package/lib/dom-implementation/DOMImplementation.js.map +1 -1
  279. package/lib/dom-parser/DOMParser.d.ts.map +1 -1
  280. package/lib/dom-parser/DOMParser.js +2 -2
  281. package/lib/dom-parser/DOMParser.js.map +1 -1
  282. package/lib/dom-token-list/DOMTokenList.d.ts +6 -1
  283. package/lib/dom-token-list/DOMTokenList.d.ts.map +1 -1
  284. package/lib/dom-token-list/DOMTokenList.js +40 -27
  285. package/lib/dom-token-list/DOMTokenList.js.map +1 -1
  286. package/lib/event/Event.js +3 -3
  287. package/lib/event/Event.js.map +1 -1
  288. package/lib/event/EventTarget.js +4 -4
  289. package/lib/event/EventTarget.js.map +1 -1
  290. package/lib/fetch/Request.d.ts +4 -4
  291. package/lib/fetch/Request.d.ts.map +1 -1
  292. package/lib/fetch/Request.js +2 -1
  293. package/lib/fetch/Request.js.map +1 -1
  294. package/lib/form-data/FormData.js +7 -7
  295. package/lib/form-data/FormData.js.map +1 -1
  296. package/lib/mutation-observer/MutationObserver.js +3 -3
  297. package/lib/mutation-observer/MutationObserver.js.map +1 -1
  298. package/lib/named-node-map/NamedNodeMap.d.ts.map +1 -1
  299. package/lib/named-node-map/NamedNodeMap.js +10 -8
  300. package/lib/named-node-map/NamedNodeMap.js.map +1 -1
  301. package/lib/nodes/attr/Attr.d.ts +40 -8
  302. package/lib/nodes/attr/Attr.d.ts.map +1 -1
  303. package/lib/nodes/attr/Attr.js +63 -16
  304. package/lib/nodes/attr/Attr.js.map +1 -1
  305. package/lib/nodes/character-data/CharacterData.js +2 -2
  306. package/lib/nodes/character-data/CharacterData.js.map +1 -1
  307. package/lib/nodes/child-node/ChildNodeUtility.js +8 -8
  308. package/lib/nodes/child-node/ChildNodeUtility.js.map +1 -1
  309. package/lib/nodes/child-node/NonDocumentChildNodeUtility.d.ts.map +1 -1
  310. package/lib/nodes/child-node/NonDocumentChildNodeUtility.js +4 -3
  311. package/lib/nodes/child-node/NonDocumentChildNodeUtility.js.map +1 -1
  312. package/lib/nodes/comment/Comment.d.ts +3 -1
  313. package/lib/nodes/comment/Comment.d.ts.map +1 -1
  314. package/lib/nodes/comment/Comment.js +7 -3
  315. package/lib/nodes/comment/Comment.js.map +1 -1
  316. package/lib/nodes/document/Document.d.ts +45 -10
  317. package/lib/nodes/document/Document.d.ts.map +1 -1
  318. package/lib/nodes/document/Document.js +95 -41
  319. package/lib/nodes/document/Document.js.map +1 -1
  320. package/lib/nodes/document/IDocument.d.ts +2 -1
  321. package/lib/nodes/document/IDocument.d.ts.map +1 -1
  322. package/lib/nodes/document-fragment/DocumentFragment.d.ts +2 -1
  323. package/lib/nodes/document-fragment/DocumentFragment.d.ts.map +1 -1
  324. package/lib/nodes/document-fragment/DocumentFragment.js +8 -6
  325. package/lib/nodes/document-fragment/DocumentFragment.js.map +1 -1
  326. package/lib/nodes/document-type/DocumentType.d.ts +24 -4
  327. package/lib/nodes/document-type/DocumentType.d.ts.map +1 -1
  328. package/lib/nodes/document-type/DocumentType.js +37 -8
  329. package/lib/nodes/document-type/DocumentType.js.map +1 -1
  330. package/lib/nodes/element/Dataset.d.ts +1 -1
  331. package/lib/nodes/element/Dataset.d.ts.map +1 -1
  332. package/lib/nodes/element/Dataset.js +14 -14
  333. package/lib/nodes/element/Dataset.js.map +1 -1
  334. package/lib/nodes/element/Element.d.ts +77 -11
  335. package/lib/nodes/element/Element.d.ts.map +1 -1
  336. package/lib/nodes/element/Element.js +142 -55
  337. package/lib/nodes/element/Element.js.map +1 -1
  338. package/lib/nodes/element/ElementNamedNodeMap.d.ts.map +1 -1
  339. package/lib/nodes/element/ElementNamedNodeMap.js +33 -30
  340. package/lib/nodes/element/ElementNamedNodeMap.js.map +1 -1
  341. package/lib/nodes/element/ElementUtility.d.ts.map +1 -1
  342. package/lib/nodes/element/ElementUtility.js +19 -19
  343. package/lib/nodes/element/ElementUtility.js.map +1 -1
  344. package/lib/nodes/element/IElement.d.ts +3 -3
  345. package/lib/nodes/element/IElement.d.ts.map +1 -1
  346. package/lib/nodes/html-anchor-element/HTMLAnchorElement.d.ts +1 -1
  347. package/lib/nodes/html-anchor-element/HTMLAnchorElement.d.ts.map +1 -1
  348. package/lib/nodes/html-anchor-element/HTMLAnchorElement.js +6 -6
  349. package/lib/nodes/html-anchor-element/HTMLAnchorElement.js.map +1 -1
  350. package/lib/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.d.ts.map +1 -1
  351. package/lib/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.js +7 -5
  352. package/lib/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.js.map +1 -1
  353. package/lib/nodes/html-base-element/HTMLBaseElement.d.ts.map +1 -1
  354. package/lib/nodes/html-base-element/HTMLBaseElement.js +2 -1
  355. package/lib/nodes/html-base-element/HTMLBaseElement.js.map +1 -1
  356. package/lib/nodes/html-button-element/HTMLButtonElement.d.ts +16 -3
  357. package/lib/nodes/html-button-element/HTMLButtonElement.d.ts.map +1 -1
  358. package/lib/nodes/html-button-element/HTMLButtonElement.js +27 -8
  359. package/lib/nodes/html-button-element/HTMLButtonElement.js.map +1 -1
  360. package/lib/nodes/html-button-element/HTMLButtonElementNamedNodeMap.js +7 -7
  361. package/lib/nodes/html-button-element/HTMLButtonElementNamedNodeMap.js.map +1 -1
  362. package/lib/nodes/html-dialog-element/HTMLDialogElement.d.ts +14 -1
  363. package/lib/nodes/html-dialog-element/HTMLDialogElement.d.ts.map +1 -1
  364. package/lib/nodes/html-dialog-element/HTMLDialogElement.js +23 -2
  365. package/lib/nodes/html-dialog-element/HTMLDialogElement.js.map +1 -1
  366. package/lib/nodes/html-document/HTMLDocument.d.ts.map +1 -1
  367. package/lib/nodes/html-document/HTMLDocument.js +2 -1
  368. package/lib/nodes/html-document/HTMLDocument.js.map +1 -1
  369. package/lib/nodes/html-element/HTMLElement.d.ts +91 -14
  370. package/lib/nodes/html-element/HTMLElement.d.ts.map +1 -1
  371. package/lib/nodes/html-element/HTMLElement.js +137 -32
  372. package/lib/nodes/html-element/HTMLElement.js.map +1 -1
  373. package/lib/nodes/html-element/HTMLElementNamedNodeMap.d.ts.map +1 -1
  374. package/lib/nodes/html-element/HTMLElementNamedNodeMap.js +4 -3
  375. package/lib/nodes/html-element/HTMLElementNamedNodeMap.js.map +1 -1
  376. package/lib/nodes/html-element/HTMLElementUtility.d.ts.map +1 -1
  377. package/lib/nodes/html-element/HTMLElementUtility.js +12 -10
  378. package/lib/nodes/html-element/HTMLElementUtility.js.map +1 -1
  379. package/lib/nodes/html-element/IHTMLElement.d.ts +3 -0
  380. package/lib/nodes/html-element/IHTMLElement.d.ts.map +1 -1
  381. package/lib/nodes/html-form-element/HTMLFormElement.d.ts +22 -3
  382. package/lib/nodes/html-form-element/HTMLFormElement.d.ts.map +1 -1
  383. package/lib/nodes/html-form-element/HTMLFormElement.js +62 -30
  384. package/lib/nodes/html-form-element/HTMLFormElement.js.map +1 -1
  385. package/lib/nodes/html-iframe-element/HTMLIFrameElement.d.ts +1 -1
  386. package/lib/nodes/html-iframe-element/HTMLIFrameElement.d.ts.map +1 -1
  387. package/lib/nodes/html-iframe-element/HTMLIFrameElement.js +5 -5
  388. package/lib/nodes/html-iframe-element/HTMLIFrameElement.js.map +1 -1
  389. package/lib/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.d.ts.map +1 -1
  390. package/lib/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.js +4 -1
  391. package/lib/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.js.map +1 -1
  392. package/lib/nodes/html-iframe-element/HTMLIFrameElementPageLoader.js +2 -2
  393. package/lib/nodes/html-iframe-element/HTMLIFrameElementPageLoader.js.map +1 -1
  394. package/lib/nodes/html-image-element/HTMLImageElement.d.ts +76 -21
  395. package/lib/nodes/html-image-element/HTMLImageElement.d.ts.map +1 -1
  396. package/lib/nodes/html-image-element/HTMLImageElement.js +107 -27
  397. package/lib/nodes/html-image-element/HTMLImageElement.js.map +1 -1
  398. package/lib/nodes/html-input-element/HTMLInputElement.d.ts +67 -10
  399. package/lib/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
  400. package/lib/nodes/html-input-element/HTMLInputElement.js +112 -27
  401. package/lib/nodes/html-input-element/HTMLInputElement.js.map +1 -1
  402. package/lib/nodes/html-input-element/HTMLInputElementNamedNodeMap.js +7 -7
  403. package/lib/nodes/html-input-element/HTMLInputElementNamedNodeMap.js.map +1 -1
  404. package/lib/nodes/html-label-element/HTMLLabelElement.js +1 -1
  405. package/lib/nodes/html-label-element/HTMLLabelElement.js.map +1 -1
  406. package/lib/nodes/html-label-element/HTMLLabelElementUtility.d.ts.map +1 -1
  407. package/lib/nodes/html-label-element/HTMLLabelElementUtility.js +3 -2
  408. package/lib/nodes/html-label-element/HTMLLabelElementUtility.js.map +1 -1
  409. package/lib/nodes/html-link-element/HTMLLinkElement.d.ts +6 -2
  410. package/lib/nodes/html-link-element/HTMLLinkElement.d.ts.map +1 -1
  411. package/lib/nodes/html-link-element/HTMLLinkElement.js +15 -8
  412. package/lib/nodes/html-link-element/HTMLLinkElement.js.map +1 -1
  413. package/lib/nodes/html-link-element/HTMLLinkElementNamedNodeMap.d.ts.map +1 -1
  414. package/lib/nodes/html-link-element/HTMLLinkElementNamedNodeMap.js +7 -6
  415. package/lib/nodes/html-link-element/HTMLLinkElementNamedNodeMap.js.map +1 -1
  416. package/lib/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.d.ts.map +1 -1
  417. package/lib/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.js +8 -5
  418. package/lib/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.js.map +1 -1
  419. package/lib/nodes/html-media-element/HTMLMediaElement.d.ts +86 -12
  420. package/lib/nodes/html-media-element/HTMLMediaElement.d.ts.map +1 -1
  421. package/lib/nodes/html-media-element/HTMLMediaElement.js +132 -54
  422. package/lib/nodes/html-media-element/HTMLMediaElement.js.map +1 -1
  423. package/lib/nodes/html-option-element/HTMLOptionElement.d.ts +1 -1
  424. package/lib/nodes/html-option-element/HTMLOptionElement.d.ts.map +1 -1
  425. package/lib/nodes/html-option-element/HTMLOptionElement.js +4 -4
  426. package/lib/nodes/html-option-element/HTMLOptionElement.js.map +1 -1
  427. package/lib/nodes/html-option-element/HTMLOptionElementNamedNodeMap.js +3 -3
  428. package/lib/nodes/html-option-element/HTMLOptionElementNamedNodeMap.js.map +1 -1
  429. package/lib/nodes/html-script-element/HTMLScriptElement.d.ts +1 -1
  430. package/lib/nodes/html-script-element/HTMLScriptElement.d.ts.map +1 -1
  431. package/lib/nodes/html-script-element/HTMLScriptElement.js +12 -11
  432. package/lib/nodes/html-script-element/HTMLScriptElement.js.map +1 -1
  433. package/lib/nodes/html-script-element/HTMLScriptElementNamedNodeMap.js +4 -4
  434. package/lib/nodes/html-script-element/HTMLScriptElementNamedNodeMap.js.map +1 -1
  435. package/lib/nodes/html-script-element/HTMLScriptElementScriptLoader.d.ts.map +1 -1
  436. package/lib/nodes/html-script-element/HTMLScriptElementScriptLoader.js +8 -8
  437. package/lib/nodes/html-script-element/HTMLScriptElementScriptLoader.js.map +1 -1
  438. package/lib/nodes/html-select-element/HTMLSelectElement.d.ts +30 -5
  439. package/lib/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
  440. package/lib/nodes/html-select-element/HTMLSelectElement.js +63 -32
  441. package/lib/nodes/html-select-element/HTMLSelectElement.js.map +1 -1
  442. package/lib/nodes/html-select-element/HTMLSelectElementNamedNodeMap.js +7 -7
  443. package/lib/nodes/html-select-element/HTMLSelectElementNamedNodeMap.js.map +1 -1
  444. package/lib/nodes/html-style-element/HTMLStyleElement.d.ts +1 -1
  445. package/lib/nodes/html-style-element/HTMLStyleElement.d.ts.map +1 -1
  446. package/lib/nodes/html-style-element/HTMLStyleElement.js +6 -6
  447. package/lib/nodes/html-style-element/HTMLStyleElement.js.map +1 -1
  448. package/lib/nodes/html-template-element/HTMLTemplateElement.d.ts +8 -1
  449. package/lib/nodes/html-template-element/HTMLTemplateElement.d.ts.map +1 -1
  450. package/lib/nodes/html-template-element/HTMLTemplateElement.js +29 -13
  451. package/lib/nodes/html-template-element/HTMLTemplateElement.js.map +1 -1
  452. package/lib/nodes/html-template-element/IHTMLTemplateElement.d.ts +1 -1
  453. package/lib/nodes/html-template-element/IHTMLTemplateElement.d.ts.map +1 -1
  454. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.d.ts +16 -3
  455. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.d.ts.map +1 -1
  456. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js +27 -9
  457. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js.map +1 -1
  458. package/lib/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.js +7 -7
  459. package/lib/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.js.map +1 -1
  460. package/lib/nodes/html-unknown-element/HTMLUnknownElement.d.ts.map +1 -1
  461. package/lib/nodes/html-unknown-element/HTMLUnknownElement.js +24 -17
  462. package/lib/nodes/html-unknown-element/HTMLUnknownElement.js.map +1 -1
  463. package/lib/nodes/node/INode.d.ts +2 -2
  464. package/lib/nodes/node/INode.d.ts.map +1 -1
  465. package/lib/nodes/node/Node.d.ts +44 -20
  466. package/lib/nodes/node/Node.d.ts.map +1 -1
  467. package/lib/nodes/node/Node.js +95 -56
  468. package/lib/nodes/node/Node.js.map +1 -1
  469. package/lib/nodes/node/NodeUtility.d.ts.map +1 -1
  470. package/lib/nodes/node/NodeUtility.js +37 -37
  471. package/lib/nodes/node/NodeUtility.js.map +1 -1
  472. package/lib/nodes/parent-node/ParentNodeUtility.d.ts.map +1 -1
  473. package/lib/nodes/parent-node/ParentNodeUtility.js +8 -5
  474. package/lib/nodes/parent-node/ParentNodeUtility.js.map +1 -1
  475. package/lib/nodes/processing-instruction/ProcessingInstruction.d.ts +9 -2
  476. package/lib/nodes/processing-instruction/ProcessingInstruction.d.ts.map +1 -1
  477. package/lib/nodes/processing-instruction/ProcessingInstruction.js +14 -2
  478. package/lib/nodes/processing-instruction/ProcessingInstruction.js.map +1 -1
  479. package/lib/nodes/shadow-root/IShadowRoot.d.ts +2 -0
  480. package/lib/nodes/shadow-root/IShadowRoot.d.ts.map +1 -1
  481. package/lib/nodes/shadow-root/ShadowRoot.d.ts +28 -3
  482. package/lib/nodes/shadow-root/ShadowRoot.d.ts.map +1 -1
  483. package/lib/nodes/shadow-root/ShadowRoot.js +46 -8
  484. package/lib/nodes/shadow-root/ShadowRoot.js.map +1 -1
  485. package/lib/nodes/svg-element/SVGElement.d.ts +2 -2
  486. package/lib/nodes/svg-element/SVGElement.d.ts.map +1 -1
  487. package/lib/nodes/svg-element/SVGElement.js +7 -6
  488. package/lib/nodes/svg-element/SVGElement.js.map +1 -1
  489. package/lib/nodes/svg-element/SVGElementNamedNodeMap.d.ts.map +1 -1
  490. package/lib/nodes/svg-element/SVGElementNamedNodeMap.js +4 -3
  491. package/lib/nodes/svg-element/SVGElementNamedNodeMap.js.map +1 -1
  492. package/lib/nodes/text/Text.d.ts +2 -1
  493. package/lib/nodes/text/Text.d.ts.map +1 -1
  494. package/lib/nodes/text/Text.js +7 -6
  495. package/lib/nodes/text/Text.js.map +1 -1
  496. package/lib/query-selector/QuerySelector.js +2 -2
  497. package/lib/query-selector/QuerySelector.js.map +1 -1
  498. package/lib/query-selector/SelectorItem.d.ts.map +1 -1
  499. package/lib/query-selector/SelectorItem.js +16 -16
  500. package/lib/query-selector/SelectorItem.js.map +1 -1
  501. package/lib/range/Range.d.ts.map +1 -1
  502. package/lib/range/Range.js +91 -79
  503. package/lib/range/Range.js.map +1 -1
  504. package/lib/range/RangeUtility.d.ts.map +1 -1
  505. package/lib/range/RangeUtility.js +5 -4
  506. package/lib/range/RangeUtility.js.map +1 -1
  507. package/lib/selection/Selection.js +15 -15
  508. package/lib/selection/Selection.js.map +1 -1
  509. package/lib/tree-walker/TreeWalker.d.ts.map +1 -1
  510. package/lib/tree-walker/TreeWalker.js +12 -6
  511. package/lib/tree-walker/TreeWalker.js.map +1 -1
  512. package/lib/validity-state/ValidityState.js +1 -1
  513. package/lib/validity-state/ValidityState.js.map +1 -1
  514. package/lib/version.js +1 -1
  515. package/lib/window/BrowserWindow.js +2 -2
  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/browser/utilities/BrowserFrameNavigator.ts +1 -1
  532. package/src/css/declaration/AbstractCSSStyleDeclaration.ts +17 -16
  533. package/src/css/declaration/element-style/CSSStyleDeclarationElementStyle.ts +64 -28
  534. package/src/dom-implementation/DOMImplementation.ts +6 -6
  535. package/src/dom-parser/DOMParser.ts +2 -2
  536. package/src/dom-token-list/DOMTokenList.ts +43 -24
  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 +2 -2
  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
@@ -18,23 +18,6 @@ import HTMLElementNamedNodeMap from './HTMLElementNamedNodeMap.js';
18
18
  * https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement.
19
19
  */
20
20
  export default class HTMLElement extends Element implements IHTMLElement {
21
- public override readonly attributes: INamedNodeMap = new HTMLElementNamedNodeMap(this);
22
- public readonly accessKey = '';
23
- public readonly accessKeyLabel = '';
24
- public readonly contentEditable = 'inherit';
25
- public readonly isContentEditable = false;
26
- public readonly offsetHeight = 0;
27
- public readonly offsetWidth = 0;
28
- public readonly offsetLeft = 0;
29
- public readonly offsetTop = 0;
30
- public readonly clientHeight = 0;
31
- public readonly clientWidth = 0;
32
- public readonly clientLeft = 0;
33
- public readonly clientTop = 0;
34
-
35
- public [PropertySymbol.style]: CSSStyleDeclaration = null;
36
- #dataset: Dataset = null;
37
-
38
21
  // Events
39
22
  public oncopy: (event: Event) => void | null = null;
40
23
  public oncut: (event: Event) => void | null = null;
@@ -62,6 +45,141 @@ export default class HTMLElement extends Element implements IHTMLElement {
62
45
  public ontransitionrun: (event: Event) => void | null = null;
63
46
  public ontransitionstart: (event: Event) => void | null = null;
64
47
 
48
+ // Internal properties
49
+ public override [PropertySymbol.attributes]: INamedNodeMap = new HTMLElementNamedNodeMap(this);
50
+ public [PropertySymbol.accessKey] = '';
51
+ public [PropertySymbol.contentEditable] = 'inherit';
52
+ public [PropertySymbol.isContentEditable] = false;
53
+ public [PropertySymbol.offsetHeight] = 0;
54
+ public [PropertySymbol.offsetWidth] = 0;
55
+ public [PropertySymbol.offsetLeft] = 0;
56
+ public [PropertySymbol.offsetTop] = 0;
57
+ public [PropertySymbol.clientHeight] = 0;
58
+ public [PropertySymbol.clientWidth] = 0;
59
+ public [PropertySymbol.clientLeft] = 0;
60
+ public [PropertySymbol.clientTop] = 0;
61
+ public [PropertySymbol.style]: CSSStyleDeclaration = null;
62
+
63
+ // Private properties
64
+ #dataset: Dataset = null;
65
+
66
+ /**
67
+ * Returns access key.
68
+ *
69
+ * @returns Access key.
70
+ */
71
+ public get accessKey(): string {
72
+ return this[PropertySymbol.accessKey];
73
+ }
74
+
75
+ /**
76
+ * Sets access key.
77
+ *
78
+ * @param accessKey Access key.
79
+ */
80
+ public set accessKey(accessKey: string) {
81
+ this[PropertySymbol.accessKey] = accessKey;
82
+ }
83
+
84
+ /**
85
+ * Returns content editable.
86
+ *
87
+ * @returns Content editable.
88
+ */
89
+ public get contentEditable(): string {
90
+ return this[PropertySymbol.contentEditable];
91
+ }
92
+
93
+ /**
94
+ * Sets content editable.
95
+ *
96
+ * @param contentEditable Content editable.
97
+ */
98
+ public set contentEditable(contentEditable: string) {
99
+ this[PropertySymbol.contentEditable] = contentEditable;
100
+ }
101
+
102
+ /**
103
+ * Returns is content editable.
104
+ *
105
+ * @returns Is content editable.
106
+ */
107
+ public get isContentEditable(): boolean {
108
+ return this[PropertySymbol.isContentEditable];
109
+ }
110
+
111
+ /**
112
+ * Returns offset height.
113
+ *
114
+ * @returns Offset height.
115
+ */
116
+ public get offsetHeight(): number {
117
+ return this[PropertySymbol.offsetHeight];
118
+ }
119
+
120
+ /**
121
+ * Returns offset width.
122
+ *
123
+ * @returns Offset width.
124
+ */
125
+ public get offsetWidth(): number {
126
+ return this[PropertySymbol.offsetWidth];
127
+ }
128
+
129
+ /**
130
+ * Returns offset left.
131
+ *
132
+ * @returns Offset left.
133
+ */
134
+ public get offsetLeft(): number {
135
+ return this[PropertySymbol.offsetLeft];
136
+ }
137
+
138
+ /**
139
+ * Returns offset top.
140
+ *
141
+ * @returns Offset top.
142
+ */
143
+ public get offsetTop(): number {
144
+ return this[PropertySymbol.offsetTop];
145
+ }
146
+
147
+ /**
148
+ * Returns client height.
149
+ *
150
+ * @returns Client height.
151
+ */
152
+ public get clientHeight(): number {
153
+ return this[PropertySymbol.clientHeight];
154
+ }
155
+
156
+ /**
157
+ * Returns client width.
158
+ *
159
+ * @returns Client width.
160
+ */
161
+ public get clientWidth(): number {
162
+ return this[PropertySymbol.clientWidth];
163
+ }
164
+
165
+ /**
166
+ * Returns client left.
167
+ *
168
+ * @returns Client left.
169
+ */
170
+ public get clientLeft(): number {
171
+ return this[PropertySymbol.clientLeft];
172
+ }
173
+
174
+ /**
175
+ * Returns client top.
176
+ *
177
+ * @returns Client top.
178
+ */
179
+ public get clientTop(): number {
180
+ return this[PropertySymbol.clientTop];
181
+ }
182
+
65
183
  /**
66
184
  * Returns tab index.
67
185
  *
@@ -92,19 +210,24 @@ export default class HTMLElement extends Element implements IHTMLElement {
92
210
  * @returns Inner text.
93
211
  */
94
212
  public get innerText(): string {
95
- if (!this.isConnected) {
213
+ if (!this[PropertySymbol.isConnected]) {
96
214
  return this.textContent;
97
215
  }
98
216
 
99
217
  let result = '';
100
218
 
101
219
  for (const childNode of this[PropertySymbol.childNodes]) {
102
- if (childNode.nodeType === NodeTypeEnum.elementNode) {
220
+ if (childNode[PropertySymbol.nodeType] === NodeTypeEnum.elementNode) {
103
221
  const childElement = <IHTMLElement>childNode;
104
222
  const computedStyle =
105
- this.ownerDocument[PropertySymbol.defaultView].getComputedStyle(childElement);
106
-
107
- if (childElement.tagName !== 'SCRIPT' && childElement.tagName !== 'STYLE') {
223
+ this[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow].getComputedStyle(
224
+ childElement
225
+ );
226
+
227
+ if (
228
+ childElement[PropertySymbol.tagName] !== 'SCRIPT' &&
229
+ childElement[PropertySymbol.tagName] !== 'STYLE'
230
+ ) {
108
231
  const display = computedStyle.display;
109
232
  if (display !== 'none') {
110
233
  const textTransform = computedStyle.textTransform;
@@ -130,7 +253,7 @@ export default class HTMLElement extends Element implements IHTMLElement {
130
253
  result += text;
131
254
  }
132
255
  }
133
- } else if (childNode.nodeType === NodeTypeEnum.textNode) {
256
+ } else if (childNode[PropertySymbol.nodeType] === NodeTypeEnum.textNode) {
134
257
  result += childNode.textContent.replace(/[\n\r]/, '');
135
258
  }
136
259
  }
@@ -153,9 +276,9 @@ export default class HTMLElement extends Element implements IHTMLElement {
153
276
 
154
277
  for (let i = 0, max = texts.length; i < max; i++) {
155
278
  if (i !== 0) {
156
- this.appendChild(this.ownerDocument.createElement('br'));
279
+ this.appendChild(this[PropertySymbol.ownerDocument].createElement('br'));
157
280
  }
158
- this.appendChild(this.ownerDocument.createTextNode(texts[i]));
281
+ this.appendChild(this[PropertySymbol.ownerDocument].createTextNode(texts[i]));
159
282
  }
160
283
  }
161
284
 
@@ -176,7 +299,7 @@ export default class HTMLElement extends Element implements IHTMLElement {
176
299
  * @param text Text.
177
300
  */
178
301
  public set outerText(text: string) {
179
- if (!this.parentNode) {
302
+ if (!this[PropertySymbol.parentNode]) {
180
303
  throw new DOMException(
181
304
  "Failed to set the 'outerHTML' property on 'Element': This element has no parent node."
182
305
  );
@@ -186,12 +309,18 @@ export default class HTMLElement extends Element implements IHTMLElement {
186
309
 
187
310
  for (let i = 0, max = texts.length; i < max; i++) {
188
311
  if (i !== 0) {
189
- this.parentNode.insertBefore(this.ownerDocument.createElement('br'), this);
312
+ this[PropertySymbol.parentNode].insertBefore(
313
+ this[PropertySymbol.ownerDocument].createElement('br'),
314
+ this
315
+ );
190
316
  }
191
- this.parentNode.insertBefore(this.ownerDocument.createTextNode(texts[i]), this);
317
+ this[PropertySymbol.parentNode].insertBefore(
318
+ this[PropertySymbol.ownerDocument].createTextNode(texts[i]),
319
+ this
320
+ );
192
321
  }
193
322
 
194
- this.parentNode.removeChild(this);
323
+ this[PropertySymbol.parentNode].removeChild(this);
195
324
  }
196
325
 
197
326
  /**
@@ -334,10 +463,9 @@ export default class HTMLElement extends Element implements IHTMLElement {
334
463
  public cloneNode(deep = false): IHTMLElement {
335
464
  const clone = <HTMLElement>super.cloneNode(deep);
336
465
 
337
- (<string>clone.accessKey) = this.accessKey;
338
- (<string>clone.accessKeyLabel) = this.accessKeyLabel;
339
- (<string>clone.contentEditable) = this.contentEditable;
340
- (<boolean>clone.isContentEditable) = this.isContentEditable;
466
+ clone[PropertySymbol.accessKey] = this[PropertySymbol.accessKey];
467
+ clone[PropertySymbol.contentEditable] = this[PropertySymbol.contentEditable];
468
+ clone[PropertySymbol.isContentEditable] = this[PropertySymbol.isContentEditable];
341
469
 
342
470
  if (this[PropertySymbol.style]) {
343
471
  clone.style.cssText = this[PropertySymbol.style].cssText;
@@ -17,8 +17,11 @@ export default class HTMLElementNamedNodeMap extends ElementNamedNodeMap {
17
17
  public override setNamedItem(item: IAttr): IAttr | null {
18
18
  const replacedItem = super.setNamedItem(item);
19
19
 
20
- if (item.name === 'style' && this[PropertySymbol.ownerElement][PropertySymbol.style]) {
21
- this[PropertySymbol.ownerElement][PropertySymbol.style].cssText = item.value;
20
+ if (
21
+ item[PropertySymbol.name] === 'style' &&
22
+ this[PropertySymbol.ownerElement][PropertySymbol.style]
23
+ ) {
24
+ this[PropertySymbol.ownerElement][PropertySymbol.style].cssText = item[PropertySymbol.value];
22
25
  }
23
26
 
24
27
  return replacedItem || null;
@@ -32,7 +35,7 @@ export default class HTMLElementNamedNodeMap extends ElementNamedNodeMap {
32
35
 
33
36
  if (
34
37
  removedItem &&
35
- removedItem.name === 'style' &&
38
+ removedItem[PropertySymbol.name] === 'style' &&
36
39
  this[PropertySymbol.ownerElement][PropertySymbol.style]
37
40
  ) {
38
41
  this[PropertySymbol.ownerElement][PropertySymbol.style].cssText = '';
@@ -13,13 +13,17 @@ export default class HTMLElementUtility {
13
13
  * @param element Element.
14
14
  */
15
15
  public static blur(element: IHTMLElement | ISVGElement): void {
16
- if (element.ownerDocument[PropertySymbol.activeElement] !== element || !element.isConnected) {
16
+ if (
17
+ element[PropertySymbol.ownerDocument][PropertySymbol.activeElement] !== element ||
18
+ !element[PropertySymbol.isConnected]
19
+ ) {
17
20
  return;
18
21
  }
19
22
 
20
- const relatedTarget = element.ownerDocument[PropertySymbol.nextActiveElement] ?? null;
23
+ const relatedTarget =
24
+ element[PropertySymbol.ownerDocument][PropertySymbol.nextActiveElement] ?? null;
21
25
 
22
- element.ownerDocument[PropertySymbol.activeElement] = null;
26
+ element[PropertySymbol.ownerDocument][PropertySymbol.activeElement] = null;
23
27
 
24
28
  element.dispatchEvent(
25
29
  new FocusEvent('blur', {
@@ -43,23 +47,26 @@ export default class HTMLElementUtility {
43
47
  * @param element Element.
44
48
  */
45
49
  public static focus(element: IHTMLElement | ISVGElement): void {
46
- if (element.ownerDocument[PropertySymbol.activeElement] === element || !element.isConnected) {
50
+ if (
51
+ element[PropertySymbol.ownerDocument][PropertySymbol.activeElement] === element ||
52
+ !element[PropertySymbol.isConnected]
53
+ ) {
47
54
  return;
48
55
  }
49
56
 
50
57
  // Set the next active element so `blur` can use it for `relatedTarget`.
51
- element.ownerDocument[PropertySymbol.nextActiveElement] = element;
58
+ element[PropertySymbol.ownerDocument][PropertySymbol.nextActiveElement] = element;
52
59
 
53
- const relatedTarget = element.ownerDocument[PropertySymbol.activeElement];
60
+ const relatedTarget = element[PropertySymbol.ownerDocument][PropertySymbol.activeElement];
54
61
 
55
- if (element.ownerDocument[PropertySymbol.activeElement] !== null) {
56
- element.ownerDocument[PropertySymbol.activeElement].blur();
62
+ if (element[PropertySymbol.ownerDocument][PropertySymbol.activeElement] !== null) {
63
+ element[PropertySymbol.ownerDocument][PropertySymbol.activeElement].blur();
57
64
  }
58
65
 
59
66
  // Clean up after blur, so it does not affect next blur call.
60
- element.ownerDocument[PropertySymbol.nextActiveElement] = null;
67
+ element[PropertySymbol.ownerDocument][PropertySymbol.nextActiveElement] = null;
61
68
 
62
- element.ownerDocument[PropertySymbol.activeElement] = element;
69
+ element[PropertySymbol.ownerDocument][PropertySymbol.activeElement] = element;
63
70
 
64
71
  element.dispatchEvent(
65
72
  new FocusEvent('focus', {
@@ -9,6 +9,9 @@ import IElement from '../element/IElement.js';
9
9
  * https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement.
10
10
  */
11
11
  export default interface IHTMLElement extends IElement {
12
+ accessKey: string;
13
+ contentEditable: string;
14
+ isContentEditable: boolean;
12
15
  dataset: { [key: string]: string };
13
16
  tabIndex: number;
14
17
  offsetHeight: number;
@@ -18,17 +18,33 @@ import IHTMLButtonElement from '../html-button-element/IHTMLButtonElement.js';
18
18
  * https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement.
19
19
  */
20
20
  export default class HTMLFormElement extends HTMLElement implements IHTMLFormElement {
21
- // Public properties.
22
- public readonly elements: IHTMLFormControlsCollection = new HTMLFormControlsCollection();
23
- public readonly length = 0;
21
+ // Internal properties.
22
+ public [PropertySymbol.elements]: IHTMLFormControlsCollection = new HTMLFormControlsCollection();
23
+ public [PropertySymbol.length] = 0;
24
+ public [PropertySymbol.formNode]: INode = this;
24
25
 
25
26
  // Events
26
27
  public onformdata: (event: Event) => void | null = null;
27
28
  public onreset: (event: Event) => void | null = null;
28
29
  public onsubmit: (event: Event) => void | null = null;
29
30
 
30
- // Private properties
31
- public [PropertySymbol.formNode]: INode = this;
31
+ /**
32
+ * Returns elements.
33
+ *
34
+ * @returns Elements.
35
+ */
36
+ public get elements(): IHTMLFormControlsCollection {
37
+ return this[PropertySymbol.elements];
38
+ }
39
+
40
+ /**
41
+ * Returns length.
42
+ *
43
+ * @returns Length.
44
+ */
45
+ public get length(): number {
46
+ return this[PropertySymbol.length];
47
+ }
32
48
 
33
49
  /**
34
50
  * Returns name.
@@ -221,13 +237,16 @@ export default class HTMLFormElement extends HTMLElement implements IHTMLFormEle
221
237
  * Resets form.
222
238
  */
223
239
  public reset(): void {
224
- for (const element of this.elements) {
225
- if (element.tagName === 'INPUT' || element.tagName === 'TEXTAREA') {
240
+ for (const element of this[PropertySymbol.elements]) {
241
+ if (
242
+ element[PropertySymbol.tagName] === 'INPUT' ||
243
+ element[PropertySymbol.tagName] === 'TEXTAREA'
244
+ ) {
226
245
  element[PropertySymbol.value] = null;
227
246
  element[PropertySymbol.checked] = null;
228
- } else if (element.tagName === 'TEXTAREA') {
247
+ } else if (element[PropertySymbol.tagName] === 'TEXTAREA') {
229
248
  element[PropertySymbol.value] = null;
230
- } else if (element.tagName === 'SELECT') {
249
+ } else if (element[PropertySymbol.tagName] === 'SELECT') {
231
250
  let hasSelectedAttribute = false;
232
251
  for (const option of (<IHTMLSelectElement>element).options) {
233
252
  if (option.hasAttribute('selected')) {
@@ -254,8 +273,8 @@ export default class HTMLFormElement extends HTMLElement implements IHTMLFormEle
254
273
  const radioValidationState: { [k: string]: boolean } = {};
255
274
  let isFormValid = true;
256
275
 
257
- for (const element of this.elements) {
258
- if (element.tagName === 'INPUT' && element.type === 'radio' && element.name) {
276
+ for (const element of this[PropertySymbol.elements]) {
277
+ if (element[PropertySymbol.tagName] === 'INPUT' && element.type === 'radio' && element.name) {
259
278
  if (!radioValidationState[element.name]) {
260
279
  radioValidationState[element.name] = true;
261
280
  if (!element.checkValidity()) {
@@ -300,14 +319,19 @@ export default class HTMLFormElement extends HTMLElement implements IHTMLFormEle
300
319
  node: IHTMLInputElement | IHTMLTextAreaElement | IHTMLSelectElement | IHTMLButtonElement,
301
320
  name: string
302
321
  ): void {
303
- if (!this.elements.includes(node)) {
304
- this[this.elements.length] = node;
305
- this.elements.push(node);
306
- (<number>this.length) = this.elements.length;
322
+ const elements = this[PropertySymbol.elements];
323
+
324
+ if (!elements.includes(node)) {
325
+ this[elements.length] = node;
326
+ elements.push(node);
327
+ this[PropertySymbol.length] = elements.length;
307
328
  }
308
329
 
309
- (<HTMLFormControlsCollection>this.elements)[PropertySymbol.appendNamedItem](node, name);
310
- this[name] = this.elements[name];
330
+ (<HTMLFormControlsCollection>elements)[PropertySymbol.appendNamedItem](node, name);
331
+
332
+ if (this[PropertySymbol.isValidPropertyName](name)) {
333
+ this[name] = elements[name];
334
+ }
311
335
  }
312
336
 
313
337
  /**
@@ -320,23 +344,39 @@ export default class HTMLFormElement extends HTMLElement implements IHTMLFormEle
320
344
  node: IHTMLInputElement | IHTMLTextAreaElement | IHTMLSelectElement | IHTMLButtonElement,
321
345
  name: string
322
346
  ): void {
323
- const index = this.elements.indexOf(node);
347
+ const elements = this[PropertySymbol.elements];
348
+ const index = elements.indexOf(node);
324
349
 
325
350
  if (index !== -1) {
326
- this.elements.splice(index, 1);
327
- for (let i = index; i < this.length; i++) {
351
+ elements.splice(index, 1);
352
+ for (let i = index; i < this[PropertySymbol.length]; i++) {
328
353
  this[i] = this[i + 1];
329
354
  }
330
- delete this[this.length - 1];
331
- (<number>this.length)--;
355
+ delete this[this[PropertySymbol.length] - 1];
356
+ this[PropertySymbol.length]--;
332
357
  }
333
358
 
334
- (<HTMLFormControlsCollection>this.elements)[PropertySymbol.removeNamedItem](node, name);
359
+ (<HTMLFormControlsCollection>elements)[PropertySymbol.removeNamedItem](node, name);
335
360
 
336
- if (this.elements[name]) {
337
- this[name] = this.elements[name];
338
- } else {
339
- delete this[name];
361
+ if (this[PropertySymbol.isValidPropertyName](name)) {
362
+ if (elements[name]) {
363
+ this[name] = elements[name];
364
+ } else {
365
+ delete this[name];
366
+ }
340
367
  }
341
368
  }
369
+
370
+ /**
371
+ * Returns "true" if the property name is valid.
372
+ *
373
+ * @param name Name.
374
+ * @returns True if the property name is valid.
375
+ */
376
+ protected [PropertySymbol.isValidPropertyName](name: string): boolean {
377
+ return (
378
+ !this.constructor.prototype.hasOwnProperty(name) &&
379
+ (isNaN(Number(name)) || name.includes('.'))
380
+ );
381
+ }
342
382
  }
@@ -18,13 +18,14 @@ import HTMLIFrameElementPageLoader from './HTMLIFrameElementPageLoader.js';
18
18
  * https://developer.mozilla.org/en-US/docs/Web/API/HTMLIFrameElement.
19
19
  */
20
20
  export default class HTMLIFrameElement extends HTMLElement implements IHTMLIFrameElement {
21
- public override readonly attributes: INamedNodeMap;
22
-
23
21
  // Events
24
22
  public onload: (event: Event) => void | null = null;
25
23
  public onerror: (event: Event) => void | null = null;
26
24
 
27
25
  // Internal properties
26
+ public override [PropertySymbol.attributes]: INamedNodeMap;
27
+
28
+ // Private properties
28
29
  #contentWindowContainer: { window: IBrowserWindow | ICrossOriginBrowserWindow | null } = {
29
30
  window: null
30
31
  };
@@ -42,7 +43,7 @@ export default class HTMLIFrameElement extends HTMLElement implements IHTMLIFram
42
43
  contentWindowContainer: this.#contentWindowContainer,
43
44
  browserParentFrame: browserFrame
44
45
  });
45
- this.attributes = new HTMLIFrameElementNamedNodeMap(this, this.#pageLoader);
46
+ this[PropertySymbol.attributes] = new HTMLIFrameElementNamedNodeMap(this, this.#pageLoader);
46
47
  }
47
48
 
48
49
  /**
@@ -193,8 +194,8 @@ export default class HTMLIFrameElement extends HTMLElement implements IHTMLIFram
193
194
  * @override
194
195
  */
195
196
  public override [PropertySymbol.connectToNode](parentNode: INode = null): void {
196
- const isConnected = this.isConnected;
197
- const isParentConnected = parentNode ? parentNode.isConnected : false;
197
+ const isConnected = this[PropertySymbol.isConnected];
198
+ const isParentConnected = parentNode ? parentNode[PropertySymbol.isConnected] : false;
198
199
 
199
200
  super[PropertySymbol.connectToNode](parentNode);
200
201
 
@@ -2,6 +2,7 @@ import IAttr from '../attr/IAttr.js';
2
2
  import Element from '../element/Element.js';
3
3
  import HTMLElementNamedNodeMap from '../html-element/HTMLElementNamedNodeMap.js';
4
4
  import HTMLIFrameElementPageLoader from './HTMLIFrameElementPageLoader.js';
5
+ import * as PropertySymbol from '../../PropertySymbol.js';
5
6
 
6
7
  /**
7
8
  * Named Node Map.
@@ -28,7 +29,11 @@ export default class HTMLIFrameElementNamedNodeMap extends HTMLElementNamedNodeM
28
29
  public override setNamedItem(item: IAttr): IAttr | null {
29
30
  const replacedAttribute = super.setNamedItem(item);
30
31
 
31
- if (item.name === 'src' && item.value && item.value !== replacedAttribute?.value) {
32
+ if (
33
+ item[PropertySymbol.name] === 'src' &&
34
+ item[PropertySymbol.value] &&
35
+ item[PropertySymbol.value] !== replacedAttribute?.[PropertySymbol.value]
36
+ ) {
32
37
  this.#pageLoader.loadPage();
33
38
  }
34
39
 
@@ -43,7 +43,7 @@ export default class HTMLIFrameElementPageLoader {
43
43
  * Loads an iframe page.
44
44
  */
45
45
  public loadPage(): void {
46
- if (!this.#element.isConnected) {
46
+ if (!this.#element[PropertySymbol.isConnected]) {
47
47
  if (this.#browserIFrame) {
48
48
  BrowserFrameFactory.destroyFrame(this.#browserIFrame);
49
49
  this.#browserIFrame = null;
@@ -52,7 +52,7 @@ export default class HTMLIFrameElementPageLoader {
52
52
  return;
53
53
  }
54
54
 
55
- const window = this.#element.ownerDocument[PropertySymbol.defaultView];
55
+ const window = this.#element[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow];
56
56
  const originURL = this.#browserParentFrame.window.location;
57
57
  const targetURL = BrowserFrameURL.getRelativeURL(this.#browserParentFrame, this.#element.src);
58
58