Contact emails
[email protected]

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


Is this feature fully tested by web-platform-tests?
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 (eg links to known github issues in the project 
for the feature specification) whose resolution may introduce web 
compat/interop risk (eg, 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


This intent message was generated by Chrome Platform Status.

-- 
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 [email protected].
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/699f5247.050a0220.1eaaa1.0000.GAE%40google.com.

Reply via email to