happy-dom 16.5.2 → 16.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (368) hide show
  1. package/cjs/async-task-manager/AsyncTaskManager.cjs.map +1 -1
  2. package/cjs/async-task-manager/AsyncTaskManager.d.ts.map +1 -1
  3. package/cjs/browser/detached-browser/DetachedBrowser.cjs.map +1 -1
  4. package/cjs/browser/utilities/BrowserExceptionObserver.cjs +5 -3
  5. package/cjs/browser/utilities/BrowserExceptionObserver.cjs.map +1 -1
  6. package/cjs/browser/utilities/BrowserExceptionObserver.d.ts.map +1 -1
  7. package/cjs/browser/utilities/BrowserFrameNavigator.cjs +1 -1
  8. package/cjs/browser/utilities/BrowserFrameNavigator.cjs.map +1 -1
  9. package/cjs/browser/utilities/BrowserFrameNavigator.d.ts +6 -6
  10. package/cjs/browser/utilities/BrowserFrameNavigator.d.ts.map +1 -1
  11. package/cjs/console/VirtualConsole.cjs +26 -15
  12. package/cjs/console/VirtualConsole.cjs.map +1 -1
  13. package/cjs/console/VirtualConsole.d.ts +18 -10
  14. package/cjs/console/VirtualConsole.d.ts.map +1 -1
  15. package/cjs/cookie/urilities/CookieExpireUtility.d.ts +1 -1
  16. package/cjs/cookie/urilities/CookieExpireUtility.d.ts.map +1 -1
  17. package/cjs/css/declaration/property-manager/CSSStyleDeclarationPropertyGetParser.d.ts +17 -17
  18. package/cjs/css/declaration/property-manager/CSSStyleDeclarationPropertyGetParser.d.ts.map +1 -1
  19. package/cjs/fetch/Fetch.cjs.map +1 -1
  20. package/cjs/fetch/Fetch.d.ts.map +1 -1
  21. package/cjs/html-parser/HTMLParser.cjs +1 -1
  22. package/cjs/html-parser/HTMLParser.cjs.map +1 -1
  23. package/cjs/html-serializer/HTMLSerializer.cjs +2 -2
  24. package/cjs/html-serializer/HTMLSerializer.cjs.map +1 -1
  25. package/cjs/nodes/element/Element.cjs.map +1 -1
  26. package/cjs/nodes/element/Element.d.ts +34 -34
  27. package/cjs/nodes/element/Element.d.ts.map +1 -1
  28. package/cjs/nodes/html-body-element/HTMLBodyElement.cjs.map +1 -1
  29. package/cjs/nodes/html-body-element/HTMLBodyElement.d.ts +18 -18
  30. package/cjs/nodes/html-body-element/HTMLBodyElement.d.ts.map +1 -1
  31. package/cjs/nodes/html-canvas-element/HTMLCanvasElement.cjs.map +1 -1
  32. package/cjs/nodes/html-canvas-element/HTMLCanvasElement.d.ts +5 -5
  33. package/cjs/nodes/html-canvas-element/HTMLCanvasElement.d.ts.map +1 -1
  34. package/cjs/nodes/html-details-element/HTMLDetailsElement.cjs.map +1 -1
  35. package/cjs/nodes/html-details-element/HTMLDetailsElement.d.ts +1 -1
  36. package/cjs/nodes/html-details-element/HTMLDetailsElement.d.ts.map +1 -1
  37. package/cjs/nodes/html-dialog-element/HTMLDialogElement.cjs.map +1 -1
  38. package/cjs/nodes/html-dialog-element/HTMLDialogElement.d.ts +2 -2
  39. package/cjs/nodes/html-dialog-element/HTMLDialogElement.d.ts.map +1 -1
  40. package/cjs/nodes/html-element/HTMLElement.cjs.map +1 -1
  41. package/cjs/nodes/html-element/HTMLElement.d.ts +25 -25
  42. package/cjs/nodes/html-element/HTMLElement.d.ts.map +1 -1
  43. package/cjs/nodes/html-form-element/HTMLFormElement.cjs.map +1 -1
  44. package/cjs/nodes/html-form-element/HTMLFormElement.d.ts +3 -3
  45. package/cjs/nodes/html-form-element/HTMLFormElement.d.ts.map +1 -1
  46. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs.map +1 -1
  47. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.d.ts +2 -2
  48. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.d.ts.map +1 -1
  49. package/cjs/nodes/html-input-element/HTMLInputElement.cjs.map +1 -1
  50. package/cjs/nodes/html-input-element/HTMLInputElement.d.ts +3 -3
  51. package/cjs/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
  52. package/cjs/nodes/html-media-element/HTMLMediaElement.cjs.map +1 -1
  53. package/cjs/nodes/html-media-element/HTMLMediaElement.d.ts +23 -23
  54. package/cjs/nodes/html-media-element/HTMLMediaElement.d.ts.map +1 -1
  55. package/cjs/nodes/html-media-element/MediaStream.cjs.map +1 -1
  56. package/cjs/nodes/html-media-element/MediaStream.d.ts +2 -2
  57. package/cjs/nodes/html-media-element/MediaStream.d.ts.map +1 -1
  58. package/cjs/nodes/html-media-element/MediaStreamTrack.cjs.map +1 -1
  59. package/cjs/nodes/html-media-element/MediaStreamTrack.d.ts +3 -3
  60. package/cjs/nodes/html-media-element/MediaStreamTrack.d.ts.map +1 -1
  61. package/cjs/nodes/html-select-element/HTMLSelectElement.cjs.map +1 -1
  62. package/cjs/nodes/html-select-element/HTMLSelectElement.d.ts +2 -2
  63. package/cjs/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
  64. package/cjs/nodes/html-slot-element/HTMLSlotElement.cjs.map +1 -1
  65. package/cjs/nodes/html-slot-element/HTMLSlotElement.d.ts +1 -1
  66. package/cjs/nodes/html-slot-element/HTMLSlotElement.d.ts.map +1 -1
  67. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.cjs.map +1 -1
  68. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.d.ts +2 -2
  69. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.d.ts.map +1 -1
  70. package/cjs/nodes/shadow-root/ShadowRoot.cjs.map +1 -1
  71. package/cjs/nodes/shadow-root/ShadowRoot.d.ts +1 -1
  72. package/cjs/nodes/shadow-root/ShadowRoot.d.ts.map +1 -1
  73. package/cjs/nodes/svg-animation-element/SVGAnimationElement.cjs.map +1 -1
  74. package/cjs/nodes/svg-animation-element/SVGAnimationElement.d.ts +3 -3
  75. package/cjs/nodes/svg-animation-element/SVGAnimationElement.d.ts.map +1 -1
  76. package/cjs/nodes/svg-element/SVGElement.cjs.map +1 -1
  77. package/cjs/nodes/svg-element/SVGElement.d.ts +6 -6
  78. package/cjs/nodes/svg-element/SVGElement.d.ts.map +1 -1
  79. package/cjs/nodes/svg-graphics-element/SVGGraphicsElement.cjs.map +1 -1
  80. package/cjs/nodes/svg-graphics-element/SVGGraphicsElement.d.ts +3 -3
  81. package/cjs/nodes/svg-graphics-element/SVGGraphicsElement.d.ts.map +1 -1
  82. package/cjs/nodes/svg-svg-element/SVGSVGElement.cjs.map +1 -1
  83. package/cjs/nodes/svg-svg-element/SVGSVGElement.d.ts +18 -18
  84. package/cjs/nodes/svg-svg-element/SVGSVGElement.d.ts.map +1 -1
  85. package/cjs/query-selector/QuerySelector.cjs +39 -4
  86. package/cjs/query-selector/QuerySelector.cjs.map +1 -1
  87. package/cjs/query-selector/QuerySelector.d.ts.map +1 -1
  88. package/cjs/query-selector/SelectorCombinatorEnum.cjs +1 -0
  89. package/cjs/query-selector/SelectorCombinatorEnum.cjs.map +1 -1
  90. package/cjs/query-selector/SelectorCombinatorEnum.d.ts +2 -1
  91. package/cjs/query-selector/SelectorCombinatorEnum.d.ts.map +1 -1
  92. package/cjs/query-selector/SelectorItem.cjs +2 -1
  93. package/cjs/query-selector/SelectorItem.cjs.map +1 -1
  94. package/cjs/query-selector/SelectorItem.d.ts.map +1 -1
  95. package/cjs/query-selector/SelectorParser.cjs +8 -1
  96. package/cjs/query-selector/SelectorParser.cjs.map +1 -1
  97. package/cjs/query-selector/SelectorParser.d.ts.map +1 -1
  98. package/cjs/svg/SVGAngle.cjs.map +1 -1
  99. package/cjs/svg/SVGAngle.d.ts +2 -2
  100. package/cjs/svg/SVGAngle.d.ts.map +1 -1
  101. package/cjs/svg/SVGAnimatedBoolean.cjs.map +1 -1
  102. package/cjs/svg/SVGAnimatedBoolean.d.ts +2 -2
  103. package/cjs/svg/SVGAnimatedBoolean.d.ts.map +1 -1
  104. package/cjs/svg/SVGAnimatedInteger.cjs.map +1 -1
  105. package/cjs/svg/SVGAnimatedInteger.d.ts +2 -2
  106. package/cjs/svg/SVGAnimatedInteger.d.ts.map +1 -1
  107. package/cjs/svg/SVGAnimatedNumber.cjs.map +1 -1
  108. package/cjs/svg/SVGAnimatedNumber.d.ts +2 -2
  109. package/cjs/svg/SVGAnimatedNumber.d.ts.map +1 -1
  110. package/cjs/svg/SVGAnimatedString.cjs.map +1 -1
  111. package/cjs/svg/SVGAnimatedString.d.ts +2 -2
  112. package/cjs/svg/SVGAnimatedString.d.ts.map +1 -1
  113. package/cjs/svg/SVGLength.cjs.map +1 -1
  114. package/cjs/svg/SVGLength.d.ts +2 -2
  115. package/cjs/svg/SVGLength.d.ts.map +1 -1
  116. package/cjs/svg/SVGLengthList.cjs.map +1 -1
  117. package/cjs/svg/SVGLengthList.d.ts +2 -2
  118. package/cjs/svg/SVGLengthList.d.ts.map +1 -1
  119. package/cjs/svg/SVGMatrix.cjs.map +1 -1
  120. package/cjs/svg/SVGMatrix.d.ts +2 -2
  121. package/cjs/svg/SVGMatrix.d.ts.map +1 -1
  122. package/cjs/svg/SVGNumber.cjs.map +1 -1
  123. package/cjs/svg/SVGNumber.d.ts +2 -2
  124. package/cjs/svg/SVGNumber.d.ts.map +1 -1
  125. package/cjs/svg/SVGNumberList.cjs.map +1 -1
  126. package/cjs/svg/SVGNumberList.d.ts +2 -2
  127. package/cjs/svg/SVGNumberList.d.ts.map +1 -1
  128. package/cjs/svg/SVGPoint.cjs.map +1 -1
  129. package/cjs/svg/SVGPoint.d.ts +2 -2
  130. package/cjs/svg/SVGPoint.d.ts.map +1 -1
  131. package/cjs/svg/SVGPointList.cjs.map +1 -1
  132. package/cjs/svg/SVGPointList.d.ts +2 -2
  133. package/cjs/svg/SVGPointList.d.ts.map +1 -1
  134. package/cjs/svg/SVGPreserveAspectRatio.cjs.map +1 -1
  135. package/cjs/svg/SVGPreserveAspectRatio.d.ts +2 -2
  136. package/cjs/svg/SVGPreserveAspectRatio.d.ts.map +1 -1
  137. package/cjs/svg/SVGRect.cjs.map +1 -1
  138. package/cjs/svg/SVGRect.d.ts +2 -2
  139. package/cjs/svg/SVGRect.d.ts.map +1 -1
  140. package/cjs/svg/SVGStringList.cjs.map +1 -1
  141. package/cjs/svg/SVGStringList.d.ts +2 -2
  142. package/cjs/svg/SVGStringList.d.ts.map +1 -1
  143. package/cjs/svg/SVGTransformList.cjs.map +1 -1
  144. package/cjs/svg/SVGTransformList.d.ts +2 -2
  145. package/cjs/svg/SVGTransformList.d.ts.map +1 -1
  146. package/cjs/utilities/XMLEncodeUtility.cjs +26 -2
  147. package/cjs/utilities/XMLEncodeUtility.cjs.map +1 -1
  148. package/cjs/utilities/XMLEncodeUtility.d.ts +16 -2
  149. package/cjs/utilities/XMLEncodeUtility.d.ts.map +1 -1
  150. package/cjs/xml-http-request/XMLHttpRequestEventTarget.cjs.map +1 -1
  151. package/cjs/xml-http-request/XMLHttpRequestEventTarget.d.ts +1 -1
  152. package/cjs/xml-http-request/XMLHttpRequestEventTarget.d.ts.map +1 -1
  153. package/cjs/xml-parser/XMLParser.cjs +1 -1
  154. package/cjs/xml-parser/XMLParser.cjs.map +1 -1
  155. package/cjs/xml-serializer/XMLSerializer.cjs +6 -6
  156. package/cjs/xml-serializer/XMLSerializer.cjs.map +1 -1
  157. package/lib/async-task-manager/AsyncTaskManager.d.ts.map +1 -1
  158. package/lib/async-task-manager/AsyncTaskManager.js.map +1 -1
  159. package/lib/browser/detached-browser/DetachedBrowser.js.map +1 -1
  160. package/lib/browser/utilities/BrowserExceptionObserver.d.ts.map +1 -1
  161. package/lib/browser/utilities/BrowserExceptionObserver.js +5 -3
  162. package/lib/browser/utilities/BrowserExceptionObserver.js.map +1 -1
  163. package/lib/browser/utilities/BrowserFrameNavigator.d.ts +6 -6
  164. package/lib/browser/utilities/BrowserFrameNavigator.d.ts.map +1 -1
  165. package/lib/browser/utilities/BrowserFrameNavigator.js +1 -1
  166. package/lib/browser/utilities/BrowserFrameNavigator.js.map +1 -1
  167. package/lib/console/VirtualConsole.d.ts +18 -10
  168. package/lib/console/VirtualConsole.d.ts.map +1 -1
  169. package/lib/console/VirtualConsole.js +26 -15
  170. package/lib/console/VirtualConsole.js.map +1 -1
  171. package/lib/cookie/urilities/CookieExpireUtility.d.ts +1 -1
  172. package/lib/cookie/urilities/CookieExpireUtility.d.ts.map +1 -1
  173. package/lib/css/declaration/property-manager/CSSStyleDeclarationPropertyGetParser.d.ts +17 -17
  174. package/lib/css/declaration/property-manager/CSSStyleDeclarationPropertyGetParser.d.ts.map +1 -1
  175. package/lib/fetch/Fetch.d.ts.map +1 -1
  176. package/lib/fetch/Fetch.js.map +1 -1
  177. package/lib/html-parser/HTMLParser.js +1 -1
  178. package/lib/html-parser/HTMLParser.js.map +1 -1
  179. package/lib/html-serializer/HTMLSerializer.js +2 -2
  180. package/lib/html-serializer/HTMLSerializer.js.map +1 -1
  181. package/lib/nodes/element/Element.d.ts +34 -34
  182. package/lib/nodes/element/Element.d.ts.map +1 -1
  183. package/lib/nodes/element/Element.js.map +1 -1
  184. package/lib/nodes/html-body-element/HTMLBodyElement.d.ts +18 -18
  185. package/lib/nodes/html-body-element/HTMLBodyElement.d.ts.map +1 -1
  186. package/lib/nodes/html-body-element/HTMLBodyElement.js.map +1 -1
  187. package/lib/nodes/html-canvas-element/HTMLCanvasElement.d.ts +5 -5
  188. package/lib/nodes/html-canvas-element/HTMLCanvasElement.d.ts.map +1 -1
  189. package/lib/nodes/html-canvas-element/HTMLCanvasElement.js.map +1 -1
  190. package/lib/nodes/html-details-element/HTMLDetailsElement.d.ts +1 -1
  191. package/lib/nodes/html-details-element/HTMLDetailsElement.d.ts.map +1 -1
  192. package/lib/nodes/html-details-element/HTMLDetailsElement.js.map +1 -1
  193. package/lib/nodes/html-dialog-element/HTMLDialogElement.d.ts +2 -2
  194. package/lib/nodes/html-dialog-element/HTMLDialogElement.d.ts.map +1 -1
  195. package/lib/nodes/html-dialog-element/HTMLDialogElement.js.map +1 -1
  196. package/lib/nodes/html-element/HTMLElement.d.ts +25 -25
  197. package/lib/nodes/html-element/HTMLElement.d.ts.map +1 -1
  198. package/lib/nodes/html-element/HTMLElement.js.map +1 -1
  199. package/lib/nodes/html-form-element/HTMLFormElement.d.ts +3 -3
  200. package/lib/nodes/html-form-element/HTMLFormElement.d.ts.map +1 -1
  201. package/lib/nodes/html-form-element/HTMLFormElement.js.map +1 -1
  202. package/lib/nodes/html-iframe-element/HTMLIFrameElement.d.ts +2 -2
  203. package/lib/nodes/html-iframe-element/HTMLIFrameElement.d.ts.map +1 -1
  204. package/lib/nodes/html-iframe-element/HTMLIFrameElement.js.map +1 -1
  205. package/lib/nodes/html-input-element/HTMLInputElement.d.ts +3 -3
  206. package/lib/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
  207. package/lib/nodes/html-input-element/HTMLInputElement.js.map +1 -1
  208. package/lib/nodes/html-media-element/HTMLMediaElement.d.ts +23 -23
  209. package/lib/nodes/html-media-element/HTMLMediaElement.d.ts.map +1 -1
  210. package/lib/nodes/html-media-element/HTMLMediaElement.js.map +1 -1
  211. package/lib/nodes/html-media-element/MediaStream.d.ts +2 -2
  212. package/lib/nodes/html-media-element/MediaStream.d.ts.map +1 -1
  213. package/lib/nodes/html-media-element/MediaStream.js.map +1 -1
  214. package/lib/nodes/html-media-element/MediaStreamTrack.d.ts +3 -3
  215. package/lib/nodes/html-media-element/MediaStreamTrack.d.ts.map +1 -1
  216. package/lib/nodes/html-media-element/MediaStreamTrack.js.map +1 -1
  217. package/lib/nodes/html-select-element/HTMLSelectElement.d.ts +2 -2
  218. package/lib/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
  219. package/lib/nodes/html-select-element/HTMLSelectElement.js.map +1 -1
  220. package/lib/nodes/html-slot-element/HTMLSlotElement.d.ts +1 -1
  221. package/lib/nodes/html-slot-element/HTMLSlotElement.d.ts.map +1 -1
  222. package/lib/nodes/html-slot-element/HTMLSlotElement.js.map +1 -1
  223. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.d.ts +2 -2
  224. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.d.ts.map +1 -1
  225. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js.map +1 -1
  226. package/lib/nodes/shadow-root/ShadowRoot.d.ts +1 -1
  227. package/lib/nodes/shadow-root/ShadowRoot.d.ts.map +1 -1
  228. package/lib/nodes/shadow-root/ShadowRoot.js.map +1 -1
  229. package/lib/nodes/svg-animation-element/SVGAnimationElement.d.ts +3 -3
  230. package/lib/nodes/svg-animation-element/SVGAnimationElement.d.ts.map +1 -1
  231. package/lib/nodes/svg-animation-element/SVGAnimationElement.js.map +1 -1
  232. package/lib/nodes/svg-element/SVGElement.d.ts +6 -6
  233. package/lib/nodes/svg-element/SVGElement.d.ts.map +1 -1
  234. package/lib/nodes/svg-element/SVGElement.js.map +1 -1
  235. package/lib/nodes/svg-graphics-element/SVGGraphicsElement.d.ts +3 -3
  236. package/lib/nodes/svg-graphics-element/SVGGraphicsElement.d.ts.map +1 -1
  237. package/lib/nodes/svg-graphics-element/SVGGraphicsElement.js.map +1 -1
  238. package/lib/nodes/svg-svg-element/SVGSVGElement.d.ts +18 -18
  239. package/lib/nodes/svg-svg-element/SVGSVGElement.d.ts.map +1 -1
  240. package/lib/nodes/svg-svg-element/SVGSVGElement.js.map +1 -1
  241. package/lib/query-selector/QuerySelector.d.ts.map +1 -1
  242. package/lib/query-selector/QuerySelector.js +39 -4
  243. package/lib/query-selector/QuerySelector.js.map +1 -1
  244. package/lib/query-selector/SelectorCombinatorEnum.d.ts +2 -1
  245. package/lib/query-selector/SelectorCombinatorEnum.d.ts.map +1 -1
  246. package/lib/query-selector/SelectorCombinatorEnum.js +1 -0
  247. package/lib/query-selector/SelectorCombinatorEnum.js.map +1 -1
  248. package/lib/query-selector/SelectorItem.d.ts.map +1 -1
  249. package/lib/query-selector/SelectorItem.js +2 -1
  250. package/lib/query-selector/SelectorItem.js.map +1 -1
  251. package/lib/query-selector/SelectorParser.d.ts.map +1 -1
  252. package/lib/query-selector/SelectorParser.js +8 -1
  253. package/lib/query-selector/SelectorParser.js.map +1 -1
  254. package/lib/svg/SVGAngle.d.ts +2 -2
  255. package/lib/svg/SVGAngle.d.ts.map +1 -1
  256. package/lib/svg/SVGAngle.js.map +1 -1
  257. package/lib/svg/SVGAnimatedBoolean.d.ts +2 -2
  258. package/lib/svg/SVGAnimatedBoolean.d.ts.map +1 -1
  259. package/lib/svg/SVGAnimatedBoolean.js.map +1 -1
  260. package/lib/svg/SVGAnimatedInteger.d.ts +2 -2
  261. package/lib/svg/SVGAnimatedInteger.d.ts.map +1 -1
  262. package/lib/svg/SVGAnimatedInteger.js.map +1 -1
  263. package/lib/svg/SVGAnimatedNumber.d.ts +2 -2
  264. package/lib/svg/SVGAnimatedNumber.d.ts.map +1 -1
  265. package/lib/svg/SVGAnimatedNumber.js.map +1 -1
  266. package/lib/svg/SVGAnimatedString.d.ts +2 -2
  267. package/lib/svg/SVGAnimatedString.d.ts.map +1 -1
  268. package/lib/svg/SVGAnimatedString.js.map +1 -1
  269. package/lib/svg/SVGLength.d.ts +2 -2
  270. package/lib/svg/SVGLength.d.ts.map +1 -1
  271. package/lib/svg/SVGLength.js.map +1 -1
  272. package/lib/svg/SVGLengthList.d.ts +2 -2
  273. package/lib/svg/SVGLengthList.d.ts.map +1 -1
  274. package/lib/svg/SVGLengthList.js.map +1 -1
  275. package/lib/svg/SVGMatrix.d.ts +2 -2
  276. package/lib/svg/SVGMatrix.d.ts.map +1 -1
  277. package/lib/svg/SVGMatrix.js.map +1 -1
  278. package/lib/svg/SVGNumber.d.ts +2 -2
  279. package/lib/svg/SVGNumber.d.ts.map +1 -1
  280. package/lib/svg/SVGNumber.js.map +1 -1
  281. package/lib/svg/SVGNumberList.d.ts +2 -2
  282. package/lib/svg/SVGNumberList.d.ts.map +1 -1
  283. package/lib/svg/SVGNumberList.js.map +1 -1
  284. package/lib/svg/SVGPoint.d.ts +2 -2
  285. package/lib/svg/SVGPoint.d.ts.map +1 -1
  286. package/lib/svg/SVGPoint.js.map +1 -1
  287. package/lib/svg/SVGPointList.d.ts +2 -2
  288. package/lib/svg/SVGPointList.d.ts.map +1 -1
  289. package/lib/svg/SVGPointList.js.map +1 -1
  290. package/lib/svg/SVGPreserveAspectRatio.d.ts +2 -2
  291. package/lib/svg/SVGPreserveAspectRatio.d.ts.map +1 -1
  292. package/lib/svg/SVGPreserveAspectRatio.js.map +1 -1
  293. package/lib/svg/SVGRect.d.ts +2 -2
  294. package/lib/svg/SVGRect.d.ts.map +1 -1
  295. package/lib/svg/SVGRect.js.map +1 -1
  296. package/lib/svg/SVGStringList.d.ts +2 -2
  297. package/lib/svg/SVGStringList.d.ts.map +1 -1
  298. package/lib/svg/SVGStringList.js.map +1 -1
  299. package/lib/svg/SVGTransformList.d.ts +2 -2
  300. package/lib/svg/SVGTransformList.d.ts.map +1 -1
  301. package/lib/svg/SVGTransformList.js.map +1 -1
  302. package/lib/utilities/XMLEncodeUtility.d.ts +16 -2
  303. package/lib/utilities/XMLEncodeUtility.d.ts.map +1 -1
  304. package/lib/utilities/XMLEncodeUtility.js +26 -2
  305. package/lib/utilities/XMLEncodeUtility.js.map +1 -1
  306. package/lib/xml-http-request/XMLHttpRequestEventTarget.d.ts +1 -1
  307. package/lib/xml-http-request/XMLHttpRequestEventTarget.d.ts.map +1 -1
  308. package/lib/xml-http-request/XMLHttpRequestEventTarget.js.map +1 -1
  309. package/lib/xml-parser/XMLParser.js +1 -1
  310. package/lib/xml-parser/XMLParser.js.map +1 -1
  311. package/lib/xml-serializer/XMLSerializer.js +6 -6
  312. package/lib/xml-serializer/XMLSerializer.js.map +1 -1
  313. package/package.json +1 -1
  314. package/src/async-task-manager/AsyncTaskManager.ts +1 -1
  315. package/src/browser/detached-browser/DetachedBrowser.ts +1 -1
  316. package/src/browser/utilities/BrowserExceptionObserver.ts +7 -6
  317. package/src/browser/utilities/BrowserFrameNavigator.ts +7 -7
  318. package/src/console/VirtualConsole.ts +28 -17
  319. package/src/cookie/urilities/CookieExpireUtility.ts +1 -1
  320. package/src/css/declaration/computed-style/CSSStyleDeclarationComputedStyle.ts +2 -2
  321. package/src/css/declaration/property-manager/CSSStyleDeclarationPropertyGetParser.ts +19 -19
  322. package/src/fetch/Fetch.ts +2 -2
  323. package/src/html-parser/HTMLParser.ts +1 -1
  324. package/src/html-serializer/HTMLSerializer.ts +2 -2
  325. package/src/nodes/element/Element.ts +34 -34
  326. package/src/nodes/html-body-element/HTMLBodyElement.ts +18 -18
  327. package/src/nodes/html-canvas-element/HTMLCanvasElement.ts +5 -5
  328. package/src/nodes/html-details-element/HTMLDetailsElement.ts +1 -1
  329. package/src/nodes/html-dialog-element/HTMLDialogElement.ts +2 -2
  330. package/src/nodes/html-element/HTMLElement.ts +25 -25
  331. package/src/nodes/html-form-element/HTMLFormElement.ts +3 -3
  332. package/src/nodes/html-iframe-element/HTMLIFrameElement.ts +2 -2
  333. package/src/nodes/html-input-element/HTMLInputElement.ts +3 -3
  334. package/src/nodes/html-media-element/HTMLMediaElement.ts +23 -23
  335. package/src/nodes/html-media-element/MediaStream.ts +2 -2
  336. package/src/nodes/html-media-element/MediaStreamTrack.ts +3 -3
  337. package/src/nodes/html-select-element/HTMLSelectElement.ts +2 -2
  338. package/src/nodes/html-slot-element/HTMLSlotElement.ts +1 -1
  339. package/src/nodes/html-text-area-element/HTMLTextAreaElement.ts +2 -2
  340. package/src/nodes/shadow-root/ShadowRoot.ts +1 -1
  341. package/src/nodes/svg-animation-element/SVGAnimationElement.ts +3 -3
  342. package/src/nodes/svg-element/SVGElement.ts +6 -6
  343. package/src/nodes/svg-graphics-element/SVGGraphicsElement.ts +3 -3
  344. package/src/nodes/svg-svg-element/SVGSVGElement.ts +18 -18
  345. package/src/query-selector/QuerySelector.ts +58 -4
  346. package/src/query-selector/SelectorCombinatorEnum.ts +2 -1
  347. package/src/query-selector/SelectorItem.ts +3 -1
  348. package/src/query-selector/SelectorParser.ts +8 -1
  349. package/src/svg/SVGAngle.ts +2 -2
  350. package/src/svg/SVGAnimatedBoolean.ts +2 -2
  351. package/src/svg/SVGAnimatedInteger.ts +2 -2
  352. package/src/svg/SVGAnimatedNumber.ts +2 -2
  353. package/src/svg/SVGAnimatedString.ts +2 -2
  354. package/src/svg/SVGLength.ts +2 -2
  355. package/src/svg/SVGLengthList.ts +2 -2
  356. package/src/svg/SVGMatrix.ts +2 -2
  357. package/src/svg/SVGNumber.ts +2 -2
  358. package/src/svg/SVGNumberList.ts +2 -2
  359. package/src/svg/SVGPoint.ts +2 -2
  360. package/src/svg/SVGPointList.ts +2 -2
  361. package/src/svg/SVGPreserveAspectRatio.ts +2 -2
  362. package/src/svg/SVGRect.ts +2 -2
  363. package/src/svg/SVGStringList.ts +2 -2
  364. package/src/svg/SVGTransformList.ts +2 -2
  365. package/src/utilities/XMLEncodeUtility.ts +29 -2
  366. package/src/xml-http-request/XMLHttpRequestEventTarget.ts +1 -1
  367. package/src/xml-parser/XMLParser.ts +1 -1
  368. package/src/xml-serializer/XMLSerializer.ts +6 -6
