Intent to Ship: Preserving dropEffect Values from dragover to drop Events

4 views
Skip to first unread message

Chromestatus

unread,
12:37 AM (3 hours ago) 12:37 AM
to blin...@chromium.org, ror...@microsoft.com
Contact emails
ror...@microsoft.com

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 desktop146
Shipping on Android146
Shipping on WebView146


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).

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.
Reply all
Reply to author
Forward
0 new messages