@@ -1287,8 +1287,9 @@ property of the event being dispatched.
1287
1287
1288
1288
<div algorithm>
1289
1289
<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:
1292
1293
1293
1294
<ol>
1294
1295
<li><p> Set <var> event</var> 's <a>dispatch flag</a> .
@@ -1425,8 +1426,9 @@ property of the event being dispatched.
1425
1426
<li><p> Otherwise, set <var> event</var> 's {{Event/eventPhase}} attribute to
1426
1427
{{Event/CAPTURING_PHASE}} .
1427
1428
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.
1430
1432
</ol>
1431
1433
1432
1434
<li>
@@ -1446,8 +1448,9 @@ property of the event being dispatched.
1446
1448
<li><p> Set <var> event</var> 's {{Event/eventPhase}} attribute to {{Event/BUBBLING_PHASE}} .
1447
1449
</ol>
1448
1450
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.
1451
1454
</ol>
1452
1455
</ol>
1453
1456
@@ -1517,8 +1520,9 @@ steps:</p>
1517
1520
1518
1521
<div algorithm>
1519
1522
<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:
1522
1526
1523
1527
<ol>
1524
1528
<li><p> Set <var> event</var> 's <a for=Event>target</a> to the
@@ -1548,8 +1552,9 @@ run these steps:
1548
1552
<a for=Event/path>invocation-target-in-shadow-tree</a> .
1549
1553
1550
1554
<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.
1553
1558
1554
1559
<li>
1555
1560
<p> If <var> found</var> is false and <var> event</var> 's {{Event/isTrusted}} attribute is true,
@@ -1574,8 +1579,8 @@ run these steps:
1574
1579
</table>
1575
1580
1576
1581
<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.
1579
1584
1580
1585
<li><p> Set <var> event</var> 's {{Event/type}} attribute value to <var> originalEventType</var> .
1581
1586
</ol>
@@ -1585,11 +1590,15 @@ run these steps:
1585
1590
<div algorithm>
1586
1591
<p> To <dfn noexport id=concept-event-listener-inner-invoke>inner invoke</dfn> , given an
1587
1592
<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:
1589
1595
1590
1596
<ol>
1591
1597
<li><p> Let <var> found</var> be false.
1592
1598
1599
+ <li><p> Let <var> useCreationTimeAsyncContext</var> be false if
1600
+ <var> useCallerAsyncContextFlag</var> is passed and true otherwise.
1601
+
1593
1602
<li>
1594
1603
<p> <a for=list>For each</a> <var> listener</var> in <var> listeners</var> , whose
1595
1604
<a for="event listener">removed</a> is false:
@@ -1632,8 +1641,9 @@ and an optional <var>legacyOutputDidListenersThrowFlag</var>, run these steps:
1632
1641
1633
1642
<li>
1634
1643
<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:
1637
1647
1638
1648
<ol>
1639
1649
<li><p> <a>Report the exception</a> .
@@ -1664,7 +1674,8 @@ and an optional <var>legacyOutputDidListenersThrowFlag</var>, run these steps:
1664
1674
<div algorithm>
1665
1675
<p> To <dfn export id=concept-event-fire>fire an event</dfn> named <var> e</var> at <var> target</var> ,
1666
1676
optionally 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:
1668
1679
1669
1680
<ol>
1670
1681
<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:
1682
1693
<p class=note> This also allows for the {{Event/isTrusted}} attribute to be set to false.
1683
1694
1684
1695
<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.
1686
1698
</ol>
1687
1699
</div>
1688
1700
0 commit comments