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
@@ -1,5 +1,6 @@
1
1
  import HTMLElement from '../html-element/HTMLElement.js';
2
2
  import IHTMLImageElement from './IHTMLImageElement.js';
3
+ import * as PropertySymbol from '../../PropertySymbol.js';
3
4
 
4
5
  /**
5
6
  * HTML Image Element.
@@ -8,15 +9,101 @@ import IHTMLImageElement from './IHTMLImageElement.js';
8
9
  * https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement.
9
10
  */
10
11
  export default class HTMLImageElement extends HTMLElement implements IHTMLImageElement {
11
- public readonly tagName: string = 'IMG';
12
- public readonly complete = false;
13
- public readonly naturalHeight = 0;
14
- public readonly naturalWidth = 0;
15
- public crossOrigin = null;
16
- public decoding = 'auto';
17
- public loading = 'auto';
18
- public readonly x = 0;
19
- public readonly y = 0;
12
+ public [PropertySymbol.tagName] = 'IMG';
13
+ public [PropertySymbol.complete] = false;
14
+ public [PropertySymbol.naturalHeight] = 0;
15
+ public [PropertySymbol.naturalWidth] = 0;
16
+ public [PropertySymbol.loading] = 'auto';
17
+ public [PropertySymbol.x] = 0;
18
+ public [PropertySymbol.y] = 0;
19
+
20
+ /**
21
+ * Returns complete.
22
+ *
23
+ * @returns Complete.
24
+ */
25
+ public get complete(): boolean {
26
+ return this[PropertySymbol.complete];
27
+ }
28
+
29
+ /**
30
+ * Returns natural height.
31
+ *
32
+ * @returns Natural height.
33
+ */
34
+ public get naturalHeight(): number {
35
+ return this[PropertySymbol.naturalHeight];
36
+ }
37
+
38
+ /**
39
+ * Returns natural width.
40
+ *
41
+ * @returns Natural width.
42
+ */
43
+ public get naturalWidth(): number {
44
+ return this[PropertySymbol.naturalWidth];
45
+ }
46
+
47
+ /**
48
+ * Returns loading.
49
+ *
50
+ * @returns Loading.
51
+ */
52
+ public get loading(): string {
53
+ return this[PropertySymbol.loading];
54
+ }
55
+
56
+ /**
57
+ * Returns x.
58
+ */
59
+ public get x(): number {
60
+ return this[PropertySymbol.x];
61
+ }
62
+
63
+ /**
64
+ * Returns y.
65
+ */
66
+ public get y(): number {
67
+ return this[PropertySymbol.y];
68
+ }
69
+
70
+ /**
71
+ * Returns decoding.
72
+ *
73
+ * @returns Decoding.
74
+ */
75
+ public get decoding(): string {
76
+ return this.getAttribute('decoding') || 'auto';
77
+ }
78
+
79
+ /**
80
+ * Sets decoding.
81
+ *
82
+ * @param decoding Decoding.
83
+ */
84
+ public set decoding(decoding: string) {
85
+ this.setAttribute('decoding', decoding);
86
+ }
87
+
88
+ /**
89
+ * Returns cross origin.
90
+ *
91
+ * @returns Cross origin.
92
+ */
93
+ public get crossOrigin(): string | null {
94
+ return this.getAttribute('crossOrigin');
95
+ }
96
+
97
+ /**
98
+ * Sets cross origin.
99
+ *
100
+ * @param crossOrigin Cross origin.
101
+ */
102
+ public set crossOrigin(crossOrigin: string | null) {
103
+ if (crossOrigin === 'anonymous' || crossOrigin === 'use-credentials') {
104
+ this.setAttribute('crossOrigin', crossOrigin);
105
+ }
106
+ }
20
107
 
21
108
  /**
22
109
  * Returns alt.
@@ -45,6 +132,25 @@ export default class HTMLImageElement extends HTMLElement implements IHTMLImageE
45
132
  return this.src;
46
133
  }
47
134
 
135
+ /**
136
+ * Returns width.
137
+ *
138
+ * @returns Width.
139
+ */
140
+ public get width(): number {
141
+ const width = this.getAttribute('width');
142
+ return width !== null ? Number(width) : 0;
143
+ }
144
+
145
+ /**
146
+ * Sets width.
147
+ *
148
+ * @param width Width.
149
+ */
150
+ public set width(width: number) {
151
+ this.setAttribute('width', String(width));
152
+ }
153
+
48
154
  /**
49
155
  * Returns height.
50
156
  *
@@ -176,25 +282,6 @@ export default class HTMLImageElement extends HTMLElement implements IHTMLImageE
176
282
  this.setAttribute('usemap', useMap);
177
283
  }
178
284
 
179
- /**
180
- * Returns width.
181
- *
182
- * @returns Width.
183
- */
184
- public get width(): number {
185
- const width = this.getAttribute('width');
186
- return width !== null ? Number(width) : 0;
187
- }
188
-
189
- /**
190
- * Sets width.
191
- *
192
- * @param width Width.
193
- */
194
- public set width(width: number) {
195
- this.setAttribute('width', String(width));
196
- }
197
-
198
285
  /**
199
286
  * The decode() method of the HTMLImageElement interface returns a Promise that resolves when the image is decoded and it is safe to append the image to the DOM.
200
287
  *
@@ -23,6 +23,7 @@ import HTMLInputElementDateUtility from './HTMLInputElementDateUtility.js';
23
23
  import HTMLLabelElementUtility from '../html-label-element/HTMLLabelElementUtility.js';
24
24
  import INamedNodeMap from '../../named-node-map/INamedNodeMap.js';
25
25
  import HTMLInputElementNamedNodeMap from './HTMLInputElementNamedNodeMap.js';
26
+ import { URL } from 'url';
26
27
 
27
28
  /**
28
29
  * HTML Input Element.
@@ -34,39 +35,131 @@ import HTMLInputElementNamedNodeMap from './HTMLInputElementNamedNodeMap.js';
34
35
  * https://github.com/jsdom/jsdom/blob/master/lib/jsdom/living/nodes/nodes/HTMLInputElement-impl.js (MIT licensed).
35
36
  */
36
37
  export default class HTMLInputElement extends HTMLElement implements IHTMLInputElement {
37
- public override readonly attributes: INamedNodeMap = new HTMLInputElementNamedNodeMap(this);
38
-
39
- // Related to parent form.
40
- public formAction = '';
41
- public formMethod = '';
38
+ // Events
39
+ public oninput: (event: Event) => void | null = null;
40
+ public oninvalid: (event: Event) => void | null = null;
41
+ public onselectionchange: (event: Event) => void | null = null;
42
42
 
43
- // Any type of input
43
+ // Internal properties
44
+ public override [PropertySymbol.attributes]: INamedNodeMap = new HTMLInputElementNamedNodeMap(
45
+ this
46
+ );
44
47
  public [PropertySymbol.value] = null;
45
48
  public [PropertySymbol.height] = 0;
46
49
  public [PropertySymbol.width] = 0;
47
-
48
- // Type specific: checkbox/radio
49
- public defaultChecked = false;
50
+ public [PropertySymbol.defaultChecked] = false;
50
51
  public [PropertySymbol.checked]: boolean | null = null;
52
+ public [PropertySymbol.validationMessage] = '';
53
+ public [PropertySymbol.validity] = new ValidityState(this);
54
+ public [PropertySymbol.files]: IFileList<File> = new FileList();
51
55
 
52
- // Type specific: file
53
- public files: IFileList<File> = new FileList();
54
-
55
- // All fields
56
- public readonly validationMessage = '';
57
- public readonly validity = new ValidityState(this);
58
-
59
- // Events
60
- public oninput: (event: Event) => void | null = null;
61
- public oninvalid: (event: Event) => void | null = null;
62
- public onselectionchange: (event: Event) => void | null = null;
63
-
64
- // Type specific: text/password/search/tel/url/week/month
56
+ // Private properties
65
57
  #selectionStart: number = null;
66
58
  #selectionEnd: number = null;
67
59
  #selectionDirection: HTMLInputElementSelectionDirectionEnum =
68
60
  HTMLInputElementSelectionDirectionEnum.none;
69
61
 
62
+ /**
63
+ * Returns default checked.
64
+ *
65
+ * @returns Default checked.
66
+ */
67
+ public get defaultChecked(): boolean {
68
+ return this[PropertySymbol.defaultChecked];
69
+ }
70
+
71
+ /**
72
+ * Sets default checked.
73
+ *
74
+ * @param defaultChecked Default checked.
75
+ */
76
+ public set defaultChecked(defaultChecked: boolean) {
77
+ this[PropertySymbol.defaultChecked] = defaultChecked;
78
+ }
79
+
80
+ /**
81
+ * Returns files.
82
+ *
83
+ * @returns Files.
84
+ */
85
+ public get files(): IFileList<File> {
86
+ return this[PropertySymbol.files];
87
+ }
88
+
89
+ /**
90
+ * Sets files.
91
+ *
92
+ * @param files Files.
93
+ */
94
+ public set files(files: IFileList<File>) {
95
+ this[PropertySymbol.files] = files;
96
+ }
97
+
98
+ /**
99
+ * Returns form action.
100
+ *
101
+ * @returns URL.
102
+ */
103
+ public get formAction(): string {
104
+ return (
105
+ this.getAttribute('formaction') ||
106
+ (<IHTMLFormElement>this[PropertySymbol.formNode])?.action ||
107
+ this[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow].location.href
108
+ );
109
+ }
110
+
111
+ /**
112
+ * Sets form action.
113
+ *
114
+ * @param url URL.
115
+ */
116
+ public set formAction(url: string) {
117
+ try {
118
+ new URL(url);
119
+ } catch (error) {
120
+ return;
121
+ }
122
+ this.setAttribute('formaction', url);
123
+ }
124
+
125
+ /**
126
+ * Returns form method.
127
+ */
128
+ public get formMethod(): string {
129
+ return (
130
+ this.getAttribute('formmethod') ||
131
+ (<IHTMLFormElement>this[PropertySymbol.formNode])?.method ||
132
+ ''
133
+ );
134
+ }
135
+
136
+ /**
137
+ * Sets form method.
138
+ *
139
+ * @param method Method.
140
+ */
141
+ public set formMethod(method: string) {
142
+ this.setAttribute('formmethod', method);
143
+ }
144
+
145
+ /**
146
+ * Returns validation message.
147
+ *
148
+ * @returns Validation message.
149
+ */
150
+ public get validationMessage(): string {
151
+ return this[PropertySymbol.validationMessage];
152
+ }
153
+
154
+ /**
155
+ * Returns validity.
156
+ *
157
+ * @returns Validity.
158
+ */
159
+ public get validity(): ValidityState {
160
+ return this[PropertySymbol.validity];
161
+ }
162
+
70
163
  /**
71
164
  * Returns height.
72
165
  *
@@ -594,7 +687,9 @@ export default class HTMLInputElement extends HTMLElement implements IHTMLInputE
594
687
  const attritube = this.getAttribute('value');
595
688
  return attritube !== null ? attritube : 'on';
596
689
  case 'file':
597
- return this.files.length > 0 ? '/fake/path/' + this.files[0].name : '';
690
+ return this[PropertySymbol.files].length > 0
691
+ ? '/fake/path/' + this[PropertySymbol.files][0].name
692
+ : '';
598
693
  }
599
694
 
600
695
  if (this[PropertySymbol.value] === null) {
@@ -631,7 +726,7 @@ export default class HTMLInputElement extends HTMLElement implements IHTMLInputE
631
726
  }
632
727
  break;
633
728
  default:
634
- const oldValue = this[PropertySymbol.value];
729
+ const oldValue = this.value;
635
730
  this[PropertySymbol.value] = HTMLInputElementValueSanitizer.sanitize(this, value);
636
731
 
637
732
  if (oldValue !== this[PropertySymbol.value]) {
@@ -970,7 +1065,7 @@ export default class HTMLInputElement extends HTMLElement implements IHTMLInputE
970
1065
  * @param message Message.
971
1066
  */
972
1067
  public setCustomValidity(message: string): void {
973
- (<string>this.validationMessage) = String(message);
1068
+ this[PropertySymbol.validationMessage] = String(message);
974
1069
  }
975
1070
 
976
1071
  /**
@@ -1102,7 +1197,7 @@ export default class HTMLInputElement extends HTMLElement implements IHTMLInputE
1102
1197
  this.type === 'hidden' ||
1103
1198
  this.type === 'reset' ||
1104
1199
  this.type === 'button' ||
1105
- this.validity.valid;
1200
+ this[PropertySymbol.validity].valid;
1106
1201
  if (!valid) {
1107
1202
  this.dispatchEvent(new Event('invalid', { bubbles: true, cancelable: true }));
1108
1203
  }
@@ -1156,8 +1251,8 @@ export default class HTMLInputElement extends HTMLElement implements IHTMLInputE
1156
1251
  clone[PropertySymbol.value] = this[PropertySymbol.value];
1157
1252
  clone[PropertySymbol.height] = this[PropertySymbol.height];
1158
1253
  clone[PropertySymbol.width] = this[PropertySymbol.width];
1159
- clone.defaultChecked = this.defaultChecked;
1160
- clone.files = <FileList>this.files.slice();
1254
+ clone[PropertySymbol.defaultChecked] = this[PropertySymbol.defaultChecked];
1255
+ clone[PropertySymbol.files] = <FileList>this[PropertySymbol.files].slice();
1161
1256
  clone.#selectionStart = this.#selectionStart;
1162
1257
  clone.#selectionEnd = this.#selectionEnd;
1163
1258
  clone.#selectionDirection = this.#selectionDirection;
@@ -1196,7 +1291,7 @@ export default class HTMLInputElement extends HTMLElement implements IHTMLInputE
1196
1291
  (event.eventPhase === EventPhaseEnum.atTarget ||
1197
1292
  event.eventPhase === EventPhaseEnum.bubbling) &&
1198
1293
  event.type === 'click' &&
1199
- this.isConnected
1294
+ this[PropertySymbol.isConnected]
1200
1295
  ) {
1201
1296
  const inputType = this.type;
1202
1297
  if (!this.readOnly || inputType === 'checkbox' || inputType === 'radio') {
@@ -1208,7 +1303,7 @@ export default class HTMLInputElement extends HTMLElement implements IHTMLInputE
1208
1303
  if (form) {
1209
1304
  form.requestSubmit();
1210
1305
  }
1211
- } else if (inputType === 'reset' && this.isConnected) {
1306
+ } else if (inputType === 'reset' && this[PropertySymbol.isConnected]) {
1212
1307
  const form = <IHTMLFormElement>this[PropertySymbol.formNode];
1213
1308
  if (form) {
1214
1309
  form.reset();
@@ -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
  }