Skip to content

Commit 3fb0aa6

Browse files
authored
Handle attribute changes after changing attribute
In all implementations, internal listeners for attribute changes which are run as "attribute change steps" are run after the attribute is actually changed, not before. This affects popover attribute related algorithms in HTML: whatwg/html#9048 (comment).
1 parent 451dae2 commit 3fb0aa6

File tree

1 file changed

+15
-13
lines changed

1 file changed

+15
-13
lines changed

dom.bs

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6297,54 +6297,56 @@ given a <var>document</var>, <var>localName</var>, <var>namespace</var>, and opt
62976297
<a>attribute</a> <var>attribute</var> to <var>value</var>, run these steps:
62986298

62996299
<ol>
6300+
<li><p>Set <var>attribute</var>'s <a for=Attr>value</a> to <var>value</var>.
6301+
63006302
<li><p><a>Handle attribute changes</a> for <var>attribute</var> with <var>attribute</var>'s
63016303
<a for=Attr>element</a>, <var>attribute</var>'s <a for=Attr>value</a>, and <var>value</var>.
6302-
6303-
<li><p>Set <var>attribute</var>'s <a for=Attr>value</a> to <var>value</var>.
63046304
</ol>
63056305

63066306
<p>To <dfn export id=concept-element-attributes-append lt="append an attribute">append</dfn> an
63076307
<a>attribute</a> <var>attribute</var> to an <a for=/>element</a> <var>element</var>, run these
63086308
steps:
63096309

63106310
<ol>
6311-
<li><p><a>Handle attribute changes</a> for <var>attribute</var> with <var>element</var>, null, and
6312-
<var>attribute</var>'s <a for=Attr>value</a>.
6313-
63146311
<li><p><a for=list>Append</a> <var>attribute</var> to <var>element</var>'s
63156312
<a for=Element>attribute list</a>.
63166313

63176314
<li><p>Set <var>attribute</var>'s <a for=Attr>element</a> to <var>element</var>.
6315+
6316+
<li><p><a>Handle attribute changes</a> for <var>attribute</var> with <var>element</var>, null, and
6317+
<var>attribute</var>'s <a for=Attr>value</a>.
63186318
</ol>
63196319

63206320
<p>To <dfn export id=concept-element-attributes-remove lt="remove an attribute">remove</dfn> an
63216321
<a>attribute</a> <var>attribute</var>, run these steps:
63226322

63236323
<ol>
6324-
<li><p><a>Handle attribute changes</a> for <var>attribute</var> with <var>attribute</var>'s
6325-
<a for=Attr>element</a>, <var>attribute</var>'s <a for=Attr>value</a>, and null.
6324+
<li><p>Let <var>element</var> be <var>attribute</var>'s <a for=Attr>element</a>.</p></li>
63266325

6327-
<li><a for=list>Remove</a> <var>attribute</var> from <var>attribute</var>'s
6328-
<a for=Attr>element</a>'s <a for=Element>attribute list</a>.
6326+
<li><a for=list>Remove</a> <var>attribute</var> from <var>element</var>'s <a for=Element>attribute
6327+
list</a>.
63296328

63306329
<li><p>Set <var>attribute</var>'s <a for=Attr>element</a> to null.
6330+
6331+
<li><p><a>Handle attribute changes</a> for <var>attribute</var> with <var>element</var>,
6332+
<var>attribute</var>'s <a for=Attr>value</a>, and null.
63316333
</ol>
63326334

63336335
<p>To <dfn export id=concept-element-attributes-replace lt="replace an attribute">replace</dfn> an
63346336
<a>attribute</a> <var>oldAttr</var> with an <a>attribute</a> <var>newAttr</var>, run these steps:
63356337

63366338
<ol>
6337-
<li><p><a>Handle attribute changes</a> for <var>oldAttr</var> with <var>oldAttr</var>'s
6338-
<a for=Attr>element</a>, <var>oldAttr</var>'s <a for=Attr>value</a>, and <var>newAttr</var>'s
6339-
<a for=Attr>value</a>.
6340-
63416339
<li><p><a for=list>Replace</a> <var>oldAttr</var> by <var>newAttr</var> in <var>oldAttr</var>'s
63426340
<a for=Attr>element</a>'s <a for=Element>attribute list</a>.
63436341

63446342
<li><p>Set <var>newAttr</var>'s <a for=Attr>element</a> to <var>oldAttr</var>'s
63456343
<a for=Attr>element</a>.
63466344

63476345
<li><p>Set <var>oldAttr</var>'s <a for=Attr>element</a> to null.
6346+
6347+
<li><p><a>Handle attribute changes</a> for <var>oldAttr</var> with <var>newAttr</var>'s
6348+
<a for=Attr>element</a>, <var>oldAttr</var>'s <a for=Attr>value</a>, and <var>newAttr</var>'s
6349+
<a for=Attr>value</a>.
63486350
</ol>
63496351

63506352
<hr>

0 commit comments

Comments
 (0)