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.