Intent to ship: Interoperable Pointer and Mouse boundary events after DOM changes

639 views
Skip to first unread message

Mustaq Ahmed

unread,
Oct 19, 2023, 3:42:14 PM10/19/23
to blink-dev, Robert Flack

Contact emails

mus...@chromium.orgfla...@chromium.org

Specification

https://www.w3.org/TR/uievents/#events-mouseevent-event-order

Summary

After an event target gets removed from the DOM, the logical target of the pointer as implied by the Pointer and Mouse boundary events (i.e. over, out, enter and leave events) should be the nearest ancestor still attached to the DOM. PEWG has recently reached consensus on this behavior, see https://github.com/web-platform-tests/interop/issues/380. Chrome has been keeping track of a node even after it gets removed from DOM. As a result, if the pointer moves to a new node B after the hit-test node A is removed from DOM, the boundary event sequence (pointerover, pointerout, pointerenter, pointerleave events and the corresponding mouse events) used to imply a pointer movement from A to B. As per the new consensus, the event sequence should imply a pointer movement from the "parent of A" to B.



Blink component

Blink>Input

TAG review

None

TAG review status

Not applicable

Risks



Interoperability and Compatibility

There is no interop risk because major browsers are currently all slightly different from one another. We are strictly improving the situation through the intent here by having Chrome match an agreed-upon behavior that's already tested (https://github.com/web-platform-tests/interop/issues/380). The compat risk is negligible for the same reason, existing sites could not rely on the current behavior in all browsers. This is also changing a very narrow use-case.



Gecko: Positive (https://github.com/web-platform-tests/interop/issues/380) Mozilla originally called out the interop problem here.

WebKit: No signal

Web developers: Positive (https://crbug.com/1147998)

Other signals:

WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?

None



Debuggability

None



Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?

Yes

Is this feature fully tested by web-platform-tests?

Yes

https://wpt.fyi/results/pointerevents?label=master&label=experimental&aligned&q=pointerevent_after_target_appended.html%20or%20pointerevent_after_target_removed.html%20or%20pointerup_after_pointerdown_target_removed.html



Flag name on chrome://flags

None

Finch feature name

BoundaryEventDispatchTracksNodeRemoval

Requires code in //chrome?

False

Tracking bug

https://crbug.com/1147998

Sample links


https://output.jsbin.com/yumacid

Estimated milestones

Shipping on desktop121
Shipping on Android121
Shipping on WebView121


Anticipated spec changes

Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way).

None

Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5182447084109824

This intent message was generated by Chrome Platform Status.

Mike Taylor

unread,
Oct 23, 2023, 10:40:00 AM10/23/23
to Mustaq Ahmed, Robert Flack, blink-dev

Hi Mustaq,

Please take a moment to request the other review bits (API OWNERs will wait until those are in progress to begin our review). See https://groups.google.com/a/chromium.org/g/blink-dev/c/bqvB1oap0Yc/m/YlO8DEHgAQAJ for more info.

thanks!
Mike

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAB0cuO5zUdYJkRxo5kdVWpFJ%3DB50okhHr0EuWuc-WX9g7BPW0A%40mail.gmail.com.

Mustaq Ahmed

unread,
Oct 24, 2023, 12:30:56 PM10/24/23
to Mike Taylor, Robert Flack, blink-dev
Hi Mike:

Through our offline discussion I learned that for "web developer facing change to existing code", the new intent process requires merely a "PSA" without (perhaps) any need for additional approvals.  I changed the email template subject here from "PSA" to "I2S" only to secure "API Owners" approval, finding no obvious way to do it through the chromestatus UI!

Anyway, the updated chromestatus entry now seems to say those additional approvals are not needed.  Please let me know if I missed anything.

Mustaq


Chris Harrelson

unread,
Oct 27, 2023, 5:03:05 PM10/27/23
to Mustaq Ahmed, Mike Taylor, Robert Flack, blink-dev
Hi Mustaq,

"web developer facing change to existing code" is meant for "bugfix-level changes to web APIs", which is why it only requires a PSA (sorry for the confusion - this has been a common issue and the chromestatus team is working on improved UI to be less confusing).

In your case you are making a change that adjusts web-exposed behavior enough that it requires an I2S. So you'll need to update the feature type and file for all 5 review bits before the API owners can re-review.

Mustaq Ahmed

unread,
Nov 2, 2023, 12:01:24 PM11/2/23
to Chris Harrelson, Mike Taylor, Robert Flack, blink-dev
Hi Chris:

https://chromestatus.com/feature/6266812908175360 is the new entry for this feature (because feature type is read-only).  The review bits should now be visible to API Owners, please let know if that's not the case.

Mustaq

Chris Harrelson

unread,
Nov 2, 2023, 12:07:31 PM11/2/23
to Mustaq Ahmed, Mike Taylor, Robert Flack, blink-dev
It will be after you click the button to start an API owners review. Also don't forget to start the other 5 review categories.

mustaq via Chromestatus

unread,
Nov 2, 2023, 1:38:10 PM11/2/23
to blin...@chromium.org
Requesting API owners review.

Mustaq Ahmed

unread,
Nov 13, 2023, 10:04:02 AM11/13/23
to Chris Harrelson, Mike Taylor, Robert Flack, blink-dev
Hi Chris:

The other 5 review categories are now green, the last one was marked a few hours ago.

Please let me know if anything else is needed for the Blink approval process.  We are targeting M121.

Mustaq


Yoav Weiss

unread,
Nov 15, 2023, 10:52:20 AM11/15/23
to blink-dev, Mustaq Ahmed, Mike Taylor, Robert Flack, blink-dev, Chris Harrelson
LGTM1

I agree that the compat risk here seems low, and the interop win more than makes up for it. 

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.

Chris Harrelson

unread,
Nov 15, 2023, 11:16:56 AM11/15/23
to Yoav Weiss, blink-dev, Mustaq Ahmed, Mike Taylor, Robert Flack
LGTM2

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/448024af-5185-44b3-831a-051a3e4bb95fn%40chromium.org.

Mike Taylor

unread,
Nov 15, 2023, 11:17:28 AM11/15/23
to Chris Harrelson, Yoav Weiss, blink-dev, Mustaq Ahmed, Robert Flack

LGTM3

Mustaq Ahmed

unread,
Dec 6, 2023, 4:30:10 PM12/6/23
to Mike Taylor, Chris Harrelson, Yoav Weiss, blink-dev, Robert Flack
We are holding this feature off from M121 stable because of an unexpected regression: https://crbug.com/1508176

While we investigate the problem, we will enable the feature through finch on M121 Dev, Canary and Beta and watch for bug reports.  We don't see a way to measure the risk without exposing the feature.
Reply all
Reply to author
Forward
0 new messages