Skip to content

Commit 91f4611

Browse files
authored
Correct setAttributeNS() validation context
And add more <div algorithm>. Fixes #1417.
1 parent b1e3684 commit 91f4611

File tree

1 file changed

+33
-1
lines changed

1 file changed

+33
-1
lines changed

dom.bs

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7397,19 +7397,26 @@ namespace.</p>
73977397
is <var>namespace</var> and <a for=Attr>local name</a> is <var>localName</var>.
73987398
</dl>
73997399

7400+
<div algorithm>
74007401
<p>The <dfn method for=Element><code>hasAttributes()</code></dfn> method steps are to return false
74017402
if <a>this</a>'s <a for=Element>attribute list</a> <a for=list>is empty</a>; otherwise true.
7403+
</div>
74027404

7405+
<div algorithm>
74037406
<p>The <dfn attribute for=Element><code>attributes</code></dfn> getter steps are to return the
74047407
associated {{NamedNodeMap}}.
7408+
</div>
74057409

7410+
<div algorithm>
74067411
<p>The <dfn method for=Element><code>getAttributeNames()</code></dfn> method steps are to return the
74077412
<a for=Attr>qualified names</a> of the <a>attributes</a> in <a>this</a>'s
74087413
<a for=Element>attribute list</a>, in order; otherwise a new <a for=/>list</a>.
74097414

74107415
<p class=note>These are not guaranteed to be unique.<!-- A theoretical getAttributeNamesNS() could
74117416
return an array of unique two-value-arrays. -->
7417+
</div>
74127418

7419+
<div algorithm>
74137420
<p>The <dfn method for=Element><code>getAttribute(<var>qualifiedName</var>)</code></dfn> method
74147421
steps are:
74157422

@@ -7422,7 +7429,9 @@ steps are:
74227429

74237430
<li><p>Return <var>attr</var>'s <a for=Attr>value</a>.
74247431
</ol>
7432+
</div>
74257433

7434+
<div algorithm>
74267435
<p>The
74277436
<dfn method for=Element><code>getAttributeNS(<var>namespace</var>, <var>localName</var>)</code></dfn>
74287437
method steps are:
@@ -7436,7 +7445,9 @@ method steps are:
74367445

74377446
<li><p>Return <var>attr</var>'s <a for=Attr>value</a>.
74387447
</ol>
7448+
</div>
74397449

7450+
<div algorithm>
74407451
<p>The
74417452
<dfn method for=Element><code>setAttribute(<var>qualifiedName</var>, <var>value</var>)</code></dfn>
74427453
method steps are:
@@ -7472,15 +7483,17 @@ method steps are:
74727483

74737484
<li><p><a lt="append an attribute">Append</a> <var>attribute</var> to <a>this</a>.
74747485
</ol>
7486+
</div>
74757487

7488+
<div algorithm>
74767489
<p>The
74777490
<dfn method for=Element><code>setAttributeNS(<var>namespace</var>, <var>qualifiedName</var>, <var>value</var>)</code></dfn>
74787491
method steps are:
74797492

74807493
<ol>
74817494
<li><p>Let (<var>namespace</var>, <var>prefix</var>, <var>localName</var>) be the result of
74827495
[=validate and extract|validating and extracting=] <var>namespace</var> and
7483-
<var>qualifiedName</var> given "<code>element</code>".
7496+
<var>qualifiedName</var> given "<code>attribute</code>".
74847497

74857498
<li><p>Let <var>verifiedValue</var> be the result of calling
74867499
<a>get trusted type compliant attribute value</a> with <var>localName</var>, <var>namespace</var>,
@@ -7489,17 +7502,23 @@ method steps are:
74897502
<li><p><a>Set an attribute value</a> for <a>this</a> using <var>localName</var>,
74907503
<var>verifiedValue</var>, <var>prefix</var>, and <var>namespace</var>.
74917504
</ol>
7505+
</div>
74927506

7507+
<div algorithm>
74937508
<p>The
74947509
<dfn method for=Element><code>removeAttribute(<var>qualifiedName</var>)</code></dfn>
74957510
method steps are to <a lt="remove an attribute by name">remove an attribute</a> given
74967511
<var>qualifiedName</var> and <a>this</a>, and then return undefined.
7512+
</div>
74977513

7514+
<div algorithm>
74987515
<p>The
74997516
<dfn method for=Element><code>removeAttributeNS(<var>namespace</var>, <var>localName</var>)</code></dfn>
75007517
method steps are to <a lt="remove an attribute by namespace and local name">remove an attribute</a>
75017518
given <var>namespace</var>, <var>localName</var>, and <a>this</a>, and then return undefined.
7519+
</div>
75027520

7521+
<div algorithm>
75037522
<p>The <dfn method for=Element><code>hasAttribute(<var>qualifiedName</var>)</code></dfn> method
75047523
steps are:
75057524

@@ -7511,7 +7530,9 @@ steps are:
75117530
<li><p>Return true if <a>this</a> <a lt="has an attribute">has</a> an <a>attribute</a> whose
75127531
<a for=Attr>qualified name</a> is <var>qualifiedName</var>; otherwise false.
75137532
</ol>
7533+
</div>
75147534

7535+
<div algorithm>
75157536
<p>The
75167537
<dfn method for=Element><code>toggleAttribute(<var>qualifiedName</var>, <var>force</var>)</code></dfn>
75177538
method steps are:
@@ -7552,7 +7573,9 @@ method steps are:
75527573

75537574
<li><p>Return true.
75547575
</ol>
7576+
</div>
75557577

7578+
<div algorithm>
75567579
<p>The
75577580
<dfn method for=Element><code>hasAttributeNS(<var>namespace</var>, <var>localName</var>)</code></dfn>
75587581
method steps are:
@@ -7564,24 +7587,32 @@ method steps are:
75647587
<a for=Attr>namespace</a> is <var>namespace</var> and <a for=Attr>local name</a> is
75657588
<var>localName</var>; otherwise false.
75667589
</ol>
7590+
</div>
75677591

75687592
<hr>
75697593

7594+
<div algorithm>
75707595
<p>The <dfn method for=Element><code>getAttributeNode(<var>qualifiedName</var>)</code></dfn> method
75717596
steps are to return the result of <a lt="get an attribute by name">getting an attribute</a> given
75727597
<var>qualifiedName</var> and <a>this</a>.
7598+
</div>
75737599

7600+
<div algorithm>
75747601
<p>The
75757602
<dfn method for=Element><code>getAttributeNodeNS(<var>namespace</var>, <var>localName</var>)</code></dfn>
75767603
method steps are to return the result of
75777604
<a lt="get an attribute by namespace and local name">getting an attribute</a> given
75787605
<var>namespace</var>, <var>localName</var>, and <a>this</a>.
7606+
</div>
75797607

7608+
<div algorithm=Element/setAttributeNode>
75807609
<p>The <dfn method for=Element><code>setAttributeNode(<var>attr</var>)</code></dfn> and
75817610
<dfn method for=Element><code>setAttributeNodeNS(<var>attr</var>)</code></dfn> methods steps are to
75827611
return the result of <a lt="set an attribute">setting an attribute</a> given <var>attr</var> and
75837612
<a>this</a>.
7613+
</div>
75847614

7615+
<div algorithm>
75857616
<p>The <dfn method for=Element><code>removeAttributeNode(<var>attr</var>)</code></dfn> method steps
75867617
are:
75877618

@@ -7593,6 +7624,7 @@ are:
75937624

75947625
<li><p>Return <var>attr</var>.
75957626
</ol>
7627+
</div>
75967628

75977629
<hr>
75987630

0 commit comments

Comments
 (0)