LGTM2

/Daniel

On 2026-03-04 17:26, Vladimir Levin wrote:
Thanks for the responses,

LGTM1

Thanks,
Vlad

On Wed, Mar 4, 2026 at 11:21 AM 'Gaston Rodriguez' via blink-dev <[email protected]> wrote:

    Hi Vlad,
    /> Can you elaborate on the exact change this feature is
    introducing? It sounds like there is no change on Android since
    all of the required events are firing. Which additional events are
    now fired on other platforms when drag starts (and which events
    were already firing)? /
    /> Are there any events that we are now _not_ firing as a result
    of this?/

    You're right that there's no change in Android since it was
    already satisfying the requirements. I removed the Android 147
    ship tag. With this change, we now fire three additional events to
    the drag source on drag start: `pointercancel`, `pointerout` and
    `pointerleave`, there are no events that have been removed. I
    updated the summary by adding the following paragraph:
    /> Practically, this means that after a drag has started the drag
    source will now receive the `pointercancel`, `pointerout` and
    `pointerleave` events to indicate that the current event stream
    has finished./

    /> It seems to be passing right now, is that expected?/

    Yes, I had added the flag as experimental and assumed that the WPT
    platform wouldn't run with that flag enabled, TIL. Removed the
    disclaimer.

    Thanks!

    On Thursday, February 26, 2026 at 11:21:24 AM UTC-8 Vladimir Levin
    wrote:

        Hi,

        Some comments below:

        On Wed, Feb 25, 2026 at 2:49 PM Chromestatus
        <[email protected]> wrote:

            *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
            
<https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EDataTransfer%22>

            *Web Feature ID*
            draganddrop <https://webstatus.dev/features/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.


        Can you elaborate on the exact change this feature is
        introducing? It sounds like there is no change on Android
        since all of the required events are firing. Which additional
        events are now fired on other platforms when drag starts (and
        which events were already firing)?

        Are there any events that we are now _not_ firing as a result
        of this?



            *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
            
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?*
            Yes
            
https://wpt.fyi/results/html/editing/dnd/events/pointer-suppression.html
            (currently failing because the change is behind a disabled
            feature flag)


        It seems to be passing right now, is that expected?

        Thanks!
        Vlad


            *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

            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/699f5247.050a0220.1eaaa1.0000.GAE%40google.com
            
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/699f5247.050a0220.1eaaa1.0000.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/523eb706-f81c-4713-835e-1a95361af6d5n%40chromium.org
    
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/523eb706-f81c-4713-835e-1a95361af6d5n%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/CADsXd2Poogbi%2Bj%2BQY7kfh2xL05CiJ2VCUGVWLD4Xtu%3D%2B8WYudQ%40mail.gmail.com <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADsXd2Poogbi%2Bj%2BQY7kfh2xL05CiJ2VCUGVWLD4Xtu%3D%2B8WYudQ%40mail.gmail.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/978a4078-3c26-4b53-b01a-3d751fc1658c%40gmail.com.

Reply via email to