@@ -1270,8 +1270,9 @@ property of the event being dispatched.
1270
1270
<h3 id=dispatching-events>Dispatching events</h3>
1271
1271
1272
1272
<p> To <dfn export id=concept-event-dispatch>dispatch</dfn> an <var> event</var> to a
1273
- <var> target</var> , with an optional <var> legacy target override flag</var> and an optional
1274
- <var> legacyOutputDidListenersThrowFlag</var> , run these steps:
1273
+ <var> target</var> , with an optional <var> legacy target override flag</var> , an optional
1274
+ <var> legacyOutputDidListenersThrowFlag</var> , and an optional
1275
+ <var> useCallerAsyncContextFlag</var> , run these steps:
1275
1276
1276
1277
<ol>
1277
1278
<li><p> Set <var> event</var> 's <a>dispatch flag</a> .
@@ -1408,8 +1409,9 @@ property of the event being dispatched.
1408
1409
<li><p> Otherwise, set <var> event</var> 's {{Event/eventPhase}} attribute to
1409
1410
{{Event/CAPTURING_PHASE}} .
1410
1411
1411
- <li><p> <a>Invoke</a> with <var> struct</var> , <var> event</var> , "<code> capturing</code> ", and
1412
- <var> legacyOutputDidListenersThrowFlag</var> if given.
1412
+ <li><p> <a>Invoke</a> with <var> struct</var> , <var> event</var> , "<code> capturing</code> ",
1413
+ <var> legacyOutputDidListenersThrowFlag</var> if given, and
1414
+ <var> useCallerAsyncContextFlag</var> if given.
1413
1415
</ol>
1414
1416
1415
1417
<li>
@@ -1429,8 +1431,9 @@ property of the event being dispatched.
1429
1431
<li><p> Set <var> event</var> 's {{Event/eventPhase}} attribute to {{Event/BUBBLING_PHASE}} .
1430
1432
</ol>
1431
1433
1432
- <li><p> <a>Invoke</a> with <var> struct</var> , <var> event</var> , "<code> bubbling</code> ", and
1433
- <var> legacyOutputDidListenersThrowFlag</var> if given.
1434
+ <li><p> <a>Invoke</a> with <var> struct</var> , <var> event</var> , "<code> bubbling</code> ",
1435
+ <var> legacyOutputDidListenersThrowFlag</var> if given, and
1436
+ <var> useCallerAsyncContextFlag</var> if given.
1434
1437
</ol>
1435
1438
</ol>
1436
1439
@@ -1496,8 +1499,9 @@ steps:</p>
1496
1499
</ol>
1497
1500
1498
1501
<p> To <dfn noexport id=concept-event-listener-invoke>invoke</dfn> , given a <var> struct</var> ,
1499
- <var> event</var> , <var> phase</var> , and an optional <var> legacyOutputDidListenersThrowFlag</var> ,
1500
- run these steps:
1502
+ <var> event</var> , <var> phase</var> , an optional <var> legacyOutputDidListenersThrowFlag</var> ,
1503
+ an optional <var> legacyOutputDidListenersThrowFlag</var> if given, and an optional
1504
+ <var> useCallerAsyncContextFlag</var> , run these steps:
1501
1505
1502
1506
<ol>
1503
1507
<li><p> Set <var> event</var> 's <a for=Event>target</a> to the
@@ -1527,8 +1531,9 @@ run these steps:
1527
1531
<a for=Event/path>invocation-target-in-shadow-tree</a> .
1528
1532
1529
1533
<li><p> Let <var> found</var> be the result of running <a>inner invoke</a> with <var> event</var> ,
1530
- <var> listeners</var> , <var> phase</var> , <var> invocationTargetInShadowTree</var> , and
1531
- <var> legacyOutputDidListenersThrowFlag</var> if given.
1534
+ <var> listeners</var> , <var> phase</var> , <var> invocationTargetInShadowTree</var> ,
1535
+ <var> legacyOutputDidListenersThrowFlag</var> if given, and <var> useCallerAsyncContextFlag</var> if
1536
+ given.
1532
1537
1533
1538
<li>
1534
1539
<p> If <var> found</var> is false and <var> event</var> 's {{Event/isTrusted}} attribute is true,
@@ -1553,20 +1558,24 @@ run these steps:
1553
1558
</table>
1554
1559
1555
1560
<li><p> <a>Inner invoke</a> with <var> event</var> , <var> listeners</var> , <var> phase</var> ,
1556
- <var> invocationTargetInShadowTree</var> , and <var> legacyOutputDidListenersThrowFlag</var>
1557
- if given.
1561
+ <var> invocationTargetInShadowTree</var> , <var> legacyOutputDidListenersThrowFlag</var> if given,
1562
+ and <var> useCallerAsyncContextFlag </var> if given.
1558
1563
1559
1564
<li><p> Set <var> event</var> 's {{Event/type}} attribute value to <var> originalEventType</var> .
1560
1565
</ol>
1561
1566
</ol>
1562
1567
1563
1568
<p> To <dfn noexport id=concept-event-listener-inner-invoke>inner invoke</dfn> , given an
1564
1569
<var> event</var> , <var> listeners</var> , <var> phase</var> , <var> invocationTargetInShadowTree</var> ,
1565
- and an optional <var> legacyOutputDidListenersThrowFlag</var> , run these steps:
1570
+ and an optional <var> legacyOutputDidListenersThrowFlag</var> , and an optional
1571
+ <var> useCallerAsyncContextFlag</var> , run these steps:
1566
1572
1567
1573
<ol>
1568
1574
<li><p> Let <var> found</var> be false.
1569
1575
1576
+ <li><p> Let <var> useCreationTimeAsyncContext</var> be false if
1577
+ <var> useCallerAsyncContextFlag</var> is passed and true otherwise.
1578
+
1570
1579
<li>
1571
1580
<p> <a for=list>For each</a> <var> listener</var> in <var> listeners</var> , whose
1572
1581
<a for="event listener">removed</a> is false:
@@ -1609,8 +1618,9 @@ and an optional <var>legacyOutputDidListenersThrowFlag</var>, run these steps:
1609
1618
1610
1619
<li>
1611
1620
<p> <a>Call a user object's operation</a> with <var> listener</var> 's
1612
- <a for="event listener">callback</a> , "<code> handleEvent</code> ", « <var> event</var> », and
1613
- <var> event</var> 's {{Event/currentTarget}} attribute value. If this throws an exception, then:
1621
+ <a for="event listener">callback</a> , "<code> handleEvent</code> ", « <var> event</var> »,
1622
+ <var> event</var> 's {{Event/currentTarget}} attribute value, and
1623
+ <var> useCreationTimeAsyncContext</var> . If this throws an exception, then:
1614
1624
1615
1625
<ol>
1616
1626
<li><p> <a>Report the exception</a> .
@@ -1639,7 +1649,8 @@ and an optional <var>legacyOutputDidListenersThrowFlag</var>, run these steps:
1639
1649
1640
1650
<p> To <dfn export id=concept-event-fire>fire an event</dfn> named <var> e</var> at <var> target</var> ,
1641
1651
optionally using an <var> eventConstructor</var> , with a description of how IDL attributes are to be
1642
- initialized, and a <var> legacy target override flag</var> , run these steps:
1652
+ initialized, a <var> legacy target override flag</var> , and an optional
1653
+ <var> useCallerAsyncContextFlag</var> run these steps:
1643
1654
1644
1655
<ol>
1645
1656
<li><p> If <var> eventConstructor</var> is not given, then let <var> eventConstructor</var> be
@@ -1657,7 +1668,8 @@ initialized, and a <var>legacy target override flag</var>, run these steps:
1657
1668
<p class=note> This also allows for the {{Event/isTrusted}} attribute to be set to false.
1658
1669
1659
1670
<li><p> Return the result of <a>dispatching</a> <var> event</var> at <var> target</var> , with
1660
- <var> legacy target override flag</var> set if set.
1671
+ <var> legacy target override flag</var> set if set, and <var> useCallerAsyncContextFlag</var> set if
1672
+ set.
1661
1673
</ol>
1662
1674
1663
1675
<p class=note> Fire in the context of DOM is short for
0 commit comments