@@ -66945,19 +66945,28 @@ customElements.define("x-foo", class extends HTMLElement {
66945
66945
Additionally, it must not appear on readonly attributes.</p>
66946
66946
66947
66947
<p>Operations, attributes, setters, or deleters annotated with the <code
66948
- data-x="CEReactions">[CEReactions]</code> extended attribute must run the following steps
66949
- surrounding the actions listed in the description of the operation, setter, deleter, or the
66950
- attribute's setter:</p>
66948
+ data-x="CEReactions">[CEReactions]</code> extended attribute must run the following steps in place
66949
+ of the ones specified in their description:</p>
66951
66950
66952
- <dl>
66953
- <dt>Before executing the listed actions</dt>
66954
- <dd>Push a new <span>element queue</span> onto the <span>custom element reactions
66955
- stack</span>.</dd>
66951
+ <ol>
66952
+ <li><p><span data-x="stack push">Push</span> a new <span>element queue</span> onto the
66953
+ <span>custom element reactions stack</span>.</p></li>
66956
66954
66957
- <dt>After executing the listed actions</dt>
66958
- <dd>Pop the <span>element queue</span> from the <span>custom element reactions stack</span>, and
66959
- <span>invoke custom element reactions</span> in that queue.</dd>
66960
- </dl>
66955
+ <li><p>Run the originally-specified steps for this construct, catching any exceptions. If the
66956
+ steps return a value, let <var>value</var> be the returned value. If they throw an exception, let
66957
+ <var>exception</var> be the thrown exception.</p></li>
66958
+
66959
+ <li><p>Let <var>queue</var> be the result of <span data-x="stack pop">popping</span> from the
66960
+ <span>custom element reactions stack</span>.</p></li>
66961
+
66962
+ <li><p><span>Invoke custom element reactions</span> in <var>queue</var>.</p></li>
66963
+
66964
+ <li><p>If an exception <var>exception</var> was thrown by the original steps, rethrow
66965
+ <var>exception</var>.</p></li>
66966
+
66967
+ <li><p>If a value <var>value</var> was returned from the original steps, return
66968
+ <var>value</var>.</p></li>
66969
+ </ol>
66961
66970
66962
66971
<div class="note">
66963
66972
<p>The intent behind this extended attribute is somewhat subtle. One way of accomplishing its
0 commit comments