Thanks Rick and Philip. 

And yes - I will try and automate the existing manual test for this feature 
as part of shipping it.

On Wednesday, January 21, 2026 at 9:41:25 PM UTC+5:30 Philip Jägenstedt 
wrote:

> LGTM3
>
> Thanks Rohan for digging into the testing situation. It's great to hear 
> that there's already an effort to automate DnD tests, and it would be great 
> if this test can be moved over to the new infrastructure. If that's already 
> possible with the work that has already landed, it would be great if you 
> can give it a try as part of shipping this change.
>
> On Wed, Jan 21, 2026 at 4:53 PM Rick Byers <[email protected]> wrote:
>
>> This seems like a bugfix to me and the web compat risk seems likely to be 
>> low so presence of a killswitch flag seems adequate to me. LGTM2
>>
>> Thank you for working to improve DnD spec conformance and utility, I know 
>> it needs it!
>>
>> On Thu, Jan 15, 2026 at 4:50 AM 'Rohan Raja' via blink-dev <
>> [email protected]> wrote:
>>
>>> Thanks Alex and Philip for reviewing this intent.
>>>
>>> Without the dropEffect fix, the 
>>> https://wpt.live/html/editing/dnd/drop/025.html WPT prints:
>>> "FAIL: drag dropEffect move instead of none
>>> dragenter dropEffect none instead of copy
>>> dragover dropEffect none instead of copy
>>> dragover dropEffect none instead of copy on second attempt
>>> drop dropEffect none instead of link
>>> dragend dropEffect link instead of move"
>>>
>>> After applying the fix (setting 
>>> --enable-blink-features=PreserveDropEffect flag in Chromium), the WPT still 
>>> has two failures independent of this feature:
>>> "FAIL: drag dropEffect move instead of none
>>> dragend dropEffect link instead of move"
>>>
>>> Both these failures seem to be existing bugs in Chromium (and even in 
>>> Firefox) since they don't match the spec. I have logged spec mis-match bugs 
>>> for the same in Chromium. The details can be found in the bug descriptions 
>>> below:
>>> - https://issues.chromium.org/issues/475998132
>>> - https://issues.chromium.org/issues/475998138
>>>
>>> Regarding automation of this WPT, the testharness in wpt infra seem to 
>>> already provide helper functions to simulate drag/drop behaviour (like done 
>>> here https://chromium-review.googlesource.com/c/chromium/src/+/6955024). 
>>> There is an ongoing effort for automating the manual DnD tests which is 
>>> being tracked here - https://issues.chromium.org/issues/40216874. The 
>>> last change appears to be from a few months ago, so I will follow up with 
>>> the owner to see if any help is needed. Meanwhile, in Chromium we do have 
>>> internal automated web tests which cover this feature - 
>>> https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/fast/events/drag-and-drop/drop-effect-preservation-basic.html?q=third_party%2Fblink%2Fweb_tests%2Ffast%2Fevents%2Fdrag-and-drop%2Fdrop-effect-preservation-basic.html
>>>
>>> Thanks
>>> Rohan Raja
>>>
>>> On Wednesday, January 14, 2026 at 9:51:58 PM UTC+5:30 Philip Jägenstedt 
>>> wrote:
>>>
>>>> Hi Rohan,
>>>>
>>>> I tried https://wpt.live/html/editing/dnd/drop/025.html in Firefox 
>>>> (macOS) and it fails, but in a different way from Chrome. Does this test 
>>>> match the spec, and if it does will Chrome fully pass it with these 
>>>> changes? I'm trying to understand if we are going to match Firefox in the 
>>>> details here.
>>>>
>>>> Also, can this test be automated, and if not what kind of testing 
>>>> infrastructure is missing?
>>>>
>>>> Best regards,
>>>> Philip
>>>>
>>>> On Tue, Jan 13, 2026 at 6:37 AM Chromestatus <
>>>> [email protected]> wrote:
>>>>
>>>>> *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 
>>>>> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EDataTransfer%22>
>>>>>
>>>>> *Web Feature ID*
>>>>> draganddrop <https://webstatus.dev/features/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 <http:///features#tags:draganddrop>, dropEffect 
>>>>> <http:///features#tags: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 
>>>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?*
>>>>> 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 (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 
>>>>> <https://chromestatus.com>. 
>>>>>
>>>>> -- 
>>>>> 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
>>>>>  
>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6965d9fc.050a0220.10ef4e.02b1.GAE%40google.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>> -- 
>>> 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/3e1a82d8-37cb-4cb4-a148-2015c5db14a7n%40chromium.org
>>>  
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/3e1a82d8-37cb-4cb4-a148-2015c5db14a7n%40chromium.org?utm_medium=email&utm_source=footer>
>>> .
>>>
>>

-- 
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/25402bd3-f31e-43f0-a9c3-fd9e26a405e6n%40chromium.org.

Reply via email to