Chromestatus
unread,Feb 25, 2026, 2:49:41 PM (10 hours ago) Feb 25Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to blin...@chromium.org, gas...@microsoft.com, gerc...@microsoft.com, mus...@chromium.org
Contact emails
gas...@microsoft.com
Specification
https://html.spec.whatwg.org/multipage/dnd.html#drag-and-drop-processing-model:~:text=Fire%20a%20pointer%20event%20at%20the%20source%20node%20named%20pointercancel%2C%20and%20fire%20any%20other%20follow%2Dup%20events%20as%20required%20by%20Pointer%20Events.%20%5BPOINTEREVENTS%5D
Summary
According to the HTML spec, when a drag starts the user agent should
send the appropriate events to the drag source to indicate that the
pointer event stream has ended, and that it shouldn't expect any
more events from this pointer [1]. This code had been partially implemented
for mouse events and fully implemented for touch drags on Android. With the work in this feature, we aim to fully satisfy this spec requirement on all other platforms.
[1] Pointer event spec definition of pointer stream suppression:
https://w3c.github.io/pointerevents/#suppressing-a-pointer-event-stream
Blink component
Blink>DataTransfer
Web Feature ID
draganddrop
Motivation
Chromium is currently out of spec when starting drag-and-drop operations. According to the specification, the user agent must notify the drag source that it will no longer receive pointer events from the same input source by firing the corresponding drag-* events. This behavior is fully implemented only on Android; on other platforms, Chromium does not fire all of the required events.
Initial public proposal
No information provided
TAG review
No information provided
TAG review status
Not applicable
Risks
Interoperability and Compatibility
Other browsers also fall out of spec in this particular point and don't send the appropriate events when a drag starts, which means that Chromium will be the only browser that implements this behavior.
Gecko: Neutral (
https://bugzilla.mozilla.org/show_bug.cgi?id=1994552) A bug has been filed and has received interest from Firefox developers.
WebKit: No signal (
https://github.com/WebKit/standards-positions/issues/598) (Will update the signal when the issue receives feedback)
Web developers: Positive (
https://github.com/w3c/pointerevents/issues/555) We have received developer feedback [1] regarding the browser's behavior with respect to the specification.
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?
No, and if any issue is found, we have a feature flag acting as a kill switch (SuppressPointerStreamAfterDrag).
Debuggability
No additional functionality is needed to be added to debug this feature
Will this feature be supported on all six Blink platforms
(Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?
Yes
Yes
https://wpt.fyi/results/html/editing/dnd/events/pointer-suppression.html
(currently failing because the change is behind a disabled feature flag)
Flag name on about://flags
No information provided
Finch feature name
SuppressPointerStreamAfterDrag
Non-finch justification
The feature will be shipped enabled by default to be used as a kill-switch in case a severe issue is discovered.
Rollout plan
Will ship enabled for all users
Requires code in //chrome?
False
Tracking bug
https://issues.chromium.org/issues/452372355
Estimated milestones
| Shipping on desktop | 147 |
| Shipping on Android | 147 |
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).
N/A
Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/6732314958757888?gate=6606447989358592