@@ -3055,6 +3055,15 @@ a.setAttribute('href', 'https://example.com/'); // change the content attribute
3055
3055
3056
3056
<p>User agents that support JavaScript must also implement the <cite>RegExp <code data-x="">v</code> flag</cite>
3057
3057
proposal. <ref spec=JSREGEXPVFLAG></p>
3058
+
3059
+ <p>User agents that support JavaScript must also implement the <cite>AsyncContext</cite>
3060
+ proposal. The following terms are defined there, and used in this specification: <ref
3061
+ spec=JSASYNCCONTEXT></p>
3062
+
3063
+ <ul class="brief">
3064
+ <li>The <dfn data-x="js-AsyncContextSnapshot" data-x-href="https://tc39.es/proposal-async-context/#sec-asynccontext-snapshot">AsyncContextSnapshot</dfn> abstract operation</li>
3065
+ <li>The <dfn data-x="js-AsyncContextSwap" data-x-href="https://tc39.es/proposal-async-context/#sec-asynccontext-swap">AsyncContextSwap</dfn> abstract operation</li>
3066
+ </ul>
3058
3067
</dd>
3059
3068
3060
3069
<dt>WebAssembly</dt>
@@ -100998,9 +101007,16 @@ dictionary <dfn dictionary>PromiseRejectionEventInit</dfn> : <span>EventInit</sp
100998
101007
<p class="note">This affects the <span>active script</span> while the callback runs.</p>
100999
101008
</li>
101000
101009
101010
+ <li><p>Let <var>previousContextMapping</var> be <span
101011
+ data-x="js-AsyncContextSwap">AsyncContextSwap</span>(<var
101012
+ >callback</var>.[[AsyncContextSnapshot]]).</p></li>
101013
+
101001
101014
<li><p>Let <var>result</var> be <span>Call</span>(<var>callback</var>.[[Callback]], <var>V</var>,
101002
101015
<var>argumentsList</var>).</p></li>
101003
101016
101017
+ <li><p>Perform <span
101018
+ data-x="js-AsyncContextSwap">AsyncContextSwap</span>(<var>previousContextMapping</var>).</p></li>
101019
+
101004
101020
<li><p>If <var>script execution context</var> is not null, then <span data-x="stack
101005
101021
pop">pop</span> <var>script execution context</var> from the <span>JavaScript execution context
101006
101022
stack</span>.</p></li>
@@ -101196,7 +101212,11 @@ dictionary <dfn dictionary>PromiseRejectionEventInit</dfn> : <span>EventInit</sp
101196
101212
</div>
101197
101213
</li>
101198
101214
101215
+ <li><p>Let <var>snapshot</var> be <span
101216
+ data-x="js-AsyncContextSnapshot">AsyncContextSnapshot</span>().</p></li>
101217
+
101199
101218
<li><p>Return the <span>JobCallback Record</span> { [[Callback]]: <var>callable</var>,
101219
+ [[AsyncContextSnapshot]]: <var>snapshot</var>,
101200
101220
[[HostDefined]]: { [[IncumbentSettings]]: <var>incumbent settings</var>, [[ActiveScriptContext]]:
101201
101221
<var>script execution context</var> } }.</p></li>
101202
101222
</ol>
@@ -133935,6 +133955,9 @@ INSERT INTERFACES HERE
133935
133955
<dt id="refsJPEG">[JPEG]</dt>
133936
133956
<dd><cite><a href="https://www.w3.org/Graphics/JPEG/jfif3.pdf">JPEG File Interchange Format</a></cite>, E. Hamilton.</dd>
133937
133957
133958
+ <dt id="refsJSASYNCCONTEXT">[JSASYNCCONTEXT]</dt>
133959
+ <dd><cite><a href="https://tc39.es/proposal-async-context/">AsyncContext</a></cite>. Ecma International.</dd>
133960
+
133938
133961
<dt id="refsJSERRORSTACKS">[JSERRORSTACKS]</dt>
133939
133962
<dd>(Non-normative) <cite><a href="https://tc39.es/proposal-error-stacks/">Error Stacks</a></cite>. Ecma International.</dd>
133940
133963
0 commit comments