Contact emails
[email protected]

Specification
https://www.w3.org/TR/2011/WD-html5-20110113/dnd.html#dom-datatransfer-dropeffect


Summary
The HTML5 Drag and Drop API allows web applications to handle drag-and-drop 
operations through a series of events: `dragstart`, `dragenter`, `dragover`, 
`dragleave`, `drop`, and `dragend`. During these events, the 
[`dataTransfer.dropEffect`](https://www.w3.org/TR/2011/WD-html5-20110113/dnd.html#dom-datatransfer-dropeffect)
 property indicates which operation (copy, move, link, or none) should be 
performed. According to the [HTML5 
specification](https://www.w3.org/TR/2011/WD-html5-20110113/dnd.html#dndevents),
 the `dropEffect` value set by web applications during the last `dragover` 
event should be preserved and available in the subsequent `drop` event. 
However, Chromium-based browsers were overwriting the web application's 
`dropEffect` value with the browser's own negotiated operation before the 
`drop` event fired, breaking specification compliance and limiting developer 
control over drag-and-drop behavior.


Blink component
Blink>DataTransfer


Web Feature ID
draganddrop


Motivation
The current behavior: - Violates the HTML5 specification: Contradicts the 
standardized behavior defined in the HTML5 Drag and Drop API - Breaks developer 
control: Removes the ability for web applications to manage their own 
drag-and-drop operations - Creates unpredictable UX: The operation indicated 
during drag (via cursor feedback) may not match what's available in the drop 
handler - Forces workarounds: Developers must store `dropEffect` values in 
global variables or custom data attributes rather than using the standard API - 
Limits functionality: Makes it impossible to build spec-compliant file 
managers, code editors, and other applications requiring sophisticated 
drag-and-drop


Initial public proposal
No information provided


Search tags
draganddrop, dropEffect


TAG review
No information provided


TAG review status
Not applicable


Risks




Interoperability and Compatibility
No information provided

Gecko: Shipped/Shipping

WebKit: No signal (https://github.com/WebKit/standards-positions/issues/596)

Web developers: Strongly positive (https://issues.chromium.org/issues/40068941) 
42 upvotes on the associated Chromium issue

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
No new functionality needed for debuggability


Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, 
ChromeOS, Android, and Android WebView)?
Yes
This is a blink level change independent of platform implementation.


Is this feature fully tested by web-platform-tests?
Yes
There are few manual WPTs like https://wpt.live/html/editing/dnd/drop/025.html 
which cover this feature. Chromium has internal web tests / unit tests as well 
for this feature.


Flag name on about://flags
No information provided


Finch feature name
PreserveDropEffect


Rollout plan
Will ship enabled for all users


Requires code in //chrome?
False


Tracking bug
https://issues.chromium.org/issues/40068941


Estimated milestones


Shipping on desktop 146

Shipping on Android 146

Shipping on WebView 146




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).
No information provided


Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5140028068069376?gate=6545001561587712


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/6965d9fc.050a0220.10ef4e.02b1.GAE%40google.com.

Reply via email to