Skip to content

Commit 8b055c0

Browse files
authored
Make [CEReactions]'s treatment of exceptions explicit
Fixes #3217.
1 parent 3a413b6 commit 8b055c0

File tree

1 file changed

+20
-11
lines changed

1 file changed

+20
-11
lines changed

source

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -66945,19 +66945,28 @@ customElements.define("x-foo", class extends HTMLElement {
6694566945
Additionally, it must not appear on readonly attributes.</p>
6694666946

6694766947
<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>
6695166950

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>
6695666954

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>
6696166970

6696266971
<div class="note">
6696366972
<p>The intent behind this extended attribute is somewhat subtle. One way of accomplishing its

0 commit comments

Comments
 (0)