@@ -1287,8 +1287,9 @@ property of the event being dispatched.
12871287
12881288<div algorithm>
12891289<p> To <dfn export id=concept-event-dispatch>dispatch</dfn> an <var> event</var> to a
1290- <var> target</var> , with an optional <var> legacy target override flag</var> and an optional
1291- <var> legacyOutputDidListenersThrowFlag</var> , run these steps:
1290+ <var> target</var> , with an optional <var> legacy target override flag</var> , an optional
1291+ <var> legacyOutputDidListenersThrowFlag</var> , and an optional
1292+ <var> useCallerAsyncContextFlag</var> , run these steps:
12921293
12931294<ol>
12941295 <li><p> Set <var> event</var> 's <a>dispatch flag</a> .
@@ -1425,8 +1426,9 @@ property of the event being dispatched.
14251426 <li><p> Otherwise, set <var> event</var> 's {{Event/eventPhase}} attribute to
14261427 {{Event/CAPTURING_PHASE}} .
14271428
1428- <li><p> <a>Invoke</a> with <var> struct</var> , <var> event</var> , "<code> capturing</code> ", and
1429- <var> legacyOutputDidListenersThrowFlag</var> if given.
1429+ <li><p> <a>Invoke</a> with <var> struct</var> , <var> event</var> , "<code> capturing</code> ",
1430+ <var> legacyOutputDidListenersThrowFlag</var> if given, and
1431+ <var> useCallerAsyncContextFlag</var> if given.
14301432 </ol>
14311433
14321434 <li>
@@ -1446,8 +1448,9 @@ property of the event being dispatched.
14461448 <li><p> Set <var> event</var> 's {{Event/eventPhase}} attribute to {{Event/BUBBLING_PHASE}} .
14471449 </ol>
14481450
1449- <li><p> <a>Invoke</a> with <var> struct</var> , <var> event</var> , "<code> bubbling</code> ", and
1450- <var> legacyOutputDidListenersThrowFlag</var> if given.
1451+ <li><p> <a>Invoke</a> with <var> struct</var> , <var> event</var> , "<code> bubbling</code> ",
1452+ <var> legacyOutputDidListenersThrowFlag</var> if given, and
1453+ <var> useCallerAsyncContextFlag</var> if given.
14511454 </ol>
14521455 </ol>
14531456
@@ -1517,8 +1520,9 @@ steps:</p>
15171520
15181521<div algorithm>
15191522<p> To <dfn noexport id=concept-event-listener-invoke>invoke</dfn> , given a <var> struct</var> ,
1520- <var> event</var> , <var> phase</var> , and an optional <var> legacyOutputDidListenersThrowFlag</var> ,
1521- run these steps:
1523+ <var> event</var> , <var> phase</var> , an optional <var> legacyOutputDidListenersThrowFlag</var> ,
1524+ an optional <var> legacyOutputDidListenersThrowFlag</var> if given, and an optional
1525+ <var> useCallerAsyncContextFlag</var> , run these steps:
15221526
15231527<ol>
15241528 <li><p> Set <var> event</var> 's <a for=Event>target</a> to the
@@ -1548,8 +1552,9 @@ run these steps:
15481552 <a for=Event/path>invocation-target-in-shadow-tree</a> .
15491553
15501554 <li><p> Let <var> found</var> be the result of running <a>inner invoke</a> with <var> event</var> ,
1551- <var> listeners</var> , <var> phase</var> , <var> invocationTargetInShadowTree</var> , and
1552- <var> legacyOutputDidListenersThrowFlag</var> if given.
1555+ <var> listeners</var> , <var> phase</var> , <var> invocationTargetInShadowTree</var> ,
1556+ <var> legacyOutputDidListenersThrowFlag</var> if given, and <var> useCallerAsyncContextFlag</var> if
1557+ given.
15531558
15541559 <li>
15551560 <p> If <var> found</var> is false and <var> event</var> 's {{Event/isTrusted}} attribute is true,
@@ -1574,8 +1579,8 @@ run these steps:
15741579 </table>
15751580
15761581 <li><p> <a>Inner invoke</a> with <var> event</var> , <var> listeners</var> , <var> phase</var> ,
1577- <var> invocationTargetInShadowTree</var> , and <var> legacyOutputDidListenersThrowFlag</var>
1578- if given.
1582+ <var> invocationTargetInShadowTree</var> , <var> legacyOutputDidListenersThrowFlag</var> if given,
1583+ and <var> useCallerAsyncContextFlag </var> if given.
15791584
15801585 <li><p> Set <var> event</var> 's {{Event/type}} attribute value to <var> originalEventType</var> .
15811586 </ol>
@@ -1585,11 +1590,15 @@ run these steps:
15851590<div algorithm>
15861591<p> To <dfn noexport id=concept-event-listener-inner-invoke>inner invoke</dfn> , given an
15871592<var> event</var> , <var> listeners</var> , <var> phase</var> , <var> invocationTargetInShadowTree</var> ,
1588- and an optional <var> legacyOutputDidListenersThrowFlag</var> , run these steps:
1593+ and an optional <var> legacyOutputDidListenersThrowFlag</var> , and an optional
1594+ <var> useCallerAsyncContextFlag</var> , run these steps:
15891595
15901596<ol>
15911597 <li><p> Let <var> found</var> be false.
15921598
1599+ <li><p> Let <var> useCreationTimeAsyncContext</var> be false if
1600+ <var> useCallerAsyncContextFlag</var> is passed and true otherwise.
1601+
15931602 <li>
15941603 <p> <a for=list>For each</a> <var> listener</var> in <var> listeners</var> , whose
15951604 <a for="event listener">removed</a> is false:
@@ -1632,8 +1641,9 @@ and an optional <var>legacyOutputDidListenersThrowFlag</var>, run these steps:
16321641
16331642 <li>
16341643 <p> <a>Call a user object's operation</a> with <var> listener</var> 's
1635- <a for="event listener">callback</a> , "<code> handleEvent</code> ", « <var> event</var> », and
1636- <var> event</var> 's {{Event/currentTarget}} attribute value. If this throws an exception, then:
1644+ <a for="event listener">callback</a> , "<code> handleEvent</code> ", « <var> event</var> »,
1645+ <var> event</var> 's {{Event/currentTarget}} attribute value, and
1646+ <var> useCreationTimeAsyncContext</var> . If this throws an exception, then:
16371647
16381648 <ol>
16391649 <li><p> <a>Report the exception</a> .
@@ -1664,7 +1674,8 @@ and an optional <var>legacyOutputDidListenersThrowFlag</var>, run these steps:
16641674<div algorithm>
16651675<p> To <dfn export id=concept-event-fire>fire an event</dfn> named <var> e</var> at <var> target</var> ,
16661676optionally using an <var> eventConstructor</var> , with a description of how IDL attributes are to be
1667- initialized, and a <var> legacy target override flag</var> , run these steps:
1677+ initialized, a <var> legacy target override flag</var> , and an optional
1678+ <var> useCallerAsyncContextFlag</var> run these steps:
16681679
16691680<ol>
16701681 <li><p> If <var> eventConstructor</var> is not given, then let <var> eventConstructor</var> be
@@ -1682,7 +1693,8 @@ initialized, and a <var>legacy target override flag</var>, run these steps:
16821693 <p class=note> This also allows for the {{Event/isTrusted}} attribute to be set to false.
16831694
16841695 <li><p> Return the result of <a>dispatching</a> <var> event</var> at <var> target</var> , with
1685- <var> legacy target override flag</var> set if set.
1696+ <var> legacy target override flag</var> set if set, and <var> useCallerAsyncContextFlag</var> set if
1697+ set.
16861698</ol>
16871699</div>
16881700
0 commit comments