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