Skip to content

Commit 02db8c7

Browse files
committed
Update how the enforcement is done
1 parent 0f0ed54 commit 02db8c7

File tree

1 file changed

+61
-43
lines changed

1 file changed

+61
-43
lines changed

dom.bs

+61-43
Original file line numberDiff line numberDiff line change
@@ -4487,8 +4487,7 @@ dom-Range-extractContents, dom-Range-cloneContents -->
44874487
<ol>
44884488
<li><p>Let <var>copyAttribute</var> be a <a>clone</a> of <var>attribute</var>.
44894489

4490-
<li><p><a lt="append an attribute">Append</a> <var>copyAttribute</var> to <var>copy</var>,
4491-
with false.
4490+
<li><p><a lt="append an attribute">Append</a> <var>copyAttribute</var> to <var>copy</var>.
44924491
</ol>
44934492
</li>
44944493
</ol>
@@ -6406,33 +6405,17 @@ given a <var>document</var>, <var>localName</var>, <var>namespace</var>, and opt
64066405
<ol>
64076406
<li><p>Let <var>oldValue</var> be <var>attribute</var>'s <a for=Attr>value</a>.</p></li>
64086407

6409-
<li><p><a>Verify and set attribute value</a> <var>value</var> for <var>attribute</var>, with
6410-
<var>attribute</var>'s <a for=Attr>element</a>.
6408+
<li><p>Set <var>attribute</var>'s <a for=Attr>value</a> to <var>value</var>.
64116409

6412-
<li><p>If <var>attribute</var>'s <a for=Attr>element</a>
6413-
<a lt="has an attribute">has an attribute</a>, then <a>handle attribute changes</a> for
6414-
<var>attribute</var> with <var>attribute</var>'s <a for=Attr>element</a>, <var>oldValue</var>, and
6415-
<var>value</var>.
6416-
6417-
<li><p>Otherwise, throw an "{{InvalidStateError!!exception}}" {{DOMException}}.
6410+
<li><p><a>Handle attribute changes</a> for <var>attribute</var> with <var>attribute</var>'s
6411+
<a for=Attr>element</a>, <var>oldValue</var>, and <var>value</var>.
64186412
</ol>
64196413

64206414
<p>To <dfn export id=concept-element-attributes-append lt="append an attribute">append</dfn> an
6421-
<a>attribute</a> <var>attribute</var> to an <a for=/>element</a> <var>element</var>, with an
6422-
optional boolean <var>validate</var> (default true):
6415+
<a>attribute</a> <var>attribute</var> to an <a for=/>element</a> <var>element</var>, run these
6416+
steps:
64236417

64246418
<ol>
6425-
<li>
6426-
<p>If <var>validate</var> is true:
6427-
6428-
<ol>
6429-
<li><p><a>Verify and set attribute value</a>
6430-
<var>attribute</var>'s <a for="Attr">value</a> for <var>attribute</var>, with <var>element</var>.
6431-
6432-
<li><p>If <var>element</var> <a lt="has an attribute">has</a> an <a>attribute</a>
6433-
<var>attribute</var>, then throw an "{{InvalidStateError!!exception}}" {{DOMException}}.
6434-
</ol>
6435-
64366419
<li><p><a for=list>Append</a> <var>attribute</var> to <var>element</var>'s
64376420
<a for=Element>attribute list</a>.
64386421

@@ -6461,9 +6444,6 @@ optional boolean <var>validate</var> (default true):
64616444
<a>attribute</a> <var>oldAttr</var> with an <a>attribute</a> <var>newAttr</var>, run these steps:
64626445

64636446
<ol>
6464-
<li><p><a>Verify and set attribute value</a> <var>newAttr</var>'s <a for="Attr">value</a> for
6465-
<var>newAttr</var>, with <var>oldAttr</var>'s <a for=Attr>element</a>.
6466-
64676447
<li><p><a for=list>Replace</a> <var>oldAttr</var> by <var>newAttr</var> in <var>oldAttr</var>'s
64686448
<a for=Attr>element</a>'s <a for=Element>attribute list</a>.
64696449

@@ -6477,16 +6457,14 @@ optional boolean <var>validate</var> (default true):
64776457
<a for=Attr>value</a>.
64786458
</ol>
64796459

6480-
<p>To <dfn>verify and set attribute value</dfn>
6460+
<p>To <dfn>verify attribute value</dfn>
64816461
{{TrustedType}} or string <var>value</var> for an <a>attribute</a> <var>attribute</var>, given an
64826462
<a for=/>Element</a> <var>element</var>:
64836463

64846464
<ol>
6485-
<li><p>Let <var>verifiedValue</var> be the result of calling
6465+
<li><p>Return the result of calling
64866466
<a abstract-op>get Trusted Types-compliant attribute value</a> for <var>attribute</var>, with
64876467
<var>element</var>, <var>value</var>. [[!TRUSTED-TYPES]]
6488-
6489-
<li><p>Set <var>attribute</var>'s <a for=Attr>value</a> to <var>verifiedValue</var>.
64906468
</ol>
64916469

64926470
<hr>
@@ -6551,6 +6529,11 @@ string <var>namespace</var> (default null):</p>
65516529

65526530
<li><p>If <var>oldAttr</var> is <var>attr</var>, return <var>attr</var>.
65536531

6532+
<li><p>Let <var>verifiedValue</var> be the result of calling <a>verify attribute value</a>
6533+
<var>attr</var>'s <a for=Attr>value</a> for <var>attr</var>, with <var>element</var>.
6534+
6535+
<li><p>Set <var>attr</var>'s <a for=Attr>value</a> to <var>verifiedValue</var>.
6536+
65546537
<li><p>If <var>oldAttr</var> is non-null, then <a lt="replace an attribute">replace</a>
65556538
<var>oldAttr</var> with <var>attr</var>.
65566539

