This feature and the UseCounter stats mentioned above are for mouse clicks
<https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/input/mouse_event_manager.cc;drc=371045818e8ecd3f8e60ee58c1c23e0bd0b7f39f;l=358>
only.
So GestureTap clicks are not a concern at the moment.  However, this makes
your setPointerCapture question difficult to answer!  In fact we
were surprised to see setPointerCapture being used in at least 0.1% page
loads ("at least" because our UseCounter has other conditions to meet)!!


On Wed, Feb 12, 2025 at 10:54 AM Rick Byers <rby...@chromium.org> wrote:

> LGTM3
>
> I was surprised the UseCounter was so high, is that because this includes
> the implicit capture case for touch input? Or is setPointerCapture really
> that common? If it includes the touch implicit capture case, does that mean
> the click generated from a GestureTap can also have it's target changed? If
> so I'm worried about the web compat impact (eg. for code only run in
> Chromium like in Android WebView). But regardless it's reasonable to think
> of this as a bugfix for some niche poorly-defined behavior that likely
> won't matter to anyone, so I'm fine with giving it a try with the slow
> roll-out plan and emergency kill switch if real breakage is reported.
>
> Rick
>
>
> On Tue, Feb 11, 2025 at 1:53 PM Chris Harrelson <chris...@chromium.org>
> wrote:
>
>> LGTM2
>>
>> On Sun, Feb 9, 2025 at 7:56 PM Domenic Denicola <dome...@chromium.org>
>> wrote:
>>
>>>
>>>
>>> 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
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra9rHdU1hd%2BQ6nmhJKiDtDUSnOHToJC5iywR%2Bm7J-2n%3Dzw%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/CAOMQ%2Bw9GTRCQPNsy81VSZh4mum8FBo455fGMqRdneAZoEmJ_Fg%40mail.gmail.com
>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw9GTRCQPNsy81VSZh4mum8FBo455fGMqRdneAZoEmJ_Fg%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/CAB0cuO4wruzfYvN9sN5DVgC5qtKu_yT6X%2Bm-7O3z3VyM7X49nA%40mail.gmail.com.

Reply via email to