@@ -28,29 +28,29 @@ export default class HTMLMediaElement extends HTMLElement {
28
28
  public declare cloneNode: (deep?: boolean) => HTMLMediaElement;
29
29
 
30
30
  // Events
31
- public onabort: (event: Event) => void | null = null;
32
- public oncanplay: (event: Event) => void | null = null;
33
- public oncanplaythrough: (event: Event) => void | null = null;
34
- public ondurationchange: (event: Event) => void | null = null;
35
- public onemptied: (event: Event) => void | null = null;
36
- public onended: (event: Event) => void | null = null;
37
- public onerror: (event: ErrorEvent) => void | null = null;
38
- public onloadeddata: (event: Event) => void | null = null;
39
- public onloadedmetadata: (event: Event) => void | null = null;
40
- public onloadstart: (event: Event) => void | null = null;
41
- public onpause: (event: Event) => void | null = null;
42
- public onplay: (event: Event) => void | null = null;
43
- public onplaying: (event: Event) => void | null = null;
44
- public onprogress: (event: Event) => void | null = null;
45
- public onratechange: (event: Event) => void | null = null;
46
- public onresize: (event: Event) => void | null = null;
47
- public onseeked: (event: Event) => void | null = null;
48
- public onseeking: (event: Event) => void | null = null;
49
- public onstalled: (event: Event) => void | null = null;
50
- public onsuspend: (event: Event) => void | null = null;
51
- public ontimeupdate: (event: Event) => void | null = null;
52
- public onvolumechange: (event: Event) => void | null = null;
53
- public onwaiting: (event: Event) => void | null = null;
31
+ public onabort: ((event: Event) => void) | null = null;
32
+ public oncanplay: ((event: Event) => void) | null = null;
33
+ public oncanplaythrough: ((event: Event) => void) | null = null;
34
+ public ondurationchange: ((event: Event) => void) | null = null;
35
+ public onemptied: ((event: Event) => void) | null = null;
36
+ public onended: ((event: Event) => void) | null = null;
37
+ public onerror: ((event: ErrorEvent) => void) | null = null;
38
+ public onloadeddata: ((event: Event) => void) | null = null;
39
+ public onloadedmetadata: ((event: Event) => void) | null = null;
40
+ public onloadstart: ((event: Event) => void) | null = null;
41
+ public onpause: ((event: Event) => void) | null = null;
42
+ public onplay: ((event: Event) => void) | null = null;
43
+ public onplaying: ((event: Event) => void) | null = null;
44
+ public onprogress: ((event: Event) => void) | null = null;
45
+ public onratechange: ((event: Event) => void) | null = null;
46
+ public onresize: ((event: Event) => void) | null = null;
47
+ public onseeked: ((event: Event) => void) | null = null;
48
+ public onseeking: ((event: Event) => void) | null = null;
49
+ public onstalled: ((event: Event) => void) | null = null;
50
+ public onsuspend: ((event: Event) => void) | null = null;
51
+ public ontimeupdate: ((event: Event) => void) | null = null;
52
+ public onvolumechange: ((event: Event) => void) | null = null;
53
+ public onwaiting: ((event: Event) => void) | null = null;
54
54
 
55
55
  // Internal Properties
56
56
  public [PropertySymbol.volume] = 1;
@@ -15,8 +15,8 @@ export default class MediaStream extends EventTarget {
15
15
  public id: string = Crypto.randomUUID();
16
16
 
17
17
  // Events
18
- public onaddtrack: (event: MediaStreamTrackEvent) => void | null = null;
19
- public onremovetrack: (event: MediaStreamTrackEvent) => void | null = null;
18
+ public onaddtrack: ((event: MediaStreamTrackEvent) => void) | null = null;
19
+ public onremovetrack: ((event: MediaStreamTrackEvent) => void) | null = null;
20
20
 
21
21
  // Internal properties
22
22
  public [PropertySymbol.tracks]: MediaStreamTrack[] = [];
@@ -59,9 +59,9 @@ export default class MediaStreamTrack extends EventTarget {
59
59
  public [PropertySymbol.settings]: IMediaTrackSettings = JSON.parse(JSON.stringify(SETTINGS));
60
60
 
61
61
  // Events
62
- public onended: (event: Event) => void | null = null;
63
- public onmute: (event: Event) => void | null = null;
64
- public onunmute: (event: Event) => void | null = null;
62
+ public onended: ((event: Event) => void) | null = null;
63
+ public onmute: ((event: Event) => void) | null = null;
64
+ public onunmute: ((event: Event) => void) | null = null;
65
65
 
66
66
  /**
67
67
  * Constructor.
@@ -32,8 +32,8 @@ export default class HTMLSelectElement extends HTMLElement {
32
32
  public [PropertySymbol.proxy]: HTMLSelectElement;
33
33
 
34
34
  // Events
35
- public onchange: (event: Event) => void | null = null;
36
- public oninput: (event: Event) => void | null = null;
35
+ public onchange: ((event: Event) => void) | null = null;
36
+ public oninput: ((event: Event) => void) | null = null;
37
37
 
38
38
  /**
39
39
  * Constructor.
@@ -22,7 +22,7 @@ export default class HTMLSlotElement extends HTMLElement {
22
22
  public [PropertySymbol.assignedNodes]: Node[] = [];
23
23
 
24
24
  // Events
25
- public onslotchange: (event: Event) => void | null = null;
25
+ public onslotchange: ((event: Event) => void) | null = null;
26
26
 
27
27
  /**
28
28
  * Returns name.
@@ -22,8 +22,8 @@ export default class HTMLTextAreaElement extends HTMLElement {
22
22
  public readonly type = 'textarea';
23
23
 
24
24
  // Events
25
- public oninput: (event: Event) => void | null = null;
26
- public onselectionchange: (event: Event) => void | null = null;
25
+ public oninput: ((event: Event) => void) | null = null;
26
+ public onselectionchange: ((event: Event) => void) | null = null;
27
27
 
28
28
  // Internal properties
29
29
  public [PropertySymbol.validationMessage] = '';
@@ -17,7 +17,7 @@ export default class ShadowRoot extends DocumentFragment {
17
17
  public declare cloneNode: (deep?: boolean) => ShadowRoot;
18
18
 
19
19
  // Events
20
- public onslotchange: (event: Event) => void | null = null;
20
+ public onslotchange: ((event: Event) => void) | null = null;
21
21
 
22
22
  // Internal properties
23
23
  public [PropertySymbol.adoptedStyleSheets]: CSSStyleSheet[] = [];
@@ -14,9 +14,9 @@ export default class SVGAnimationElement extends SVGElement {
14
14
  public [PropertySymbol.systemLanguage]: SVGStringList | null = null;
15
15
 
16
16
  // Events
17
- public onbegin: (event: Event) => void | null = null;
18
- public onend: (event: Event) => void | null = null;
19
- public onrepeat: (event: Event) => void | null = null;
17
+ public onbegin: ((event: Event) => void) | null = null;
18
+ public onend: ((event: Event) => void) | null = null;
19
+ public onrepeat: ((event: Event) => void) | null = null;
20
20
 
21
21
  /**
22
22
  * Returns required extensions.
@@ -14,12 +14,12 @@ import DOMStringMap from '../../dom/DOMStringMap.js';
14
14
  */
15
15
  export default class SVGElement extends Element {
16
16
  // Events
17
- public onabort: (event: Event) => void | null = null;
18
- public onerror: (event: Event) => void | null = null;
19
- public onload: (event: Event) => void | null = null;
20
- public onresize: (event: Event) => void | null = null;
21
- public onscroll: (event: Event) => void | null = null;
22
- public onunload: (event: Event) => void | null = null;
17
+ public onabort: ((event: Event) => void) | null = null;
18
+ public onerror: ((event: Event) => void) | null = null;
19
+ public onload: ((event: Event) => void) | null = null;
20
+ public onresize: ((event: Event) => void) | null = null;
21
+ public onscroll: ((event: Event) => void) | null = null;
22
+ public onunload: ((event: Event) => void) | null = null;
23
23
 
24
24
  // Internal properties
25
25
  public [PropertySymbol.style]: CSSStyleDeclaration | null = null;
@@ -18,9 +18,9 @@ export default class SVGGraphicsElement extends SVGElement {
18
18
  public [PropertySymbol.transform]: SVGAnimatedTransformList | null = null;
19
19
 
20
20
  // Events
21
- public oncopy: (event: Event) => void | null = null;
22
- public oncut: (event: Event) => void | null = null;
23
- public onpaste: (event: Event) => void | null = null;
21
+ public oncopy: ((event: Event) => void) | null = null;
22
+ public oncut: ((event: Event) => void) | null = null;
23
+ public onpaste: ((event: Event) => void) | null = null;
24
24
 
25
25
  /**
26
26
  * Returns required extensions.
@@ -38,24 +38,24 @@ export default class SVGSVGElement extends SVGGraphicsElement {
38
38
  public declare cloneNode: (deep?: boolean) => SVGSVGElement;
39
39
 
40
40
  // Events
41
- public onafterprint: (event: Event) => void | null = null;
42
- public onbeforeprint: (event: Event) => void | null = null;
43
- public onbeforeunload: (event: Event) => void | null = null;
44
- public ongamepadconnected: (event: Event) => void | null = null;
45
- public ongamepaddisconnected: (event: Event) => void | null = null;
46
- public onhashchange: (event: Event) => void | null = null;
47
- public onlanguagechange: (event: Event) => void | null = null;
48
- public onmessage: (event: Event) => void | null = null;
49
- public onmessageerror: (event: Event) => void | null = null;
50
- public onoffline: (event: Event) => void | null = null;
51
- public ononline: (event: Event) => void | null = null;
52
- public onpagehide: (event: Event) => void | null = null;
53
- public onpageshow: (event: Event) => void | null = null;
54
- public onpopstate: (event: Event) => void | null = null;
55
- public onrejectionhandled: (event: Event) => void | null = null;
56
- public onstorage: (event: Event) => void | null = null;
57
- public onunhandledrejection: (event: Event) => void | null = null;
58
- public onunload: (event: Event) => void | null = null;
41
+ public onafterprint: ((event: Event) => void) | null = null;
42
+ public onbeforeprint: ((event: Event) => void) | null = null;
43
+ public onbeforeunload: ((event: Event) => void) | null = null;
44
+ public ongamepadconnected: ((event: Event) => void) | null = null;
45
+ public ongamepaddisconnected: ((event: Event) => void) | null = null;
46
+ public onhashchange: ((event: Event) => void) | null = null;
47
+ public onlanguagechange: ((event: Event) => void) | null = null;
48
+ public onmessage: ((event: Event) => void) | null = null;
49
+ public onmessageerror: ((event: Event) => void) | null = null;
50
+ public onoffline: ((event: Event) => void) | null = null;
51
+ public ononline: ((event: Event) => void) | null = null;
52
+ public onpagehide: ((event: Event) => void) | null = null;
53
+ public onpageshow: ((event: Event) => void) | null = null;
54
+ public onpopstate: ((event: Event) => void) | null = null;
55
+ public onrejectionhandled: ((event: Event) => void) | null = null;
56
+ public onstorage: ((event: Event) => void) | null = null;
57
+ public onunhandledrejection: ((event: Event) => void) | null = null;
58
+ public onunload: ((event: Event) => void) | null = null;
59
59
 
60
60
  /**
61
61
  * Returns preserve aspect ratio.
@@ -387,6 +387,7 @@ export default class QuerySelector {
387
387
  const previousElementSibling = element.previousElementSibling;
388
388
  if (previousElementSibling) {
389
389
  previousElementSibling[PropertySymbol.affectsCache].push(cachedItem);
390
+
390
391
  const match = this.matchSelector(
391
392
  previousElementSibling,
392
393
  selectorItems.slice(1),
@@ -419,6 +420,33 @@ export default class QuerySelector {
419
420
  }
420
421
  }
421
422
  break;
423
+ case SelectorCombinatorEnum.subsequentSibling:
424
+ const siblingParentElement = element.parentElement;
425
+ if (siblingParentElement) {
426
+ const siblings = siblingParentElement[PropertySymbol.elementArray];
427
+ const index = siblings.indexOf(element);
428
+
429
+ siblingParentElement[PropertySymbol.affectsCache].push(cachedItem);
430
+
431
+ for (let i = index - 1; i >= 0; i--) {
432
+ const sibling = siblings[i];
433
+
434
+ sibling[PropertySymbol.affectsCache].push(cachedItem);
435
+
436
+ const match = this.matchSelector(
437
+ sibling,
438
+ selectorItems.slice(1),
439
+ cachedItem,
440
+ selectorItem,
441
+ priorityWeight + result.priorityWeight
442
+ );
443
+
444
+ if (match) {
445
+ return match;
446
+ }
447
+ }
448
+ }
449
+ break;
422
450
  }
423
451
  }
424
452
 
@@ -477,11 +505,12 @@ export default class QuerySelector {
477
505
  } else {
478
506
  switch (nextSelectorItem.combinator) {
479
507
  case SelectorCombinatorEnum.adjacentSibling:
480
- if (child.nextElementSibling) {
508
+ const nextElementSibling = child.nextElementSibling;
509
+ if (nextElementSibling) {
481
510
  matched = matched.concat(
482
511
  this.findAll(
483
512
  rootElement,
484
- [child.nextElementSibling],
513
+ [nextElementSibling],
485
514
  selectorItems.slice(1),
486
515
  cachedItem,
487
516
  position
@@ -501,6 +530,15 @@ export default class QuerySelector {
501
530
  )
502
531
  );
503
532
  break;
533
+ case SelectorCombinatorEnum.subsequentSibling:
534
+ const index = children.indexOf(child);
535
+ for (let j = index + 1; j < children.length; j++) {
536
+ const sibling = children[j];
537
+ matched = matched.concat(
538
+ this.findAll(rootElement, [sibling], selectorItems.slice(1), cachedItem, position)
539
+ );
540
+ }
541
+ break;
504
542
  }
505
543
  }
506
544
  }
@@ -546,10 +584,11 @@ export default class QuerySelector {
546
584
  } else {
547
585
  switch (nextSelectorItem.combinator) {
548
586
  case SelectorCombinatorEnum.adjacentSibling:
549
- if (child.nextElementSibling) {
587
+ const nextElementSibling = child.nextElementSibling;
588
+ if (nextElementSibling) {
550
589
  const match = this.findFirst(
551
590
  rootElement,
552
- [child.nextElementSibling],
591
+ [nextElementSibling],
553
592
  selectorItems.slice(1),
554
593
  cachedItem
555
594
  );
@@ -570,6 +609,21 @@ export default class QuerySelector {
570
609
  return match;
571
610
  }
572
611
  break;
612
+ case SelectorCombinatorEnum.subsequentSibling:
613
+ const index = children.indexOf(child);
614
+ for (let i = index + 1; i < children.length; i++) {
615
+ const sibling = children[i];
616
+ const match = this.findFirst(
617
+ rootElement,
618
+ [sibling],
619
+ selectorItems.slice(1),
620
+ cachedItem
621
+ );
622
+ if (match) {
623
+ return match;
624
+ }
625
+ }
626
+ break;
573
627
  }
574
628
  }
575
629
  }
@@ -1,7 +1,8 @@
1
1
  enum SelectorCombinatorEnum {
2
2
  descendant = 'descendant',
3
3
  child = 'child',
4
- adjacentSibling = 'adjacentSibling'
4
+ adjacentSibling = 'adjacentSibling',
5
+ subsequentSibling = 'subsequentSibling'
5
6
  }
6
7
 
7
8
  export default SelectorCombinatorEnum;
@@ -7,6 +7,8 @@ import ISelectorAttribute from './ISelectorAttribute.js';
7
7
  import ISelectorMatch from './ISelectorMatch.js';
8
8
  import ISelectorPseudo from './ISelectorPseudo.js';
9
9
 
10
+ const SPACE_REGEXP = /\s+/;
11
+
10
12
  /**
11
13
  * Selector item.
12
14
  */
@@ -417,7 +419,7 @@ export default class SelectorItem {
417
419
  return null;
418
420
  }
419
421
 
420
- const classList = element.className.split(' ');
422
+ const classList = element.className.split(SPACE_REGEXP);
421
423
  let priorityWeight = 0;
422
424
 
423
425
  for (const className of this.classNames) {
@@ -25,7 +25,7 @@ import ISelectorPseudo from './ISelectorPseudo.js';
25
25
  * Group 17: Combinator.
26
26
  */
27
27
  const SELECTOR_REGEXP =
28
- /(\*)|([a-zA-Z0-9-]+)|#((?:[a-zA-Z0-9-_]|\\.)+)|\.((?:[a-zA-Z0-9-_]|\\.)+)|\[([a-zA-Z0-9-_\\:]+)\]|\[([a-zA-Z0-9-_\\:]+)\s*([~|^$*]{0,1})\s*=\s*["']{1}([^"']*)["']{1}\s*(s|i){0,1}\]|\[([a-zA-Z0-9-_]+)\s*([~|^$*]{0,1})\s*=\s*([^\]]*)\]|:([a-zA-Z-]+)\s*\(([^)]+)\){0,1}|:([a-zA-Z-]+)|::([a-zA-Z-]+)|([\s,+>]*)/gm;
28
+ /(\*)|([a-zA-Z0-9-]+)|#((?:[a-zA-Z0-9-_]|\\.)+)|\.((?:[a-zA-Z0-9-_]|\\.)+)|\[([a-zA-Z0-9-_\\:]+)\]|\[([a-zA-Z0-9-_\\:]+)\s*([~|^$*]{0,1})\s*=\s*["']{1}([^"']*)["']{1}\s*(s|i){0,1}\]|\[([a-zA-Z0-9-_]+)\s*([~|^$*]{0,1})\s*=\s*([^\]]*)\]|:([a-zA-Z-]+)\s*\(([^)]+)\){0,1}|:([a-zA-Z-]+)|::([a-zA-Z-]+)|([\s,+>~]*)/gm;
29
29
 
30
30
  /**
31
31
  * Escaped Character RegExp.
@@ -193,6 +193,13 @@ export default class SelectorParser {
193
193
  });
194
194
  currentGroup.push(currentSelectorItem);
195
195
  break;
196
+ case '~':
197
+ currentSelectorItem = new SelectorItem({
198
+ combinator: SelectorCombinatorEnum.subsequentSibling,
199
+ ignoreErrors
200
+ });
201
+ currentGroup.push(currentSelectorItem);
202
+ break;
196
203
  case '':
197
204
  currentSelectorItem = new SelectorItem({
198
205
  combinator: SelectorCombinatorEnum.descendant,
@@ -19,8 +19,8 @@ export default class SVGAngle {
19
19
 
20
20
  // Internal properties
21
21
  public [PropertySymbol.window]: BrowserWindow;
22
- public [PropertySymbol.getAttribute]: () => string | null = null;
23
- public [PropertySymbol.setAttribute]: (value: string) => void | null = null;
22
+ public [PropertySymbol.getAttribute]: (() => string | null) | null = null;
23
+ public [PropertySymbol.setAttribute]: ((value: string) => void) | null = null;
24
24
  public [PropertySymbol.attributeValue]: string = '';
25
25
  public [PropertySymbol.readOnly]: boolean = false;
26
26
 
@@ -9,8 +9,8 @@ import BrowserWindow from '../window/BrowserWindow.js';
9
9
  export default class SVGAnimatedBoolean {
10
10
  // Internal properties
11
11
  public [PropertySymbol.window]: BrowserWindow;
12
- public [PropertySymbol.getAttribute]: () => string | null = null;
13
- public [PropertySymbol.setAttribute]: (value: string) => void | null = null;
12
+ public [PropertySymbol.getAttribute]: (() => string | null) | null = null;
13
+ public [PropertySymbol.setAttribute]: ((value: string) => void) | null = null;
14
14
 
15
15
  /**
16
16
  * Constructor.
@@ -9,8 +9,8 @@ import BrowserWindow from '../window/BrowserWindow.js';
9
9
  export default class SVGAnimatedInteger {
10
10
  // Internal properties
11
11
  public [PropertySymbol.window]: BrowserWindow;
12
- public [PropertySymbol.getAttribute]: () => string | null = null;
13
- public [PropertySymbol.setAttribute]: (value: string) => void | null = null;
12
+ public [PropertySymbol.getAttribute]: (() => string | null) | null = null;
13
+ public [PropertySymbol.setAttribute]: ((value: string) => void) | null = null;
14
14
 
15
15
  /**
16
16
  * Constructor.
@@ -9,8 +9,8 @@ import BrowserWindow from '../window/BrowserWindow.js';
9
9
  export default class SVGAnimatedNumber {
10
10
  // Internal properties
11
11
  public [PropertySymbol.window]: BrowserWindow;
12
- public [PropertySymbol.getAttribute]: () => string | null = null;
13
- public [PropertySymbol.setAttribute]: (value: string) => void | null = null;
12
+ public [PropertySymbol.getAttribute]: (() => string | null) | null = null;
13
+ public [PropertySymbol.setAttribute]: ((value: string) => void) | null = null;
14
14
  public [PropertySymbol.defaultValue]: number = 0;
15
15
 
16
16
  /**
@@ -9,8 +9,8 @@ import BrowserWindow from '../window/BrowserWindow.js';
9
9
  export default class SVGAnimatedString {
10
10
  // Internal properties
11
11
  public [PropertySymbol.window]: BrowserWindow;
12
- public [PropertySymbol.getAttribute]: () => string | null = null;
13
- public [PropertySymbol.setAttribute]: (value: string) => void | null = null;
12
+ public [PropertySymbol.getAttribute]: (() => string | null) | null = null;
13
+ public [PropertySymbol.setAttribute]: ((value: string) => void) | null = null;
14
14
 
15
15
  /**
16
16
  * Constructor.
@@ -25,8 +25,8 @@ export default class SVGLength {
25
25
 
26
26
  // Internal properties
27
27
  public [PropertySymbol.window]: BrowserWindow;
28
- public [PropertySymbol.getAttribute]: () => string | null = null;
29
- public [PropertySymbol.setAttribute]: (value: string) => void | null = null;
28
+ public [PropertySymbol.getAttribute]: (() => string | null) | null = null;
29
+ public [PropertySymbol.setAttribute]: ((value: string) => void) | null = null;
30
30
  public [PropertySymbol.attributeValue]: string | null = null;
31
31
  public [PropertySymbol.readOnly]: boolean = false;
32
32
 
@@ -15,8 +15,8 @@ export default class SVGLengthList {
15
15
  [index: number]: SVGLength;
16
16
 
17
17
  public [PropertySymbol.window]: BrowserWindow;
18
- public [PropertySymbol.getAttribute]: () => string | null = null;
19
- public [PropertySymbol.setAttribute]: (value: string) => void | null = null;
18
+ public [PropertySymbol.getAttribute]: (() => string | null) | null = null;
19
+ public [PropertySymbol.setAttribute]: ((value: string) => void) | null = null;
20
20
  public [PropertySymbol.readOnly]: boolean = false;
21
21
  private [PropertySymbol.cache]: { items: SVGLength[]; attributeValue: string } = {
22
22
  items: [],
@@ -13,8 +13,8 @@ const TRANSFORM_PARAMETER_SPLIT_REGEXP = /[\s,]+/;
13
13
  export default class SVGMatrix {
14
14
  // Internal properties
15
15
  public [PropertySymbol.window]: BrowserWindow;
16
- public [PropertySymbol.getAttribute]: () => string | null = null;
17
- public [PropertySymbol.setAttribute]: (value: string) => void | null = null;
16
+ public [PropertySymbol.getAttribute]: (() => string | null) | null = null;
17
+ public [PropertySymbol.setAttribute]: ((value: string) => void) | null = null;
18
18
  public [PropertySymbol.attributeValue]: string | null = null;
19
19
  public [PropertySymbol.readOnly]: boolean = false;
20
20
 
@@ -9,8 +9,8 @@ import BrowserWindow from '../window/BrowserWindow.js';
9
9
  export default class SVGNumber {
10
10
  // Internal properties
11
11
  public [PropertySymbol.window]: BrowserWindow;
12
- public [PropertySymbol.getAttribute]: () => string | null = null;
13
- public [PropertySymbol.setAttribute]: (value: string) => void | null = null;
12
+ public [PropertySymbol.getAttribute]: (() => string | null) | null = null;
13
+ public [PropertySymbol.setAttribute]: ((value: string) => void) | null = null;
14
14
  public [PropertySymbol.attributeValue]: string | null = null;
15
15
  public [PropertySymbol.readOnly]: boolean = false;
16
16
 
@@ -15,8 +15,8 @@ export default class SVGNumberList {
15
15
  [index: number]: SVGNumber;
16
16
 
17
17
  public [PropertySymbol.window]: BrowserWindow;
18
- public [PropertySymbol.getAttribute]: () => string | null = null;
19
- public [PropertySymbol.setAttribute]: (value: string) => void | null = null;
18
+ public [PropertySymbol.getAttribute]: (() => string | null) | null = null;
19
+ public [PropertySymbol.setAttribute]: ((value: string) => void) | null = null;
20
20
  public [PropertySymbol.readOnly]: boolean = false;
21
21
  private [PropertySymbol.cache]: { items: SVGNumber[]; attributeValue: string } = {
22
22
  items: [],
@@ -11,8 +11,8 @@ const ATTRIBUTE_SEPARATOR_REGEXP = /[\t\f\n\r, ]+/;
11
11
  export default class SVGPoint {
12
12
  // Internal properties
13
13
  public [PropertySymbol.window]: BrowserWindow;
14
- public [PropertySymbol.getAttribute]: () => string | null = null;
15
- public [PropertySymbol.setAttribute]: (value: string) => void | null = null;
14
+ public [PropertySymbol.getAttribute]: (() => string | null) | null = null;
15
+ public [PropertySymbol.setAttribute]: ((value: string) => void) | null = null;
16
16
  public [PropertySymbol.attributeValue]: string | null = null;
17
17
  public [PropertySymbol.readOnly]: boolean = false;
18
18
 
@@ -15,8 +15,8 @@ export default class SVGPointList {
15
15
  [index: number]: SVGPoint;
16
16
 
17
17
  public [PropertySymbol.window]: BrowserWindow;
18
- public [PropertySymbol.getAttribute]: () => string | null = null;
19
- public [PropertySymbol.setAttribute]: (value: string) => void | null = null;
18
+ public [PropertySymbol.getAttribute]: (() => string | null) | null = null;
19
+ public [PropertySymbol.setAttribute]: ((value: string) => void) | null = null;
20
20
  public [PropertySymbol.readOnly]: boolean = false;
21
21
  private [PropertySymbol.cache]: { items: SVGPoint[]; attributeValue: string } = {
22
22
  items: [],
@@ -33,8 +33,8 @@ export default class SVGPreserveAspectRatio {
33
33
 
34
34
  // Internal properties
35
35
  public [PropertySymbol.window]: BrowserWindow;
36
- public [PropertySymbol.getAttribute]: () => string | null = null;
37
- public [PropertySymbol.setAttribute]: (value: string) => void | null = null;
36
+ public [PropertySymbol.getAttribute]: (() => string | null) | null = null;
37
+ public [PropertySymbol.setAttribute]: ((value: string) => void) | null = null;
38
38
  public [PropertySymbol.attributeValue]: string | null = null;
39
39
  public [PropertySymbol.readOnly]: boolean = false;
40
40
 
@@ -9,8 +9,8 @@ import BrowserWindow from '../window/BrowserWindow.js';
9
9
  export default class SVGRect {
10
10
  // Internal properties
11
11
  public [PropertySymbol.window]: BrowserWindow;
12
- public [PropertySymbol.getAttribute]: () => string | null = null;
13
- public [PropertySymbol.setAttribute]: (value: string) => void | null = null;
12
+ public [PropertySymbol.getAttribute]: (() => string | null) | null = null;
13
+ public [PropertySymbol.setAttribute]: ((value: string) => void) | null = null;
14
14
  public [PropertySymbol.attributeValue]: string | null = null;
15
15
  public [PropertySymbol.readOnly]: boolean = false;
16
16
 
@@ -14,8 +14,8 @@ export default class SVGStringList {
14
14
  [index: number]: string;
15
15
 
16
16
  public [PropertySymbol.window]: BrowserWindow;
17
- public [PropertySymbol.getAttribute]: () => string | null = null;
18
- public [PropertySymbol.setAttribute]: (value: string) => void | null = null;
17
+ public [PropertySymbol.getAttribute]: (() => string | null) | null = null;
18
+ public [PropertySymbol.setAttribute]: ((value: string) => void) | null = null;
19
19
  public [PropertySymbol.readOnly]: boolean = false;
20
20
  private [PropertySymbol.cache]: { items: string[]; attributeValue: string } = {
21
21
  items: [],
@@ -16,8 +16,8 @@ export default class SVGTransformList {
16
16
  [index: number]: SVGTransform;
17
17
 
18
18
  public [PropertySymbol.window]: BrowserWindow;
19
- public [PropertySymbol.getAttribute]: () => string | null = null;
20
- public [PropertySymbol.setAttribute]: (value: string) => void | null = null;
19
+ public [PropertySymbol.getAttribute]: (() => string | null) | null = null;
20
+ public [PropertySymbol.setAttribute]: ((value: string) => void) | null = null;
21
21
  public [PropertySymbol.readOnly]: boolean = false;
22
22
  private [PropertySymbol.cache]: { items: SVGTransform[]; attributeValue: string } = {
23
23
  items: [],
@@ -8,7 +8,7 @@ export default class XMLEncodeUtility {
8
8
  * @param value Value.
9
9
  * @returns Escaped value.
10
10
  */
11
- public static encodeAttributeValue(value: string | null): string {
11
+ public static encodeXMLAttributeValue(value: string | null): string {
12
12
  if (value === null) {
13
13
  return '';
14
14
  }
@@ -28,7 +28,7 @@ export default class XMLEncodeUtility {
28
28
  * @param value Value.
29
29
  * @returns Decoded value.
30
30
  */
31
- public static decodeAttributeValue(value: string | null): string {
31
+ public static decodeXMLAttributeValue(value: string | null): string {
32
32
  if (value === null) {
33
33
  return '';
34
34
  }
@@ -43,6 +43,33 @@ export default class XMLEncodeUtility {
43
43
  .replace(/&amp;/gu, '&');
44
44
  }
45
45
 
46
+ /**
47
+ * Encodes attribute value.
48
+ *
49
+ * @param value Value.
50
+ * @returns Escaped value.
51
+ */
52
+ public static encodeHTMLAttributeValue(value: string | null): string {
53
+ if (value === null) {
54
+ return '';
55
+ }
56
+ return value.replace(/&/gu, '&amp;').replace(/"/gu, '&quot;');
57
+ }
58
+
59
+ /**
60
+ * Decodes attribute value.
61
+ *
62
+ * @param value Value.
63
+ * @returns Decoded value.
64
+ */
65
+ public static decodeHTMLAttributeValue(value: string | null): string {
66
+ if (value === null) {
67
+ return '';
68
+ }
69
+
70
+ return value.replace(/&quot;/gu, '"').replace(/&amp;/gu, '&');
71
+ }
72
+
46
73
  /**
47
74
  * Encodes text content.
48
75
  *
@@ -9,7 +9,7 @@ export type ProgressEventListener = (event: ProgressEvent) => void;
9
9
  export default class XMLHttpRequestEventTarget extends EventTarget {
10
10
  public onloadstart: ProgressEventListener | null = null;
11
11
  public onprogress: ProgressEventListener | null = null;
12
- public onabort: (event: ProgressEvent) => void | null = null;
12
+ public onabort: ((event: ProgressEvent) => void) | null = null;
13
13
  public onerror: ProgressEventListener | null = null;
14
14
  public onload: ProgressEventListener | null = null;
15
15
  public ontimeout: ProgressEventListener | null = null;