My i2s message missed one important point: we are planning for an
incremental rollout on Stable, just to be on the safe side from the compat
perspective (see my WIP finch config cl/721367851, sorry internal link).

> To move everyone toward interop, I suggest commenting on
https://bugzilla.mozilla.org/show_bug.cgi?id=1885232 to encourage Firefox
to fast-follow, and maybe filing a WebKit bug for the same reason.

@Domenic Denicola <dome...@chromium.org> Perhaps we can defer this until
after a 100% Stable rollout, right?



On Wed, Feb 5, 2025 at 9:29 PM Domenic Denicola <dome...@chromium.org>
wrote:

> LGTM1. This seems like a valuable movement toward interop on tricky
> edge-cases, and the team has done a good job with use counters and beta
> experiments to bound the compat risks. I think Finch can be used as a
> killswitch if we find that this has some horrible breaking impact that has
> not yet been discovered.
>
> One path toward gaining even more confidence here would be to investigate
> individual sites. You could use either UKM or HTTP archive analysis to find
> sites where the upper-bound use counter fires, and then manually try to
> play around with them both with and without the flag to see if anything is
> broken.
>
> To move everyone toward interop, I suggest commenting on
> https://bugzilla.mozilla.org/show_bug.cgi?id=1885232 to encourage Firefox
> to fast-follow, and maybe filing a WebKit bug for the same reason.
>
>
> On Thu, Feb 6, 2025 at 6:22 AM Mustaq Ahmed <mus...@chromium.org> wrote:
>
>> Hi Mike and Yoav:
>>
>> Let me answer your questions together:
>>
>> *Current behavior in major browsers:* The click target is:
>> - [Chrome] the common ancestor of pointerdown target and *captured*
>> pointerup target.
>> - [Firefox] the actual pointerup target, ignoring capture and pointerdown.
>> - [Safari] the common ancestor of pointerdown target and actual pointerup
>> target, ignoring capture.
>>
>> *Compat risk analysis:*
>> - Our UseCounter shows that ~0.1% of Chrome page loads have (a) click
>> handlers at both the common ancestor and the capture target, and (b) this
>> feature would switch the click target from the former to the latter.  This
>> seems like a loose upper bound because the two handlers could be doing the
>> same job.
>> https://chromestatus.com/metrics/feature/timeline/popularity/3942
>> - We have the feature enabled on Canary & Dev for 7 weeks and on Beta for
>> 3 weeks, and we didn't see any bug reports.
>>
>> *Developers possibly capturing to a "wrong" element:*
>> IMHO it is hard to be "wrong" here, let me explain why. Developers use
>> capturing mostly for a custom drag experience, like the slider mentioned in
>> the intent or a map widget, and "click" is not an expected UI action after
>> such a drag.  It seems impossible to know how often developers expect
>> clicks here, if at all.  If any developers do expect clicks, they have to
>> resort to a hack (like adding one listener to multiple targets) because the
>> click-target inconsistencies among major browsers today left no "right" way
>> to capture a click!  Did it answer your question @Yoav Weiss
>> <yoavwe...@chromium.org>?
>>
>>
>>
>> On Wed, Feb 5, 2025 at 11:32 AM Yoav Weiss (@Shopify) <
>> yoavwe...@chromium.org> wrote:
>>
>>>
>>>
>>> On Wed, Feb 5, 2025 at 4:11 PM Mustaq Ahmed <mus...@chromium.org> wrote:
>>>
>>>> Contact emailsmus...@chromium.org
>>>>
>>>> Explainerhttps://w3c.github.io/pointerevents/#event-dispatch
>>>>
>>>> Specificationhttps://w3c.github.io/pointerevents/#event-dispatch
>>>>
>>>> Summary
>>>>
>>>> If a pointer is captured while the `pointerup` event is being
>>>> dispatched, the `click` event will be dispatched to the captured target
>>>> instead of the nearest common ancestor of `pointerdown` and `pointerup`
>>>> events as per the UI Event spec. For uncaptured pointers, the `click`
>>>> target remains unchanged.
>>>>
>>>>
>>>> Blink componentBlink>Input
>>>> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EInput%22>
>>>>
>>>> TAG reviewNone
>>>>
>>>> TAG review statusNot applicable
>>>>
>>>> Risks
>>>>
>>>>
>>>> Interoperability and Compatibility
>>>>
>>>> Interop risk: No risk at all because the major browsers behaved
>>>> differently for years (see
>>>> https://github.com/w3c/pointerevents/issues/356#issuecomment-811814819).
>>>> Compat risk: There is a slight risk that the click target change would be
>>>> noticed for a very narrow case of a slider-like UI element that captures
>>>> the pointer yet expects a *container* element to respond to a click
>>>> differently from how the slider element itself responds to the same click.
>>>> For a drag action that starts on the slider and ends outside the slider,
>>>> this feature would cause the click event to be dispatched to the slider
>>>> then bubble up to the container (vs being dispatched to the container
>>>> element directly).
>>>>
>>>
>>> Have we tried to quantify the compat risk here?
>>> How often do we expect developers to capture the "wrong" element from
>>> their perspective?
>>>
>>>
>>>>
>>>>
>>>> *Gecko*: Positive (
>>>> https://github.com/w3c/pointerevents/issues/356#issuecomment-1596196064
>>>> )
>>>>
>>>> *WebKit*: No signal
>>>>
>>>> *Web developers*: Positive (
>>>> https://github.com/w3c/pointerevents/issues/356#issuecomment-1591894867
>>>> )
>>>>
>>>> *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
>>>>
>>>> None
>>>>
>>>>
>>>> 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/pointerevents?label=master&label=experimental&aligned&q=pointerevents%2Fpointerevent_click_during_capture.html
>>>>
>>>>
>>>> Flag name on about://flagsNone
>>>>
>>>> Finch feature nameClickToCapturedPointer
>>>>
>>>> Requires code in //chrome?False
>>>>
>>>> Tracking bughttps://crbug.com/40851596
>>>>
>>>> Sample links
>>>> https://codepen.io/mustaqahmed/full/YzawKWW
>>>>
>>>> Estimated milestones
>>>> Shipping on desktop 135
>>>> Shipping on Android 135
>>>> Shipping on WebView 135
>>>>
>>>> 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).
>>>> None
>>>>
>>>> Link to entry on the Chrome Platform Status
>>>> https://chromestatus.com/feature/5143357002874880?gate=5069716701577216
>>>>
>>>> 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 blink-dev+unsubscr...@chromium.org.
>>>> To view this discussion visit
>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAB0cuO5WP0%3DEV2%3DiQkS2Bkt8z4fKnfMFNBNeBEU76xOSsYNCHA%40mail.gmail.com
>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAB0cuO5WP0%3DEV2%3DiQkS2Bkt8z4fKnfMFNBNeBEU76xOSsYNCHA%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 blink-dev+unsubscr...@chromium.org.
>> To view this discussion visit
>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAB0cuO4kZU5RxQiMGhMZqkDdPqGsdZLUd11bFY5xbyoizvFkhQ%40mail.gmail.com
>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAB0cuO4kZU5RxQiMGhMZqkDdPqGsdZLUd11bFY5xbyoizvFkhQ%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 blink-dev+unsubscr...@chromium.org.
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAB0cuO5u3462TWrLBE38t5Wh%2BWs-22X1O0FTgMQVp1n_Jr66FA%40mail.gmail.com.

Reply via email to