No, issue 327409885 is related to the PSA on canceling mousedown in iframe
<https://groups.google.com/a/chromium.org/g/blink-dev/c/RYzJrvPzHss/m/QsopwzYQAAAJ>
.


On Wed, Mar 6, 2024 at 5:25 AM Yoav Weiss (@Shopify) <yoavwe...@chromium.org>
wrote:

> Is https://issues.chromium.org/issues/327409885 related here?
>
> On Mon, Mar 4, 2024 at 6:09 PM Mustaq Ahmed <mus...@chromium.org> wrote:
>
>> UKM data shows that only a few popular sites are affecting our
>> use-counters.  We already confirmed that one of those sites is not broken
>> at all, only showing text selection on menu items.  We are expecting to
>> conclude soon after investigating all those sites.
>>
>> On Wed, Jan 17, 2024 at 1:48 PM Mustaq Ahmed <mus...@chromium.org> wrote:
>>
>>> A quick update: our use-counter on Chrome 122 Canary/Dev came out higher
>>> than we expected---it is suggesting that at most 0.11% page loads are
>>> affected.
>>>
>>> We will expand the finch trail to 50% Beta plus 1% Stable now to get
>>> more data, and then look into other directions like adding UKM or fine
>>> tuning the use-counter.
>>>
>>>
>>> On Thu, Dec 7, 2023 at 10:14 AM Rick Byers <rby...@chromium.org> wrote:
>>>
>>>>
>>>>
>>>> On Wed, Dec 6, 2023 at 5:08 PM Mustaq Ahmed <mus...@chromium.org>
>>>> wrote:
>>>>
>>>>> > I assume cancelling the mousedown (but not the mousemove) still
>>>>> prevents selection and drag-and-drop in all browsers, is that right? 
>>>>> That's
>>>>> the pattern I'd expect is most common. Also, what's the behavior of
>>>>> pointermove for mice today and after this change?
>>>>>
>>>>> I just confirmed <https://codepen.io/mustaqahmed/full/wvNYGEP> that
>>>>> Chrome (and Firefox and Safari too) already prevents both selection and
>>>>> drag-and-drop when mousedown or pointerdown is cancelled.  So sites
>>>>> canceling all the mouse events will work fine.
>>>>>
>>>>
>>>> Great, thanks! That definitely lowers my concern.
>>>>
>>>> > We have landed a metric which specifically checks for cases where
>>>>> the mousemove is preventDefaulted but a selection starts (i.e. selectstart
>>>>> wasn't prevented, there was no user-select: none, and so the selection 
>>>>> does
>>>>> change). Right now this is a UMA but we could also add UKM and get sites
>>>>> from this. Mustaq WDYT about adding UKM for this and running the 1%
>>>>> finch trial?
>>>>>
>>>>> Adding UKM and running a 1% finch trial sounds good.
>>>>>
>>>>> Perhaps we can run a Canary/Dev/Beta trial even now (on M121)?
>>>>>
>>>>
>>>> Yep, you can do whatever you want for canary/dev and you have API owner
>>>> approval for Beta and Stable up to 1% if you want it. Perhaps beta data
>>>> alone would be compelling enough for API owners to approve this (with an
>>>> understanding, like always, that we'd kill-switch it on reports of
>>>> non-trivial stable breakage).
>>>>
>>>> On Wed, Dec 6, 2023 at 12:34 PM Robert Flack <fla...@chromium.org>
>>>>> wrote:
>>>>>
>>>>>> On Wed, Dec 6, 2023 at 12:18 PM Rick Byers <rby...@chromium.org>
>>>>>> wrote:
>>>>>>
>>>>>>> API owners met and discussed this one briefly today. There was
>>>>>>> agreement that more work needs to be done to demonstrate the compat 
>>>>>>> risk is
>>>>>>> low enough to ship this breaking change. A few points:
>>>>>>>
>>>>>>>    - If you'd like to do a finch trial to gather data (up to stable
>>>>>>>    1%) we're supportive of that.
>>>>>>>    - Mike Taylor argued that you're not likely to learn too much
>>>>>>>    useful from a finch trial since people seem not to report bugs for 
>>>>>>> things
>>>>>>>    that fail for a seemingly random 1% of their users, and perhaps the 
>>>>>>> idea of
>>>>>>>    surveying a few sites would be more effective at finding real 
>>>>>>> breakage. Of
>>>>>>>    course UKM + Finch might be a good way to find URLs to test.
>>>>>>>
>>>>>>> We have landed a metric which specifically checks for cases where
>>>>>> the mousemove is preventDefaulted but a selection starts (i.e. 
>>>>>> selectstart
>>>>>> wasn't prevented, there was no user-select: none, and so the selection 
>>>>>> does
>>>>>> change). Right now this is a UMA but we could also add UKM and get sites
>>>>>> from this. Mustaq WDYT about adding UKM for this and running the 1% finch
>>>>>> trial?
>>>>>>
>>>>>
>>>> Ah that makes sense. Sorry I only took a quick glance at the code for
>>>> the UseCounter and missed that. That's indeed much more relevant than I was
>>>> thinking, maybe it won't be so high after all and that can give us good
>>>> confidence to ship?
>>>>
>>>>>
>>>>>>>    - Mike also argued that in his experience, he'd expect sites
>>>>>>>    like mapping apps to have engine-specific conditional code around 
>>>>>>> their
>>>>>>>    event handling, so that increases the risk.
>>>>>>>    - Philip and I discussed that if there is evidence of real
>>>>>>>    breakage we can't accept, we should propose changing the spec here - 
>>>>>>> it
>>>>>>>    seems like it would be very reasonable if cancelling the first 
>>>>>>> mousemove
>>>>>>>    event in a sequence canceled text selection (just like cancelling 
>>>>>>> the first
>>>>>>>    touchmove prevents scrolling). But if we have reasonable evidence 
>>>>>>> that it's
>>>>>>>    non-breaking, we're happy to just align with WebKit and Gecko for 
>>>>>>> improved
>>>>>>>    interoperability.
>>>>>>>
>>>>>>> Agreed, though it may be breaking for other engines to change
>>>>>> behavior too though, right? E.g. we are in a similar situation with
>>>>>> overscroll-behavior on the root element (crbug.com/954423
>>>>>> <https://bugs.chromium.org/p/chromium/issues/detail?id=954423&q=overscroll-behavior%20root&can=2>)
>>>>>> where changing either behavior to the other will have compat risk.
>>>>>>
>>>>>
>>>> Oh good point. And breaking intended selection is arguably worse than
>>>> allowing unintended selection. Ok, that's a further argument for us
>>>> accepting more risk here, thanks.
>>>>
>>>>>
>>>>>>>    - All agreed we're willing to take some risk here to achieve
>>>>>>>    interop quickly and don't want to impose too much of a burden of 
>>>>>>> proof,
>>>>>>>    especially since the severity of breakage is likely low. We just 
>>>>>>> need some
>>>>>>>    more evidence that the risk is manageable.
>>>>>>>
>>>>>>> Perhaps the most pragmatic path would be something like:
>>>>>>>
>>>>>>>    1. Survey at least 5 sites with mouse drag involving DOM and
>>>>>>>    explain why they're unimpacted (cancelling mousedown? cancelling
>>>>>>>    selectionstart? or just user-select: none?). If you find one that is 
>>>>>>> indeed
>>>>>>>    broken, revisit plan.
>>>>>>>    2. Work with the enterprise team on release notes & plan - i.e.
>>>>>>>    either finch roll out with commitment to killswitch if we get 
>>>>>>> reports of
>>>>>>>    enterprise breakage, or add a policy knob opt-out
>>>>>>>    3. Go for 100% but be prepared to killswitch if there are
>>>>>>>    non-trivial reports of breakage, then revisit with either a 
>>>>>>> migration plan
>>>>>>>    (outreach, blog post) or proposed spec change
>>>>>>>
>>>>>>> WDYT?
>>>>>>>
>>>>>>
>>>>>> This sounds reasonable. I think running the 1% experiment with the
>>>>>> targeted metric (cases where selection now happens when it didn't used 
>>>>>> to)
>>>>>> should help us gain confidence.
>>>>>>
>>>>>> Rick
>>>>>>>
>>>>>>> On Tue, Dec 5, 2023 at 3:42 PM Rick Byers <rby...@chromium.org>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hey Mustaq,
>>>>>>>> Thanks for pushing to get this long-time interop issue addressed! I
>>>>>>>> assume cancelling the mousedown (but not the mousemove) still prevents
>>>>>>>> selection and drag-and-drop in all browsers, is that right? That's the
>>>>>>>> pattern I'd expect is most common. Also, what's the behavior of 
>>>>>>>> pointermove
>>>>>>>> for mice today and after this change?
>>>>>>>>
>>>>>>>> What's your plan for if the UseCounter comes back high? FWIW, I'm
>>>>>>>> betting that it will. First I expect it'll be common for sites to
>>>>>>>> cancel all the mouse events. If my understanding above is correct, then
>>>>>>>> perhaps you want to exclude those from your UseCounter since the 
>>>>>>>> behavior
>>>>>>>> won't change in those cases? But secondly, given past history with some
>>>>>>>> major sites, I suspect there might be a long tail of sites that are 
>>>>>>>> lightly
>>>>>>>> broken here. Maybe worth doing a finch-based rollout to mitigate the 
>>>>>>>> risk?
>>>>>>>> I'd support going up to stable 1% now to see if we learn of any 
>>>>>>>> issues. I'm
>>>>>>>> particularly worried about enterprise (LOB) apps which are often
>>>>>>>> chromium-only. We'll see what Enterprise review says on the launch, but
>>>>>>>> they might want
>>>>>>>> <https://www.chromium.org/developers/enterprise-changes/> a
>>>>>>>> mention in the release notes and a policy opt-out. Then again perhaps 
>>>>>>>> since
>>>>>>>> the breakage is likely to be rare and cosmetic, just doing a 
>>>>>>>> finch-based
>>>>>>>> roll-out (and hitting a finch killswitch on reports of any issues) 
>>>>>>>> should
>>>>>>>> be enough to mitigate the risk.
>>>>>>>>
>>>>>>>> You might also consider enabling UKM support
>>>>>>>> <https://source.chromium.org/chromium/chromium/src/+/main:components/page_load_metrics/browser/observers/use_counter/ukm_features.cc?q=ukm_features&ss=chromium>
>>>>>>>>  for
>>>>>>>> your UseCounter to get some sample URLs, though again I'd worry you 
>>>>>>>> might
>>>>>>>> get lots of hits but not be able to easily reproduce any obvious 
>>>>>>>> breakage.
>>>>>>>> Alternately it might be most useful to just spot check 5-10 major sites
>>>>>>>> which have mouse dragging behavior with DOM (not just canvas) and 
>>>>>>>> catalog
>>>>>>>> how they avoid getting unintended selection (eg. do they cancel 
>>>>>>>> selectstart
>>>>>>>> or use user-select: none). I think mapping sites are an obvious 
>>>>>>>> example,
>>>>>>>> gmail has some message dragging behavior I think, not sure what else.
>>>>>>>>
>>>>>>>> Rick
>>>>>>>>
>>>>>>>> On Mon, Dec 4, 2023 at 2:35 PM Mustaq Ahmed <mus...@chromium.org>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Contact emailsmus...@chromium.org, fla...@chromium.org
>>>>>>>>>
>>>>>>>>> ExplainerNone
>>>>>>>>>
>>>>>>>>> Specificationhttps://w3c.github.io/uievents/#event-type-mousemove
>>>>>>>>>
>>>>>>>>> Summary
>>>>>>>>>
>>>>>>>>> Canceling mousemove will not prevent text selection or
>>>>>>>>> drag-and-drop. Chrome allowed cancelling mousemove events to prevent 
>>>>>>>>> other
>>>>>>>>> APIs like text selection (and even drag-and-drop in the past). This 
>>>>>>>>> does
>>>>>>>>> not match other major browsers; nor does it conform to the UI Event 
>>>>>>>>> spec:
>>>>>>>>> https://w3c.github.io/uievents/#event-type-mousemove Through this
>>>>>>>>> feature, the default-action of mousemove becomes none. Text selection 
>>>>>>>>> and
>>>>>>>>> drag-and-drop can still be prevented through cancelling selectstart 
>>>>>>>>> and
>>>>>>>>> dragstart events respectively, which are spec compliant and fully
>>>>>>>>> interoperable.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Blink componentBlink>Input
>>>>>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EInput>
>>>>>>>>>
>>>>>>>>> TAG reviewNone
>>>>>>>>>
>>>>>>>>> TAG review statusNot applicable
>>>>>>>>>
>>>>>>>>> Risks
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Interoperability and Compatibility
>>>>>>>>>
>>>>>>>>> This feature will make Chrome fully interoperable. Chrome is
>>>>>>>>> currently failing the corresponding WPT (a part of Interop 2023) 
>>>>>>>>> while both
>>>>>>>>> Mozilla and WebKit have started passing the WPT recently. There is a 
>>>>>>>>> bit of
>>>>>>>>> compat risk. We attempted it twice in the past but had to revert for 
>>>>>>>>> two
>>>>>>>>> different reasons: in 2014 we faced a text-selection regression
>>>>>>>>> https://crbug.com/485892 on an app that no longer shows the
>>>>>>>>> problem (because app event handling changed), then in 2018 we faced a
>>>>>>>>> drag-and-drop regression https://crbug.com/878392 that is
>>>>>>>>> irrelevant now (because Chrome drag-and-drop changed). For our current
>>>>>>>>> attempt the risk from text-selection remains, and we need to expose 
>>>>>>>>> the
>>>>>>>>> feature to be able to assess the risk. We have added a use-counter and
>>>>>>>>> turned on the feature as "experimental" on M121 to observe field data
>>>>>>>>> before shipping it.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> *Gecko*: Shipped/Shipping (
>>>>>>>>> https://bugzilla.mozilla.org/show_bug.cgi?id=1823663)
>>>>>>>>>
>>>>>>>>> *WebKit*: Shipped/Shipping (
>>>>>>>>> https://bugs.webkit.org/show_bug.cgi?id=262878)
>>>>>>>>>
>>>>>>>>> *Web developers*: Positive (https://crbug.com/346473#c6)
>>>>>>>>>
>>>>>>>>> *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)?No
>>>>>>>>>
>>>>>>>>> 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/uievents/mouse/mousemove_prevent_default_action.tentative.html?label=experimental&label=master&aligned
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Flag name on chrome://flagsNone
>>>>>>>>>
>>>>>>>>> Finch feature nameMouseDragOnCancelledMouseMove
>>>>>>>>>
>>>>>>>>> Requires code in //chrome?False
>>>>>>>>>
>>>>>>>>> Tracking bughttps://crbug.com/346473
>>>>>>>>>
>>>>>>>>> MeasurementWe have added the use-counter
>>>>>>>>> kMouseDragOnCancelledMouseMove to track possible regressions in the 
>>>>>>>>> wild.
>>>>>>>>>
>>>>>>>>> Sample links
>>>>>>>>> https://codepen.io/mustaqahmed/full/wvNYGEP
>>>>>>>>>
>>>>>>>>> Estimated milestones
>>>>>>>>> Shipping on desktop 122
>>>>>>>>> Shipping on Android 122
>>>>>>>>> Shipping on WebView 122
>>>>>>>>>
>>>>>>>>> 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/5145305056280576
>>>>>>>>>
>>>>>>>>> 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 on the web visit
>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAB0cuO7reN%2B6Wb_N99jNm_aJY7fhhQ1ncCrh_J_%2BFCLdASm0eg%40mail.gmail.com
>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAB0cuO7reN%2B6Wb_N99jNm_aJY7fhhQ1ncCrh_J_%2BFCLdASm0eg%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 on the web visit
>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAB0cuO4KQ%3DcN7O6eE70AWuw-y-Q7LtR_TiZTYrvz8giVfdQrNA%40mail.gmail.com
>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAB0cuO4KQ%3DcN7O6eE70AWuw-y-Q7LtR_TiZTYrvz8giVfdQrNA%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 on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAB0cuO5gdqO87t5hHs%3DDeb%3D2SF%2B-cdnFE1BWMzHVvgjdFqV4CA%40mail.gmail.com.

Reply via email to