@@ -6213,8 +6213,8 @@ interface Element : Node {
6213
6213
sequence<DOMString> getAttributeNames();
6214
6214
DOMString? getAttribute(DOMString qualifiedName);
6215
6215
DOMString? getAttributeNS(DOMString? namespace, DOMString localName);
6216
- [CEReactions] undefined setAttribute(DOMString qualifiedName, DOMString value);
6217
- [CEReactions] undefined setAttributeNS(DOMString? namespace, DOMString qualifiedName, DOMString value);
6216
+ [CEReactions] undefined setAttribute(DOMString qualifiedName, (TrustedType or DOMString) value);
6217
+ [CEReactions] undefined setAttributeNS(DOMString? namespace, DOMString qualifiedName, (TrustedType or DOMString) value);
6218
6218
[CEReactions] undefined removeAttribute(DOMString qualifiedName);
6219
6219
[CEReactions] undefined removeAttributeNS(DOMString? namespace, DOMString localName);
6220
6220
[CEReactions] boolean toggleAttribute(DOMString qualifiedName, optional boolean force);
@@ -6535,6 +6535,10 @@ null), and boolean <var>synchronousCustomElements</var> (default false):
6535
6535
<a>attribute</a> <var> attribute</var> to <var> value</var> , run these steps:
6536
6536
6537
6537
<ol>
6538
+ <li><p> Set <var> value</var> to the result of calling <a>Get Trusted Types-compliant attribute
6539
+ value</a> for <var> attribute</var> , with <var> attribute</var> 's <a for=Attr>element</a> and
6540
+ <var> value</var> . [[!TRUSTED-TYPES]]
6541
+
6538
6542
<li><p> Let <var> oldValue</var> be <var> attribute</var> 's <a for=Attr>value</a> .</p></li>
6539
6543
6540
6544
<li><p> Set <var> attribute</var> 's <a for=Attr>value</a> to <var> value</var> .
@@ -6548,6 +6552,11 @@ null), and boolean <var>synchronousCustomElements</var> (default false):
6548
6552
steps:
6549
6553
6550
6554
<ol>
6555
+ <li><p> Set <var> attribute</var> 's
6556
+ <a for=Attr>value</a> to the result of calling <a>Get Trusted Types-compliant attribute value</a>
6557
+ for <var> attribute</var> , with <var> element</var> and <var> attribute</var> 's <a for=Attr>value</a> .
6558
+ [[!TRUSTED-TYPES]]
6559
+
6551
6560
<li><p> <a for=list>Append</a> <var> attribute</var> to <var> element</var> 's
6552
6561
<a for=Element>attribute list</a> .
6553
6562
@@ -6576,6 +6585,11 @@ steps:
6576
6585
<a>attribute</a> <var> oldAttr</var> with an <a>attribute</a> <var> newAttr</var> , run these steps:
6577
6586
6578
6587
<ol>
6588
+ <li><p> Set <var> newAttr</var> 's
6589
+ <a for=Attr>value</a> to the result of calling <a>Get Trusted Types-compliant attribute value</a>
6590
+ for <var> newAttr</var> , with <var> oldAttr</var> 's <a for=Attr>element</a> and <var>newAttr</var>' s
6591
+ <a for=Attr>value</a> .[[!TRUSTED-TYPES]]
6592
+
6579
6593
<li><p> <a for=list>Replace</a> <var> oldAttr</var> by <var> newAttr</var> in <var> oldAttr</var> 's
6580
6594
<a for=Attr>element</a> 's <a for=Element>attribute list</a> .
6581
6595
@@ -6662,7 +6676,7 @@ string <var>namespace</var> (default null):</p>
6662
6676
6663
6677
<div algorithm>
6664
6678
<p> To <dfn export id=concept-element-attributes-set-value>set an attribute value</dfn> given an
6665
- <a for=/>element</a> <var> element</var> , a string <var> localName</var> , a string <var> value</var> ,
6679
+ <a for=/>element</a> <var> element</var> , a string <var> localName</var> , a string or <a>TrustedType</a> <var> value</var> ,
6666
6680
an optional null or string <var> prefix</var> (default null), and an optional null or string
6667
6681
<var> namespace</var> (default null):
6668
6682
@@ -6673,7 +6687,7 @@ an optional null or string <var>prefix</var> (default null), and an optional nul
6673
6687
6674
6688
<li> If <var> attribute</var> is null, create an <a>attribute</a> whose <a for=Attr>namespace</a> is
6675
6689
<var> namespace</var> , <a for=Attr>namespace prefix</a> is <var> prefix</var> ,
6676
- <a for=Attr>local name</a> is <var> localName</var> , <a for=Attr>value</a> is <var> value</var> , and
6690
+ <a for=Attr>local name</a> is <var> localName</var> , <a for=Attr>value</a> is stringified <var> value</var> , and
6677
6691
<a for=Node>node document</a> is <var> element</var> 's <a for=Node>node document</a> , then
6678
6692
<a lt="append an attribute">append</a> this <a>attribute</a> to <var> element</var> , and then
6679
6693
return.
@@ -6941,7 +6955,7 @@ method steps are:
6941
6955
6942
6956
<li><p> If <var> attribute</var> is null, create an <a>attribute</a> whose
6943
6957
<a for=Attr>local name</a> is <var> qualifiedName</var> , <a for=Attr>value</a> is
6944
- <var> value</var> , and <a for=Node>node document</a> is <a>this</a> 's <a for=Node>node document</a> ,
6958
+ stringified <var> value</var> , and <a for=Node>node document</a> is <a>this</a> 's <a for=Node>node document</a> ,
6945
6959
then <a lt="append an attribute">append</a> this <a>attribute</a> to <a>this</a> , and then return.
6946
6960
6947
6961
<li><p> <a lt="change an attribute">Change</a> <var> attribute</var> to <var> value</var> .
0 commit comments