On Sat, Feb 8, 2025 at 5:29 AM Mustaq Ahmed <mus...@chromium.org> wrote:

> 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
> <https://critique.corp.google.com/#review/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?
>

Yes, that seems reasonable to me.


>
>
>
> 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/CAM0wra9rHdU1hd%2BQ6nmhJKiDtDUSnOHToJC5iywR%2Bm7J-2n%3Dzw%40mail.gmail.com.

Reply via email to