diff --git a/index.html b/index.html
index 3c778dc..da51d1b 100644
--- a/index.html
+++ b/index.html
@@ -4,9 +4,9 @@
HTML Sanitizer API
-
+
-
+
-
HTML Sanitizer API
-
Draft Community Group Report , 25 June 2024
+
Draft Community Group Report , 18 September 2024
This version:
@@ -943,7 +828,7 @@ 1. Element 's innerHTML
is fraught with risk, as it can cause
+an Element
's innerHTML
is fraught with risk, as it can cause
JavaScript execution in a number of unexpected ways.
Libraries like [DOMPURIFY] attempt to manage this problem by carefully
parsing and sanitizing strings before insertion, by constructing a DOM and
@@ -983,7 +868,7 @@
Element and ShadowRoot
and will
-replace these Node
's children, and are largely analogous to innerHTML
.
+replace these Node
's children, and are largely analogous to innerHTML
.
There are also static methods on the Document
, which parse an entire
document are largely analogous to DOMParser
.parseFromString()
.
@@ -996,22 +881,22 @@ CEReactions ] undefined setHTML
(DOMString html
, optional SetHTMLOptions options
= {});
};
-
-
Element
's
setHTMLUnsafe (
html ,
options ) method steps are:
+
-
-
Element
's
setHTML (
html ,
options ) method steps are:
+
+
Element
's
setHTML (
html ,
options ) method steps are:
- Let target be this 's template contents if this is a template
; otherwise this .
+ Let target be this 's template contents if this is a template
; otherwise this .
Set and filter HTML given target , this , html , options , and true.
@@ -1022,8 +907,8 @@
ShadowRoot :
-
-
ShadowRoot
's
setHTMLUnsafe (
html ,
options ) method steps are:
+
+
ShadowRoot
's
setHTMLUnsafe (
html ,
options ) method steps are:
Let compliantHTML be the result of invoking the Get Trusted Type compliant string algorithm with TrustedHTML
, this 's relevant global object , html , "ShadowRoot setHTMLUnsafe", and "script".
@@ -1031,8 +916,8 @@ Set and filter HTML using this , this 's shadow host (as context element), compliantHTML , options , and false.
-
-
ShadowRoot
's
setHTML (
html ,
options ) method steps are:
+
+
ShadowRoot
's
setHTML (
html ,
options ) method steps are:
Set and filter HTML using this (as target), this (as context element), html , options , and true.
@@ -1044,8 +929,8 @@ Document parseHTML
(DOMString html
, optional SetHTMLOptions options
= {});
};
-
- The
parseHTMLUnsafe (
html ,
options ) method steps are:
+
+ The
parseHTMLUnsafe (
html ,
options ) method steps are:
Let compliantHTML be the result of invoking the Get Trusted Type compliant string algorithm with TrustedHTML
, this 's relevant global object , html , "Document parseHTMLUnsafe", and "script".
@@ -1065,8 +950,8 @@
- The parseHTML (html , options ) method steps are:
+
+ The
parseHTML (
html ,
options ) method steps are:
Let document be a new Document
, whose content type is "text/html".
@@ -1267,7 +1152,7 @@ namespace" → HTML namespace ]»
- Then call sanitize on child ’s template contents with config .
+ Then call sanitize on child ’s template contents with config .
If child is a shadow host :
@@ -1886,10 +1771,10 @@ dict-member for SanitizerElementNamespace, in § 2.3
navigating URL attributes list , in § 3.4
- parseHTML , in § 2.1
+ parseHTML , in § 2.1
parseHTML(html) , in § 2.1
parseHTML(html, options) , in § 2.1
- parseHTMLUnsafe , in § 2.1
+ parseHTMLUnsafe , in § 2.1
parseHTMLUnsafe(html) , in § 2.1
parseHTMLUnsafe(html, options) , in § 2.1
@@ -1916,8 +1801,8 @@ dfn for DOM/Element, in § 2.1
- dfn for DOM/ShadowRoot , in § 2.1
+ dfn for Element , in § 2.1
+ dfn for ShadowRoot , in § 2.1
setHTML(html)
@@ -1935,8 +1820,8 @@ dfn for DOM/Element, in § 2.1
- dfn for DOM/ShadowRoot , in § 2.1
+ dfn for Element , in § 2.1
+ dfn for ShadowRoot , in § 2.1
setHTMLUnsafe(html)
@@ -1962,10 +1847,8 @@
[] defines the following terms:
- innerHTML
internal slot
parse html from a string
- template contents
window.toStaticHTML()
@@ -2001,8 +1884,10 @@ DOMParser
HTMLTemplateElement
fragment parsing algorithm steps
+ innerHTML
parseFromString(string, type)
relevant global object
+ template contents
[INFRA] defines the following terms:
@@ -2334,7 +2219,6 @@ I
"03afaf9c": {"dfnID":"03afaf9c","dfnText":"empty","external":true,"refSections":[{"refs":[{"id":"ref-for-list-empty"}],"title":"2.1. Sanitizer API"},{"refs":[{"id":"ref-for-list-empty\u2460"}],"title":"3. Algorithms"},{"refs":[{"id":"ref-for-list-empty\u2461"},{"id":"ref-for-list-empty\u2462"},{"id":"ref-for-list-empty\u2463"},{"id":"ref-for-list-empty\u2464"},{"id":"ref-for-list-empty\u2465"},{"id":"ref-for-list-empty\u2466"}],"title":"3.2. Configuration Processing"}],"url":"https://infra.spec.whatwg.org/#list-empty"},
"0698d556": {"dfnID":"0698d556","dfnText":"string","external":true,"refSections":[{"refs":[{"id":"ref-for-string"}],"title":"3. Algorithms"},{"refs":[{"id":"ref-for-string\u2460"},{"id":"ref-for-string\u2461"}],"title":"3.2. Configuration Processing"}],"url":"https://infra.spec.whatwg.org/#string"},
"0e0b900e": {"dfnID":"0e0b900e","dfnText":"remove","external":true,"refSections":[{"refs":[{"id":"ref-for-concept-node-remove"},{"id":"ref-for-concept-node-remove\u2460"},{"id":"ref-for-concept-node-remove\u2461"},{"id":"ref-for-concept-node-remove\u2462"}],"title":"3.1. Sanitization Algorithms"}],"url":"https://dom.spec.whatwg.org/#concept-node-remove"},
-"10e9aa8a": {"dfnID":"10e9aa8a","dfnText":"innerHTML","external":true,"refSections":[{"refs":[{"id":"ref-for-dom-element-innerhtml"}],"title":"1. Introduction"},{"refs":[{"id":"ref-for-dom-element-innerhtml\u2460"}],"title":"1.2. API Summary"}],"url":"https://html.spec.whatwg.org/#dom-element-innerhtml"},
"1243a891": {"dfnID":"1243a891","dfnText":"exist","external":true,"refSections":[{"refs":[{"id":"ref-for-map-exists"}],"title":"3. Algorithms"},{"refs":[{"id":"ref-for-map-exists\u2460"},{"id":"ref-for-map-exists\u2461"},{"id":"ref-for-map-exists\u2462"},{"id":"ref-for-map-exists\u2463"},{"id":"ref-for-map-exists\u2464"},{"id":"ref-for-map-exists\u2465"},{"id":"ref-for-map-exists\u2466"},{"id":"ref-for-map-exists\u2467"},{"id":"ref-for-map-exists\u2468"},{"id":"ref-for-map-exists\u2460\u24ea"},{"id":"ref-for-map-exists\u2460\u2460"},{"id":"ref-for-map-exists\u2460\u2461"},{"id":"ref-for-map-exists\u2460\u2462"},{"id":"ref-for-map-exists\u2460\u2463"},{"id":"ref-for-map-exists\u2460\u2464"},{"id":"ref-for-map-exists\u2460\u2465"},{"id":"ref-for-map-exists\u2460\u2466"}],"title":"3.2. Configuration Processing"}],"url":"https://infra.spec.whatwg.org/#map-exists"},
"12d6b9a8": {"dfnID":"12d6b9a8","dfnText":"values","external":true,"refSections":[{"refs":[{"id":"ref-for-map-getting-the-values"}],"title":"3.2. Configuration Processing"}],"url":"https://infra.spec.whatwg.org/#map-getting-the-values"},
"1a897bae": {"dfnID":"1a897bae","dfnText":"Get Trusted Type compliant string","external":true,"refSections":[{"refs":[{"id":"ref-for-abstract-opdef-get-trusted-type-compliant-string"},{"id":"ref-for-abstract-opdef-get-trusted-type-compliant-string\u2460"},{"id":"ref-for-abstract-opdef-get-trusted-type-compliant-string\u2461"}],"title":"2.1. Sanitizer API"}],"url":"https://w3c.github.io/trusted-types/dist/spec/#abstract-opdef-get-trusted-type-compliant-string"},
@@ -2343,6 +2227,7 @@ I
"31db57e6": {"dfnID":"31db57e6","dfnText":"keys","external":true,"refSections":[{"refs":[{"id":"ref-for-map-getting-the-keys"},{"id":"ref-for-map-getting-the-keys\u2460"},{"id":"ref-for-map-getting-the-keys\u2461"},{"id":"ref-for-map-getting-the-keys\u2462"},{"id":"ref-for-map-getting-the-keys\u2463"},{"id":"ref-for-map-getting-the-keys\u2464"}],"title":"3.2. Configuration Processing"}],"url":"https://infra.spec.whatwg.org/#map-getting-the-keys"},
"35feaa5b": {"dfnID":"35feaa5b","dfnText":"superset","external":true,"refSections":[{"refs":[{"id":"ref-for-set-superset"},{"id":"ref-for-set-superset\u2460"}],"title":"3.3. Supporting Algorithms"}],"url":"https://infra.spec.whatwg.org/#set-superset"},
"36858240": {"dfnID":"36858240","dfnText":"boolean","external":true,"refSections":[{"refs":[{"id":"ref-for-boolean"}],"title":"3. Algorithms"},{"refs":[{"id":"ref-for-boolean\u2460"}],"title":"3.2. Configuration Processing"}],"url":"https://infra.spec.whatwg.org/#boolean"},
+"3e7fc2a2": {"dfnID":"3e7fc2a2","dfnText":"template contents","external":true,"refSections":[{"refs":[{"id":"ref-for-template-contents"},{"id":"ref-for-template-contents\u2460"}],"title":"2.1. Sanitizer API"},{"refs":[{"id":"ref-for-template-contents\u2461"}],"title":"3.1. Sanitization Algorithms"}],"url":"https://html.spec.whatwg.org/multipage/scripting.html#template-contents"},
"3f23ec71": {"dfnID":"3f23ec71","dfnText":"content type","external":true,"refSections":[{"refs":[{"id":"ref-for-concept-document-content-type"},{"id":"ref-for-concept-document-content-type\u2460"}],"title":"2.1. Sanitizer API"}],"url":"https://dom.spec.whatwg.org/#concept-document-content-type"},
"4013a022": {"dfnID":"4013a022","dfnText":"this","external":true,"refSections":[{"refs":[{"id":"ref-for-this"},{"id":"ref-for-this\u2460"},{"id":"ref-for-this\u2461"},{"id":"ref-for-this\u2462"},{"id":"ref-for-this\u2463"},{"id":"ref-for-this\u2464"},{"id":"ref-for-this\u2465"},{"id":"ref-for-this\u2466"},{"id":"ref-for-this\u2467"},{"id":"ref-for-this\u2468"},{"id":"ref-for-this\u2460\u24ea"},{"id":"ref-for-this\u2460\u2460"},{"id":"ref-for-this\u2460\u2461"},{"id":"ref-for-this\u2460\u2462"},{"id":"ref-for-this\u2460\u2463"}],"title":"2.1. Sanitizer API"},{"refs":[{"id":"ref-for-this\u2460\u2464"},{"id":"ref-for-this\u2460\u2465"},{"id":"ref-for-this\u2460\u2466"}],"title":"2.2. SetHTML options and the configuration object."}],"url":"https://webidl.spec.whatwg.org/#this"},
"402ed79d": {"dfnID":"402ed79d","dfnText":"CEReactions","external":true,"refSections":[{"refs":[{"id":"ref-for-cereactions"},{"id":"ref-for-cereactions\u2460"},{"id":"ref-for-cereactions\u2461"},{"id":"ref-for-cereactions\u2462"}],"title":"2.1. Sanitizer API"}],"url":"https://html.spec.whatwg.org/multipage/custom-elements.html#cereactions"},
@@ -2380,7 +2265,6 @@ I
"a32c65d4": {"dfnID":"a32c65d4","dfnText":"implements","external":true,"refSections":[{"refs":[{"id":"ref-for-implements"},{"id":"ref-for-implements\u2460"},{"id":"ref-for-implements\u2461"}],"title":"3.1. Sanitization Algorithms"}],"url":"https://webidl.spec.whatwg.org/#implements"},
"a3b18719": {"dfnID":"a3b18719","dfnText":"append (for set)","external":true,"refSections":[{"refs":[{"id":"ref-for-set-append"}],"title":"3.2. Configuration Processing"},{"refs":[{"id":"ref-for-set-append\u2460"}],"title":"3.3. Supporting Algorithms"}],"url":"https://infra.spec.whatwg.org/#set-append"},
"ae8def21": {"dfnID":"ae8def21","dfnText":"contain","external":true,"refSections":[{"refs":[{"id":"ref-for-list-contain"},{"id":"ref-for-list-contain\u2460"},{"id":"ref-for-list-contain\u2461"},{"id":"ref-for-list-contain\u2462"}],"title":"3.2. Configuration Processing"},{"refs":[{"id":"ref-for-list-contain\u2463"}],"title":"3.3. Supporting Algorithms"}],"url":"https://infra.spec.whatwg.org/#list-contain"},
-"b159e2cd": {"dfnID":"b159e2cd","dfnText":"template contents","external":true,"refSections":[{"refs":[{"id":"ref-for-template-contents"},{"id":"ref-for-template-contents\u2460"}],"title":"2.1. Sanitizer API"},{"refs":[{"id":"ref-for-template-contents\u2461"}],"title":"3.1. Sanitization Algorithms"}],"url":"https://html.spec.whatwg.org/#template-contents"},
"b3955a25": {"dfnID":"b3955a25","dfnText":"namespace (for Attr)","external":true,"refSections":[{"refs":[{"id":"ref-for-concept-attribute-namespace"},{"id":"ref-for-concept-attribute-namespace\u2460"}],"title":"3.1. Sanitization Algorithms"}],"url":"https://dom.spec.whatwg.org/#concept-attribute-namespace"},
"b4cfa5ce": {"dfnID":"b4cfa5ce","dfnText":"throw","external":true,"refSections":[{"refs":[{"id":"ref-for-dfn-throw"}],"title":"3.2. Configuration Processing"}],"url":"https://webidl.spec.whatwg.org/#dfn-throw"},
"b815ad04": {"dfnID":"b815ad04","dfnText":"parseFromString(string, type)","external":true,"refSections":[{"refs":[{"id":"ref-for-dom-domparser-parsefromstring"}],"title":"1.2. API Summary"}],"url":"https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-domparser-parsefromstring"},
@@ -2393,6 +2277,7 @@ I
"ce720392": {"dfnID":"ce720392","dfnText":"shadow root","external":true,"refSections":[{"refs":[{"id":"ref-for-concept-element-shadow-root"},{"id":"ref-for-concept-element-shadow-root\u2460"}],"title":"3.1. Sanitization Algorithms"}],"url":"https://dom.spec.whatwg.org/#concept-element-shadow-root"},
"d0c88c92": {"dfnID":"d0c88c92","dfnText":"string","external":true,"refSections":[{"refs":[{"id":"ref-for-dom-speechgrammarlist-addfromstring-string-weight-string"},{"id":"ref-for-dom-speechgrammarlist-addfromstring-string-weight-string\u2460"}],"title":"3.2. Configuration Processing"}],"url":"https://wicg.github.io/speech-api/#dom-speechgrammarlist-addfromstring-string-weight-string"},
"d354f084": {"dfnID":"d354f084","dfnText":"window.toStaticHTML()","external":true,"refSections":[{"refs":[{"id":"ref-for-something"}],"title":"5. Acknowledgements"}],"url":"https://msdn.microsoft.com/en-us/library/cc848922(v=vs.85).aspx"},
+"d4127354": {"dfnID":"d4127354","dfnText":"innerHTML","external":true,"refSections":[{"refs":[{"id":"ref-for-dom-element-innerhtml"}],"title":"1. Introduction"},{"refs":[{"id":"ref-for-dom-element-innerhtml\u2460"}],"title":"1.2. API Summary"}],"url":"https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-element-innerhtml"},
"dbd32973": {"dfnID":"dbd32973","dfnText":"DOMParser","external":true,"refSections":[{"refs":[{"id":"ref-for-domparser"}],"title":"1.2. API Summary"}],"url":"https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#domparser"},
"dd722468": {"dfnID":"dd722468","dfnText":"internal slot","external":true,"refSections":[{"refs":[{"id":"ref-for-sec-ordinary-object-internal-methods-and-internal-slots"},{"id":"ref-for-sec-ordinary-object-internal-methods-and-internal-slots\u2460"},{"id":"ref-for-sec-ordinary-object-internal-methods-and-internal-slots\u2461"}],"title":"2.2. SetHTML options and the configuration object."},{"refs":[{"id":"ref-for-sec-ordinary-object-internal-methods-and-internal-slots\u2462"}],"title":"3. Algorithms"}],"url":"https://tc39.es/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots"},
"dictdef-sanitizerattributenamespace": {"dfnID":"dictdef-sanitizerattributenamespace","dfnText":"SanitizerAttributeNamespace","external":false,"refSections":[{"refs":[{"id":"ref-for-dictdef-sanitizerattributenamespace"}],"title":"2.3. The Configuration Dictionary"},{"refs":[{"id":"ref-for-dictdef-sanitizerattributenamespace\u2460"}],"title":"3.1. Sanitization Algorithms"},{"refs":[{"id":"ref-for-dictdef-sanitizerattributenamespace\u2461"}],"title":"3.3. Supporting Algorithms"}],"url":"#dictdef-sanitizerattributenamespace"},
@@ -2400,22 +2285,20 @@ I
"dictdef-sanitizerelementnamespace": {"dfnID":"dictdef-sanitizerelementnamespace","dfnText":"SanitizerElementNamespace","external":false,"refSections":[{"refs":[{"id":"ref-for-dictdef-sanitizerelementnamespace"},{"id":"ref-for-dictdef-sanitizerelementnamespace\u2460"}],"title":"2.3. The Configuration Dictionary"},{"refs":[{"id":"ref-for-dictdef-sanitizerelementnamespace\u2461"}],"title":"3.1. Sanitization Algorithms"},{"refs":[{"id":"ref-for-dictdef-sanitizerelementnamespace\u2462"}],"title":"3.3. Supporting Algorithms"}],"url":"#dictdef-sanitizerelementnamespace"},
"dictdef-sanitizerelementnamespacewithattributes": {"dfnID":"dictdef-sanitizerelementnamespacewithattributes","dfnText":"SanitizerElementNamespaceWithAttributes","external":false,"refSections":[{"refs":[{"id":"ref-for-dictdef-sanitizerelementnamespacewithattributes"}],"title":"2.3. The Configuration Dictionary"}],"url":"#dictdef-sanitizerelementnamespacewithattributes"},
"dictdef-sethtmloptions": {"dfnID":"dictdef-sethtmloptions","dfnText":"SetHTMLOptions","external":false,"refSections":[{"refs":[{"id":"ref-for-dictdef-sethtmloptions"},{"id":"ref-for-dictdef-sethtmloptions\u2460"},{"id":"ref-for-dictdef-sethtmloptions\u2461"},{"id":"ref-for-dictdef-sethtmloptions\u2462"},{"id":"ref-for-dictdef-sethtmloptions\u2463"},{"id":"ref-for-dictdef-sethtmloptions\u2464"}],"title":"2.1. Sanitizer API"}],"url":"#dictdef-sethtmloptions"},
+"document-parsehtml": {"dfnID":"document-parsehtml","dfnText":"parseHTML","external":false,"refSections":[],"url":"#document-parsehtml"},
+"document-parsehtmlunsafe": {"dfnID":"document-parsehtmlunsafe","dfnText":"parseHTMLUnsafe","external":false,"refSections":[],"url":"#document-parsehtmlunsafe"},
"dom-document-parsehtml": {"dfnID":"dom-document-parsehtml","dfnText":"parseHTML","external":false,"refSections":[],"url":"#dom-document-parsehtml"},
"dom-document-parsehtml-html-options-html": {"dfnID":"dom-document-parsehtml-html-options-html","dfnText":"html","external":false,"refSections":[],"url":"#dom-document-parsehtml-html-options-html"},
"dom-document-parsehtml-html-options-options": {"dfnID":"dom-document-parsehtml-html-options-options","dfnText":"options","external":false,"refSections":[],"url":"#dom-document-parsehtml-html-options-options"},
"dom-document-parsehtmlunsafe": {"dfnID":"dom-document-parsehtmlunsafe","dfnText":"parseHTMLUnsafe","external":false,"refSections":[],"url":"#dom-document-parsehtmlunsafe"},
"dom-document-parsehtmlunsafe-html-options-html": {"dfnID":"dom-document-parsehtmlunsafe-html-options-html","dfnText":"html","external":false,"refSections":[],"url":"#dom-document-parsehtmlunsafe-html-options-html"},
"dom-document-parsehtmlunsafe-html-options-options": {"dfnID":"dom-document-parsehtmlunsafe-html-options-options","dfnText":"options","external":false,"refSections":[],"url":"#dom-document-parsehtmlunsafe-html-options-options"},
-"dom-document-parsehtmlunsafe①": {"dfnID":"dom-document-parsehtmlunsafe\u2460","dfnText":"parseHTMLUnsafe","external":false,"refSections":[],"url":"#dom-document-parsehtmlunsafe\u2460"},
-"dom-document-parsehtml①": {"dfnID":"dom-document-parsehtml\u2460","dfnText":"parseHTML","external":false,"refSections":[],"url":"#dom-document-parsehtml\u2460"},
"dom-element-sethtml": {"dfnID":"dom-element-sethtml","dfnText":"setHTML","external":false,"refSections":[{"refs":[{"id":"ref-for-dom-element-sethtml"}],"title":"2.1. Sanitizer API"},{"refs":[{"id":"ref-for-dom-element-sethtml\u2460"}],"title":"2.2. SetHTML options and the configuration object."}],"url":"#dom-element-sethtml"},
"dom-element-sethtml-html-options-html": {"dfnID":"dom-element-sethtml-html-options-html","dfnText":"html","external":false,"refSections":[],"url":"#dom-element-sethtml-html-options-html"},
"dom-element-sethtml-html-options-options": {"dfnID":"dom-element-sethtml-html-options-options","dfnText":"options","external":false,"refSections":[],"url":"#dom-element-sethtml-html-options-options"},
"dom-element-sethtmlunsafe": {"dfnID":"dom-element-sethtmlunsafe","dfnText":"setHTMLUnsafe","external":false,"refSections":[{"refs":[{"id":"ref-for-dom-element-sethtmlunsafe"}],"title":"2.1. Sanitizer API"}],"url":"#dom-element-sethtmlunsafe"},
"dom-element-sethtmlunsafe-html-options-html": {"dfnID":"dom-element-sethtmlunsafe-html-options-html","dfnText":"html","external":false,"refSections":[],"url":"#dom-element-sethtmlunsafe-html-options-html"},
"dom-element-sethtmlunsafe-html-options-options": {"dfnID":"dom-element-sethtmlunsafe-html-options-options","dfnText":"options","external":false,"refSections":[],"url":"#dom-element-sethtmlunsafe-html-options-options"},
-"dom-element-sethtmlunsafe①": {"dfnID":"dom-element-sethtmlunsafe\u2460","dfnText":"setHTMLUnsafe","external":false,"refSections":[],"url":"#dom-element-sethtmlunsafe\u2460"},
-"dom-element-sethtml①": {"dfnID":"dom-element-sethtml\u2460","dfnText":"setHTML","external":false,"refSections":[],"url":"#dom-element-sethtml\u2460"},
"dom-sanitizer-get": {"dfnID":"dom-sanitizer-get","dfnText":"get","external":false,"refSections":[],"url":"#dom-sanitizer-get"},
"dom-sanitizer-getunsafe": {"dfnID":"dom-sanitizer-getunsafe","dfnText":"getUnsafe","external":false,"refSections":[],"url":"#dom-sanitizer-getunsafe"},
"dom-sanitizer-sanitizer": {"dfnID":"dom-sanitizer-sanitizer","dfnText":"constructor","external":false,"refSections":[],"url":"#dom-sanitizer-sanitizer"},
@@ -2440,12 +2323,12 @@ I
"dom-shadowroot-sethtmlunsafe": {"dfnID":"dom-shadowroot-sethtmlunsafe","dfnText":"setHTMLUnsafe","external":false,"refSections":[],"url":"#dom-shadowroot-sethtmlunsafe"},
"dom-shadowroot-sethtmlunsafe-html-options-html": {"dfnID":"dom-shadowroot-sethtmlunsafe-html-options-html","dfnText":"html","external":false,"refSections":[],"url":"#dom-shadowroot-sethtmlunsafe-html-options-html"},
"dom-shadowroot-sethtmlunsafe-html-options-options": {"dfnID":"dom-shadowroot-sethtmlunsafe-html-options-options","dfnText":"options","external":false,"refSections":[],"url":"#dom-shadowroot-sethtmlunsafe-html-options-options"},
-"dom-shadowroot-sethtmlunsafe①": {"dfnID":"dom-shadowroot-sethtmlunsafe\u2460","dfnText":"setHTMLUnsafe","external":false,"refSections":[],"url":"#dom-shadowroot-sethtmlunsafe\u2460"},
-"dom-shadowroot-sethtml①": {"dfnID":"dom-shadowroot-sethtml\u2460","dfnText":"setHTML","external":false,"refSections":[],"url":"#dom-shadowroot-sethtml\u2460"},
"e240317a": {"dfnID":"e240317a","dfnText":"local name (for Attr)","external":true,"refSections":[{"refs":[{"id":"ref-for-concept-attribute-local-name"},{"id":"ref-for-concept-attribute-local-name\u2460"}],"title":"3.1. Sanitization Algorithms"}],"url":"https://dom.spec.whatwg.org/#concept-attribute-local-name"},
"e5ea84f2": {"dfnID":"e5ea84f2","dfnText":"intersection","external":true,"refSections":[{"refs":[{"id":"ref-for-set-intersection"},{"id":"ref-for-set-intersection\u2460"},{"id":"ref-for-set-intersection\u2461"},{"id":"ref-for-set-intersection\u2462"}],"title":"3.2. Configuration Processing"}],"url":"https://infra.spec.whatwg.org/#set-intersection"},
"e99bd18e": {"dfnID":"e99bd18e","dfnText":"relevant global object","external":true,"refSections":[{"refs":[{"id":"ref-for-concept-relevant-global"},{"id":"ref-for-concept-relevant-global\u2460"},{"id":"ref-for-concept-relevant-global\u2461"}],"title":"2.1. Sanitizer API"}],"url":"https://html.spec.whatwg.org/multipage/webappapis.html#concept-relevant-global"},
"ece46d2b": {"dfnID":"ece46d2b","dfnText":"ParentNode","external":true,"refSections":[{"refs":[{"id":"ref-for-parentnode"}],"title":"3.1. Sanitization Algorithms"}],"url":"https://dom.spec.whatwg.org/#parentnode"},
+"element-sethtml": {"dfnID":"element-sethtml","dfnText":"setHTML","external":false,"refSections":[],"url":"#element-sethtml"},
+"element-sethtmlunsafe": {"dfnID":"element-sethtmlunsafe","dfnText":"setHTMLUnsafe","external":false,"refSections":[],"url":"#element-sethtmlunsafe"},
"f02cd417": {"dfnID":"f02cd417","dfnText":"iterate","external":true,"refSections":[{"refs":[{"id":"ref-for-list-iterate"}],"title":"3. Algorithms"},{"refs":[{"id":"ref-for-list-iterate\u2460"},{"id":"ref-for-list-iterate\u2461"}],"title":"3.1. Sanitization Algorithms"},{"refs":[{"id":"ref-for-list-iterate\u2462"},{"id":"ref-for-list-iterate\u2463"},{"id":"ref-for-list-iterate\u2464"},{"id":"ref-for-list-iterate\u2465"},{"id":"ref-for-list-iterate\u2466"},{"id":"ref-for-list-iterate\u2467"},{"id":"ref-for-list-iterate\u2468"}],"title":"3.2. Configuration Processing"},{"refs":[{"id":"ref-for-list-iterate\u2460\u24ea"}],"title":"3.3. Supporting Algorithms"}],"url":"https://infra.spec.whatwg.org/#list-iterate"},
"f052b1ea": {"dfnID":"f052b1ea","dfnText":"html namespace","external":true,"refSections":[{"refs":[{"id":"ref-for-html-namespace"}],"title":"3. Algorithms"},{"refs":[{"id":"ref-for-html-namespace\u2460"}],"title":"3.1. Sanitization Algorithms"},{"refs":[{"id":"ref-for-html-namespace\u2461"},{"id":"ref-for-html-namespace\u2462"}],"title":"3.2. Configuration Processing"},{"refs":[{"id":"ref-for-html-namespace\u2463"},{"id":"ref-for-html-namespace\u2464"},{"id":"ref-for-html-namespace\u2465"},{"id":"ref-for-html-namespace\u2466"},{"id":"ref-for-html-namespace\u2467"}],"title":"3.4. Defaults"}],"url":"https://infra.spec.whatwg.org/#html-namespace"},
"f099a38d": {"dfnID":"f099a38d","dfnText":"HTMLTemplateElement","external":true,"refSections":[{"refs":[{"id":"ref-for-htmltemplateelement"},{"id":"ref-for-htmltemplateelement\u2460"}],"title":"2.1. Sanitizer API"}],"url":"https://html.spec.whatwg.org/multipage/scripting.html#htmltemplateelement"},
@@ -2469,6 +2352,8 @@ I
"set-and-filter-html": {"dfnID":"set-and-filter-html","dfnText":"set and filter HTML","external":false,"refSections":[{"refs":[{"id":"ref-for-set-and-filter-html"},{"id":"ref-for-set-and-filter-html\u2460"},{"id":"ref-for-set-and-filter-html\u2461"},{"id":"ref-for-set-and-filter-html\u2462"}],"title":"2.1. Sanitizer API"}],"url":"#set-and-filter-html"},
"set-difference": {"dfnID":"set-difference","dfnText":"difference","external":false,"refSections":[{"refs":[{"id":"ref-for-set-difference"},{"id":"ref-for-set-difference\u2460"},{"id":"ref-for-set-difference\u2461"},{"id":"ref-for-set-difference\u2462"},{"id":"ref-for-set-difference\u2463"},{"id":"ref-for-set-difference\u2464"},{"id":"ref-for-set-difference\u2465"}],"title":"3.2. Configuration Processing"}],"url":"#set-difference"},
"set-equal": {"dfnID":"set-equal","dfnText":"equal","external":false,"refSections":[{"refs":[{"id":"ref-for-set-equal"}],"title":"3.1. Sanitization Algorithms"},{"refs":[{"id":"ref-for-set-equal\u2460"},{"id":"ref-for-set-equal\u2461"}],"title":"3.2. Configuration Processing"},{"refs":[{"id":"ref-for-set-equal\u2462"},{"id":"ref-for-set-equal\u2463"}],"title":"3.3. Supporting Algorithms"}],"url":"#set-equal"},
+"shadowroot-sethtml": {"dfnID":"shadowroot-sethtml","dfnText":"setHTML","external":false,"refSections":[],"url":"#shadowroot-sethtml"},
+"shadowroot-sethtmlunsafe": {"dfnID":"shadowroot-sethtmlunsafe","dfnText":"setHTMLUnsafe","external":false,"refSections":[],"url":"#shadowroot-sethtmlunsafe"},
"typedefdef-sanitizerattribute": {"dfnID":"typedefdef-sanitizerattribute","dfnText":"SanitizerAttribute","external":false,"refSections":[{"refs":[{"id":"ref-for-typedefdef-sanitizerattribute"},{"id":"ref-for-typedefdef-sanitizerattribute\u2460"},{"id":"ref-for-typedefdef-sanitizerattribute\u2461"},{"id":"ref-for-typedefdef-sanitizerattribute\u2462"}],"title":"2.3. The Configuration Dictionary"}],"url":"#typedefdef-sanitizerattribute"},
"typedefdef-sanitizerelement": {"dfnID":"typedefdef-sanitizerelement","dfnText":"SanitizerElement","external":false,"refSections":[{"refs":[{"id":"ref-for-typedefdef-sanitizerelement"},{"id":"ref-for-typedefdef-sanitizerelement\u2460"}],"title":"2.3. The Configuration Dictionary"}],"url":"#typedefdef-sanitizerelement"},
"typedefdef-sanitizerelementwithattributes": {"dfnID":"typedefdef-sanitizerelementwithattributes","dfnText":"SanitizerElementWithAttributes","external":false,"refSections":[{"refs":[{"id":"ref-for-typedefdef-sanitizerelementwithattributes"}],"title":"2.3. The Configuration Dictionary"}],"url":"#typedefdef-sanitizerelementwithattributes"},
@@ -2922,14 +2807,14 @@ I
"https://dom.spec.whatwg.org/#parentnode": {"export":true,"for_":[],"level":"1","normative":true,"shortname":"dom","spec":"dom","status":"current","text":"ParentNode","type":"interface","url":"https://dom.spec.whatwg.org/#parentnode"},
"https://dom.spec.whatwg.org/#shadowroot": {"export":true,"for_":[],"level":"1","normative":true,"shortname":"dom","spec":"dom","status":"current","text":"ShadowRoot","type":"interface","url":"https://dom.spec.whatwg.org/#shadowroot"},
"https://dom.spec.whatwg.org/#text": {"export":true,"for_":[],"level":"1","normative":true,"shortname":"dom","spec":"dom","status":"current","text":"Text","type":"interface","url":"https://dom.spec.whatwg.org/#text"},
-"https://html.spec.whatwg.org/#dom-element-innerhtml": {"export":true,"for_":["Element"],"level":"1","normative":true,"shortname":"sanitizer-api","spec":"","status":"anchor-block","text":"innerHTML","type":"attribute","url":"https://html.spec.whatwg.org/#dom-element-innerhtml"},
"https://html.spec.whatwg.org/#parse-html-from-a-string": {"export":true,"for_":[],"level":"1","normative":true,"shortname":"sanitizer-api","spec":"","status":"anchor-block","text":"parse html from a string","type":"dfn","url":"https://html.spec.whatwg.org/#parse-html-from-a-string"},
-"https://html.spec.whatwg.org/#template-contents": {"export":true,"for_":[],"level":"1","normative":true,"shortname":"sanitizer-api","spec":"","status":"anchor-block","text":"template contents","type":"dfn","url":"https://html.spec.whatwg.org/#template-contents"},
"https://html.spec.whatwg.org/multipage/custom-elements.html#cereactions": {"export":true,"for_":[],"level":"1","normative":true,"shortname":"html","spec":"html","status":"current","text":"CEReactions","type":"extended-attribute","url":"https://html.spec.whatwg.org/multipage/custom-elements.html#cereactions"},
"https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-domparser-parsefromstring": {"export":true,"for_":["DOMParser"],"level":"1","normative":true,"shortname":"html","spec":"html","status":"current","text":"parseFromString(string, type)","type":"method","url":"https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-domparser-parsefromstring"},
+"https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-element-innerhtml": {"export":true,"for_":["Element"],"level":"1","normative":true,"shortname":"html","spec":"html","status":"current","text":"innerHTML","type":"attribute","url":"https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-element-innerhtml"},
"https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#domparser": {"export":true,"for_":[],"level":"1","normative":true,"shortname":"html","spec":"html","status":"current","text":"DOMParser","type":"interface","url":"https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#domparser"},
"https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#fragment-parsing-algorithm-steps": {"export":true,"for_":[],"level":"1","normative":true,"shortname":"html","spec":"html","status":"current","text":"fragment parsing algorithm steps","type":"dfn","url":"https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#fragment-parsing-algorithm-steps"},
"https://html.spec.whatwg.org/multipage/scripting.html#htmltemplateelement": {"export":true,"for_":[],"level":"1","normative":true,"shortname":"html","spec":"html","status":"current","text":"HTMLTemplateElement","type":"interface","url":"https://html.spec.whatwg.org/multipage/scripting.html#htmltemplateelement"},
+"https://html.spec.whatwg.org/multipage/scripting.html#template-contents": {"export":false,"for_":[],"level":"1","normative":true,"shortname":"html","spec":"html","status":"current","text":"template contents","type":"dfn","url":"https://html.spec.whatwg.org/multipage/scripting.html#template-contents"},
"https://html.spec.whatwg.org/multipage/webappapis.html#concept-relevant-global": {"export":true,"for_":[],"level":"1","normative":true,"shortname":"html","spec":"html","status":"current","text":"relevant global object","type":"dfn","url":"https://html.spec.whatwg.org/multipage/webappapis.html#concept-relevant-global"},
"https://infra.spec.whatwg.org/#assert": {"export":true,"for_":[],"level":"1","normative":true,"shortname":"infra","spec":"infra","status":"current","text":"assert","type":"dfn","url":"https://infra.spec.whatwg.org/#assert"},
"https://infra.spec.whatwg.org/#boolean": {"export":true,"for_":[],"level":"1","normative":true,"shortname":"infra","spec":"infra","status":"current","text":"boolean","type":"dfn","url":"https://infra.spec.whatwg.org/#boolean"},