Skip to content

Commit d2018a9

Browse files
Correct expectations for pointerevents after slot changes.
These 3 points were missed previously: - The mouse pointer moves off from the `shadow_host` to click `done`. - After `slot` removal, the `slotted_child` remains un-rendered and also doesn't appear in the `parent.children` list. So the `slotted_child` is effectively disconnected therefore not expected to receive any following event. Firefox behaves this way too. - The down/up events at `parent` are also dispatched to `shadow_root`. Both Chrome and Firefox behaves this way, matching the spec [1]. Manual test link: https://codepen.io/mustaqahmed/full/BaeRvdZ [1] https://dom.spec.whatwg.org/#dispatching-events Steps 5.13 and 5.14. Bug: 40156858 Change-Id: I7d9f50c7732b0dc81887dce86a323685b46fab17 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5640796 Reviewed-by: Robert Flack <[email protected]> Commit-Queue: Mustaq Ahmed <[email protected]> Cr-Commit-Position: refs/heads/main@{#1317590}
1 parent 7c062fb commit d2018a9

File tree

1 file changed

+16
-12
lines changed

1 file changed

+16
-12
lines changed

pointerevents/pointerevent_after_target_removed_from_slot.html

+16-12
Original file line numberDiff line numberDiff line change
@@ -142,10 +142,10 @@
142142
"pointerover@child",
143143
"pointerenter@host", "pointerenter@parent", "pointerenter@slot", "pointerenter@child",
144144
"pointerdown@child", "(child-removed)",
145-
"pointerout@child", "pointerleave@child",
146-
"pointerover@parent", "pointerup@parent",
147-
"pointerdown@parent", "pointerup@parent",
148-
"pointerout@parent", "pointerleave@parent"
145+
"pointerover@parent", "pointerup@parent", "pointerup@host",
146+
"pointerdown@parent", "pointerdown@host", "pointerup@parent", "pointerup@host",
147+
"pointerout@parent",
148+
"pointerleave@parent", "pointerleave@host"
149149
]
150150
);
151151
addPromiseTest(
@@ -155,9 +155,10 @@
155155
"pointerover@child",
156156
"pointerenter@host", "pointerenter@parent", "pointerenter@slot", "pointerenter@child",
157157
"pointerdown@child", "(child-removed)",
158-
"pointerleave@slot", "pointerover@parent", "pointerup@parent",
159-
"pointerdown@parent", "pointerup@parent",
160-
"pointerout@parent", "pointerleave@parent"
158+
"pointerleave@slot", "pointerover@parent", "pointerup@parent", "pointerup@host",
159+
"pointerdown@parent", "pointerdown@host", "pointerup@parent", "pointerup@host",
160+
"pointerout@parent",
161+
"pointerleave@parent", "pointerleave@host"
161162
]
162163
);
163164
addPromiseTest(
@@ -167,9 +168,10 @@
167168
"pointerover@child",
168169
"pointerenter@host", "pointerenter@parent", "pointerenter@slot", "pointerenter@child",
169170
"pointerdown@child", "pointerup@child", "(child-removed)",
170-
"pointerout@child", "pointerleave@child",
171-
"pointerover@parent", "pointerdown@parent", "pointerup@parent",
172-
"pointerout@parent", "pointerleave@parent"
171+
"pointerover@parent",
172+
"pointerdown@parent", "pointerdown@host", "pointerup@parent", "pointerup@host",
173+
"pointerout@parent",
174+
"pointerleave@parent", "pointerleave@host"
173175
]
174176
);
175177
addPromiseTest(
@@ -179,8 +181,10 @@
179181
"pointerover@child",
180182
"pointerenter@host", "pointerenter@parent", "pointerenter@slot", "pointerenter@child",
181183
"pointerdown@child", "pointerup@child", "(child-removed)",
182-
"pointerleave@slot", "pointerover@parent", "pointerdown@parent", "pointerup@parent",
183-
"pointerout@parent", "pointerleave@parent"
184+
"pointerleave@slot", "pointerover@parent",
185+
"pointerdown@parent", "pointerdown@host", "pointerup@parent", "pointerup@host",
186+
"pointerout@parent",
187+
"pointerleave@parent", "pointerleave@host"
184188
]
185189
);
186190
</script>

0 commit comments

Comments
 (0)