@@ -6571,14 +6554,30 @@ or string <var>namespace</var> (default null):
65716554
<a lt="get an attribute by namespace and local name">getting an attribute</a> given
65726555
<var>namespace</var>, <var>localName</var>, and <var>element</var>.
65736556

6574-
<li>If <var>attribute</var> is null, create an <a>attribute</a> whose <a for=Attr>namespace</a> is
6575-
<var>namespace</var>, <a for=Attr>namespace prefix</a> is <var>prefix</var>,
6576-
<a for=Attr>local name</a> is <var>localName</var>, <a for=Attr>value</a> is <var>value</var>, and
6577-
<a for=Node>node document</a> is <var>element</var>'s <a for=Node>node document</a>, then
6578-
<a lt="append an attribute">append</a> this <a>attribute</a> to <var>element</var>, and then
6579-
return.
6557+
<li><p>Let <var>attributeExists</var> be false if <var>attribute</var> is null, and true otherwise.
6558+
6559+
<li><p>If <var>attributeExists</var> is false, set <var>attribute</var> to an <a>attribute</a>
6560+
whose <a for=Attr>namespace</a> is <var>namespace</var>, <a for=Attr>namespace prefix</a> is
6561+
<var>prefix</var>, <a for=Attr>local name</a> is <var>localName</var>, <a for=Attr>value</a> is
6562+
<var>value</var>, and <a for=Node>node document</a> is <var>element</var>'s <a for=Node>node
6563+
document</a>.
65806564

6581-
<li><p><a lt="change an attribute">Change</a> <var>attribute</var> to <var>value</var>.
6565+
<li><p>Let <var>verifiedValue</var> be the result of calling <a>verify attribute value</a>
6566+
<var>value</var> for <var>attribute</var>, with <var>element</var>.
6567+
6568+
<li><p>Set <var>attributeExists</var> to true if <var>element</var> <a lt="has an attribute">has
6569+
an attribute</a> <var>attribute</var>; otherwise false.
6570+
6571+
<li><p>If <var>attributeExists</var> is true, <a lt="change an attribute">change</a>
6572+
<var>attribute</var> to <var>verifiedValue</var>.
6573+
6574+
<li><p>Otherwise:
6575+
<ol>
6576+
<li><p>Set <var>attribute</var>'s <a for=Attr>value</a> to <var>verifiedValue</var>.
6577+
6578+
<li><p><a lt="append an attribute">Append</a> this <a>attribute</a> to
6579+
<var>element</var>.
6580+
</ol>
65826581
</ol>
65836582
</div>
65846583

@@ -6839,12 +6838,25 @@ method steps are:
68396838
and null otherwise.
68406839
<!-- This is step 2 of "get an attribute by name", modified as appropriate -->
68416840

6842-
<li><p>If <var>attribute</var> is null, create an <a>attribute</a> whose
6843-
<a for=Attr>local name</a> is <var>qualifiedName</var>, <a for=Attr>value</a> is
6844-
<var>value</var>, and <a for=Node>node document</a> is <a>this</a>'s <a for=Node>node document</a>,
6845-
then <a lt="append an attribute">append</a> this <a>attribute</a> to <a>this</a>, and then return.
6841+
<li><p>Let <var>attributeExists</var> be false if <var>attribute</var> is null, and true otherwise.
6842+
6843+
<li><p>If <var>attributeExists</var> is false, set <var>attribute</var> to an <a>attribute</a>
6844+
whose <a for=Attr>local name</a> is <var>qualifiedName</var>, <a for=Attr>value</a> is
6845+
<var>value</var>, and <a for=Node>node document</a> is <a>this</a>'s <a for=Node>node
6846+
document</a>.
6847+
6848+
<li><p>Let <var>verifiedValue</var> be the result of calling <a>verify attribute value</a>
6849+
<var>value</var> for <var>attribute</var>, with <a>this</a>.
68466850

6847-
<li><p><a lt="change an attribute">Change</a> <var>attribute</var> to <var>value</var>.
6851+
<li><p>Set <var>attribute</var>'s <a for=Attr>value</a> to <var>verifiedValue</var>.
6852+
6853+
<li><p>Set <var>attributeExists</var> to true if <a>this</a> <a lt="has an attribute">has an
6854+
attribute</a> <var>attribute</var>; otherwise false.
6855+
6856+
<li><p>If <var>attributeExists</var> is true, <a lt="change an attribute">change</a>
6857+
<var>attribute</var> to <var>value</var>.
6858+
6859+
<li><p>Otherwise <a lt="append an attribute">append</a> this <a>attribute</a> to <a>this</a>.
68486860
</ol>
68496861

68506862
<p>The
@@ -7414,7 +7426,13 @@ string <var>value</var>, run these steps:
74147426
<li><p>If <var>attribute</var>'s <a for=Attr>element</a> is null, then set <var>attribute</var>'s
74157427
<a for=Attr>value</a> to <var>value</var>.
74167428

7417-
<li><p>Otherwise, <a lt="change an attribute">change</a> <var>attribute</var> to <var>value</var>.
7429+
<li><p>Otherwise:
7430+
<ol>
7431+
<li><p>Let <var>verifiedValue</var> be the result of calling <a>verify attribute value</a>
7432+
<var>value</var> for <var>attribute</var>, with <a>this</a>.
7433+
7434+
<li><p><a lt="change an attribute">Change</a> <var>attribute</var> to <var>verifiedValue</var>.
7435+
</ol>
74187436
</ol>
74197437

74207438
<p>The {{Attr/value}} setter steps are to <a>set an existing attribute value</a> with <a>this</a>

0 commit comments

Comments
 (0)