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.