Skip to content

Commit 644c89c

Browse files
committed
Adjust relatedTarget passed to dispatch to ensure event path doesn't get pruned to nothing
1 parent 2c20fb0 commit 644c89c

1 file changed

Lines changed: 47 additions & 8 deletions

File tree

‎source‎

Lines changed: 47 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -57133,14 +57133,18 @@ interface <dfn interface>HTMLButtonElement</dfn> : <span>HTMLElement</span> {
5713357133
is valid for a target</span> given <var>command</var> and <var>target</var> is false, then
5713457134
return.</p></li>
5713557135

57136+
<li><p>Let <var>relatedTarget</var> be <var>target</var> if the result of <span
57137+
data-x="dom-retarget">retargeting</span> <var>element</var> against <var>target</var> is
57138+
<var>target</var>; otherwise <var>element</var>.</p></li>
57139+
5713657140
<li>
5713757141
<p>Let <var>continue</var> be the result of <span data-x="concept-event-fire">firing an
5713857142
event</span> named <code data-x="event-command">command</code> at <var>target</var>, using
5713957143
<code>CommandEvent</code>, with its <code data-x="dom-CommandEvent-command">command</code>
5714057144
attribute initialized to <var>command</var>, its <code
5714157145
data-x="dom-Event-cancelable">cancelable</code> attribute initialized to true, its
5714257146
<span>composed flag</span> set, and given <span
57143-
data-x="concept-event-fire-relatedTarget">relatedTarget</span> <var>element</var>.</p>
57147+
data-x="concept-event-fire-relatedTarget">relatedTarget</span> <var>relatedTarget</var>.</p>
5714457148

5714557149
<p class="XXX"><a href="https://github.com/whatwg/dom/issues/1328">DOM standard issue
5714657150
#1328</a> tracks how to better standardize associated event data in a way which makes sense on
@@ -64671,12 +64675,17 @@ fur
6467164675
<li><p>Let <var>submitterButton</var> be null if <var>submitter</var> is <var>form</var>.
6467264676
Otherwise, let <var>submitterButton</var> be <var>submitter</var>.</p></li>
6467364677

64678+
<li><p>Let <var>relatedTarget</var> be <var>form</var> if the result of <span
64679+
data-x="dom-retarget">retargeting</span> <var>submitterButton</var> against <var>form</var> is
64680+
<var>form</var>; otherwise <var>submitterButton</var>.</p></li>
64681+
6467464682
<li><p>Let <var>shouldContinue</var> be the result of <span data-x="concept-event-fire">firing
6467564683
an event</span> named <code data-x="event-submit">submit</code> at <var>form</var> using
6467664684
<code>SubmitEvent</code>, with the <code data-x="dom-Event-bubbles">bubbles</code> attribute
6467764685
initialized to true, the <code data-x="dom-Event-cancelable">cancelable</code> attribute
6467864686
initialized to true, the <span>composed flag</span> set, and given <span
64679-
data-x="concept-event-fire-relatedTarget">relatedTarget</span> <var>submitterButton</var>.</p></li>
64687+
data-x="concept-event-fire-relatedTarget">relatedTarget</span>
64688+
<var>relatedTarget</var>.</p></li>
6468064689

6468164690
<li><p>Set <var>form</var>'s <span>firing submission events</span> to false.</p></li>
6468264691

@@ -66923,6 +66932,10 @@ interface <dfn interface>HTMLDialogElement</dfn> : <span>HTMLElement</span> {
6692366932
state</span>, then throw an <span>"<code>InvalidStateError</code>"</span>
6692466933
<code>DOMException</code>.</p></li>
6692566934

66935+
<li><p>Let <var>relatedTarget</var> be <var>subject</var> if the result of <span
66936+
data-x="dom-retarget">retargeting</span> <var>source</var> against <var>subject</var> is
66937+
<var>subject</var>; otherwise <var>source</var>.</p></li>
66938+
6692666939
<li><p>Let <var>beforeToggleResult</var> be the result of <span
6692766940
data-x="concept-event-fire">firing an event</span> named <code
6692866941
data-x="event-beforetoggle">beforetoggle</code>, at <var>subject</var> using
@@ -66931,7 +66944,8 @@ interface <dfn interface>HTMLDialogElement</dfn> : <span>HTMLElement</span> {
6693166944
attribute initialized to "<code data-x="">closed</code>", the <code
6693266945
data-x="dom-ToggleEvent-newState">newState</code> attribute initialized to "<code
6693366946
data-x="">open</code>", the <span>composed flag</span> set, and given <span
66934-
data-x="concept-event-fire-relatedTarget">relatedTarget</span> <var>source</var>.</p></li>
66947+
data-x="concept-event-fire-relatedTarget">relatedTarget</span>
66948+
<var>relatedTarget</var>.</p></li>
6693566949

6693666950
<li><p>If <var>beforeToggleResult</var> is false, then return.</p></li>
6693766951

@@ -67098,13 +67112,18 @@ interface <dfn interface>HTMLDialogElement</dfn> : <span>HTMLElement</span> {
6709867112
<li><p>If <var>subject</var> does not have an <code data-x="attr-dialog-open">open</code>
6709967113
attribute, then return.</p></li>
6710067114

67115+
<li><p>Let <var>relatedTarget</var> be <var>subject</var> if the result of <span
67116+
data-x="dom-retarget">retargeting</span> <var>source</var> against <var>subject</var> is
67117+
<var>subject</var>; otherwise <var>source</var>.</p></li>
67118+
6710167119
<li><p><span data-x="concept-event-fire">Fire an event</span> named <code
6710267120
data-x="event-beforetoggle">beforetoggle</code> at <var>subject</var>, using
6710367121
<code>ToggleEvent</code>, with the <code data-x="dom-ToggleEvent-oldState">oldState</code>
6710467122
attribute initialized to "<code data-x="">open</code>", the <code
6710567123
data-x="dom-ToggleEvent-newState">newState</code> attribute initialized to "<code
6710667124
data-x="">closed</code>", the <span>composed flag</span> set, and given <span
67107-
data-x="concept-event-fire-relatedTarget">relatedTarget</span> <var>source</var>.</p></li>
67125+
data-x="concept-event-fire-relatedTarget">relatedTarget</span>
67126+
<var>relatedTarget</var>.</p></li>
6710867127

6710967128
<li><p>If <var>subject</var> does not have an <code data-x="attr-dialog-open">open</code>
6711067129
attribute, then return.</p></li>
@@ -67212,12 +67231,17 @@ interface <dfn interface>HTMLDialogElement</dfn> : <span>HTMLElement</span> {
6721267231
<var>element</var> to run the following steps:</p>
6721367232

6721467233
<ol>
67234+
<li><p>Let <var>relatedTarget</var> be <var>element</var> if the result of <span
67235+
data-x="dom-retarget">retargeting</span> <var>source</var> against <var>element</var> is
67236+
<var>element</var>; otherwise <var>source</var>.</p></li>
67237+
6721567238
<li><p><span data-x="concept-event-fire">Fire an event</span> named <code
6721667239
data-x="event-toggle">toggle</code> at <var>element</var>, using <code>ToggleEvent</code>, with
6721767240
the <code data-x="dom-ToggleEvent-oldState">oldState</code> attribute initialized to
6721867241
<var>oldState</var>, the <code data-x="dom-ToggleEvent-newState">newState</code> attribute
6721967242
initialized to <var>newState</var>, the <span>composed flag</span> set, and given <span
67220-
data-x="concept-event-fire-relatedTarget">relatedTarget</span> <var>source</var>.</p></li>
67243+
data-x="concept-event-fire-relatedTarget">relatedTarget</span>
67244+
<var>relatedTarget</var>.</p></li>
6722167245

6722267246
<li><p>Set <var>element</var>'s <span>dialog toggle task tracker</span> to null.</p></li>
6722367247
</ol>
@@ -92588,6 +92612,10 @@ dictionary <dfn dictionary>DragEventInit</dfn> : <span>MouseEventInit</span> {
9258892612
</ol>
9258992613
</li>
9259092614

92615+
<li><p>Let <var>relatedTarget</var> be <var>element</var> if the result of <span
92616+
data-x="dom-retarget">retargeting</span> <var>source</var> against <var>element</var> is
92617+
<var>element</var>; otherwise <var>source</var>.</p></li>
92618+
9259192619
<li><p>Let <var>beforeToggleResult</var> be the result of <span
9259292620
data-x="concept-event-fire">firing an event</span> named <code
9259392621
data-x="event-beforetoggle">beforetoggle</code> at <var>element</var> using
@@ -92596,7 +92624,8 @@ dictionary <dfn dictionary>DragEventInit</dfn> : <span>MouseEventInit</span> {
9259692624
attribute initialized to "<code data-x="">closed</code>", the <code
9259792625
data-x="dom-ToggleEvent-newState">newState</code> attribute initialized to "<code
9259892626
data-x="">open</code>", the <span>composed flag</span> set, and given <span
92599-
data-x="concept-event-fire-relatedTarget">relatedTarget</span> <var>source</var>.</p></li>
92627+
data-x="concept-event-fire-relatedTarget">relatedTarget</span>
92628+
<var>relatedTarget</var>.</p></li>
9260092629

9260192630
<li><p>If <var>beforeToggleResult</var> is false, then run <var>cleanupShowingSteps</var> and
9260292631
return.</p></li>
@@ -92823,12 +92852,17 @@ dictionary <dfn dictionary>DragEventInit</dfn> : <span>MouseEventInit</span> {
9282392852
<var>element</var> to run the following steps:</p>
9282492853

9282592854
<ol>
92855+
<li><p>Let <var>relatedTarget</var> be <var>element</var> if the result of <span
92856+
data-x="dom-retarget">retargeting</span> <var>source</var> against <var>element</var> is
92857+
<var>element</var>; otherwise <var>source</var>.</p></li>
92858+
9282692859
<li><p><span data-x="concept-event-fire">Fire an event</span> named <code
9282792860
data-x="event-toggle">toggle</code> at <var>element</var>, using <code>ToggleEvent</code>, with
9282892861
the <code data-x="dom-ToggleEvent-oldState">oldState</code> attribute initialized to
9282992862
<var>oldState</var>, the <code data-x="dom-ToggleEvent-newState">newState</code> attribute
9283092863
initialized to <var>newState</var>, the <span>composed flag</span> set, and given <span
92831-
data-x="concept-event-fire-relatedTarget">relatedTarget</span> <var>source</var>.</p></li>
92864+
data-x="concept-event-fire-relatedTarget">relatedTarget</span>
92865+
<var>relatedTarget</var>.</p></li>
9283292866

9283392867
<li><p>Set <var>element</var>'s <span>popover toggle task tracker</span> to null.</p></li>
9283492868
</ol>
@@ -92967,13 +93001,18 @@ dictionary <dfn dictionary>DragEventInit</dfn> : <span>MouseEventInit</span> {
9296793001
<p>If <var>fireEvents</var> is true:</p>
9296893002

9296993003
<ol>
93004+
<li><p>Let <var>relatedTarget</var> be <var>element</var> if the result of <span
93005+
data-x="dom-retarget">retargeting</span> <var>source</var> against <var>element</var> is
93006+
<var>element</var>; otherwise <var>source</var>.</p></li>
93007+
9297093008
<li><p><span data-x="concept-event-fire">Fire an event</span> named <code
9297193009
data-x="event-beforetoggle">beforetoggle</code> at <var>element</var>, using
9297293010
<code>ToggleEvent</code>, with the <code data-x="dom-ToggleEvent-oldState">oldState</code>
9297393011
attribute initialized to "<code data-x="">open</code>", the <code
9297493012
data-x="dom-ToggleEvent-newState">newState</code> attribute initialized to "<code
9297593013
data-x="">closed</code>", the <span>composed flag</span> set, and given <span
92976-
data-x="concept-event-fire-relatedTarget">relatedTarget</span> <var>source</var>.</p></li>
93014+
data-x="concept-event-fire-relatedTarget">relatedTarget</span>
93015+
<var>relatedTarget</var>.</p></li>
9297793016

9297893017
<li>
9297993018
<p>Set <var>validityResult</var> to the result of running <span>check popover validity</span>

0 commit comments

Comments
 (0)