FWIW, I'm implementing the change in https://bugzilla.mozilla.org/show_bug.cgi?id=1898343 Need to still fix some tests, which do reveal how the spec change indeed isn't fully backwards compatible. Hopefully it doesn't break any real web sites.
-Olli On Friday, May 24, 2024 at 10:05:47 AM UTC+3 Shuangshuang Zhou wrote: > Hi Dan&Mike, I think we could submit a standard-position issue to Mozilla > for reducing duplicated events in our second CL(mentioned in my last > comment) for this feature. Because in the second CL, we might change the > current logic of dispatching selectionchange event. For this time, we might > just do it in chromium. WDYT? > > Thanks! > > On Friday, May 24, 2024 at 9:20:33 AM UTC+8 tk...@chromium.org wrote: > >> LGTM1. >> Firefox and Safari statuses are strong signals, and the >> compatibility risk looks very low. >> >> >> On Thu, May 23, 2024 at 11:07 AM Shuangshuang Zhou <shuangsh...@intel.com> >> wrote: >> >>> Hi Dan&Mike, for your concern that Firefox is still failing the WPTs at >>> https://wpt.fyi/results/selection/onselectionchange-on-distinct-text-controls.html, >>> >>> that might be another issue. Let me make more explanation. >>> >>> Actually, the final goal of w3c modifys the spec of selectionchange >>> event is to avoid firing duplicated selectionchange event which are not >>> executed yet on the same element(as Rniwa commented in his comment >>> <https://github.com/w3c/selection-api/issues/170#issuecomment-1956096554>). >>> Then in WebKit/WebCore, Rniwa submitted 2 CLs to achieve this ieda. The >>> first CL in WebKit is 276238@main >>> <https://commits.webkit.org/276238@main>, and in this CL they just >>> modified the logic to fire selectionchange event on input/textarea for the >>> first step. Then the second CL in WebKit is 276388@main >>> <https://commits.webkit.org/276388@main>, which finally avoided to fire >>> duplicated selectionchange events according to the latest spec on firing >>> selectionchange event >>> <https://w3c.github.io/selection-api/#firing-selectionhange-event>. >>> >>> So for this feature in Blink here , we also want to take 2 steps like >>> WebKit does that in the first CL we change to fire on input/textarea and >>> then sovle the duplicated events in the second CL. And those tests are >>> already modified to what both CLs are merged. So in the above test of >>> onselectionchange-on-distinct-text-controls.html, chrome and firefox should >>> be failed because only Safari has landed 2 CLs to avoid duplicated >>> selectionchange events. Or in other words, firefox might already dispatch >>> selectionchange event on elements but doesn't have the logic to avoid to >>> fire scheduled-but-not-executed events. >>> >>> For WebKit, currently the two CLs are both landed in Safari Technology >>> Preview 192(link >>> <https://developer.apple.com/documentation/safari-technology-preview-release-notes/stp-release-192>), >>> >>> but it might need some time to ship in Safari because Safari is updated >>> within OS updates. >>> For the status in FireFox, I'll double-check and confirm with Tkent(one >>> reviewer of my first CL). >>> >>> Thanks, >>> Shuangshuang >>> >>> On Thursday, May 23, 2024 at 9:29:59 AM UTC+8 mike...@chromium.org >>> wrote: >>> >>>> Yes, agree. Can we please request a position from Mozilla at >>>> https://github.com/mozilla/standards-positions/issues/new? >>>> On 5/22/24 6:43 PM, 'Daniel Clark' via blink-dev wrote: >>>> >>>> Yeah, that’s what I was trying to get at – the Intent implies that >>>> Gecko has also shipped the breaking change but it seems that might not be >>>> the case. >>>> >>>> >>>> >>>> If not, we should send a Request for Position to figure out whether >>>> there would be cross-browser alignment on shipping this. >>>> >>>> >>>> >>>> -- Dan >>>> >>>> >>>> >>>> *From:* Olli Pettay <ope...@mozilla.com> >>>> *Sent:* Wednesday, May 22, 2024 9:53 AM >>>> *To:* blink-dev <blin...@chromium.org> >>>> *Cc:* Daniel Clark <dan...@microsoft.com>; Shuangshuang Zhou >>>> <shuangsh...@intel.com> >>>> *Subject:* Re: [blink-dev] Intent to Ship: Dispatch selectionchange >>>> event per element >>>> >>>> >>>> >>>> You don't often get email from ope...@mozilla.com. Learn why this is >>>> important <https://aka.ms/LearnAboutSenderIdentification> >>>> >>>> I think it is because of this rather surprising non-backwards >>>> compatible recent change. >>>> >>>> On Wednesday, May 22, 2024 at 7:28:45 PM UTC+3 Daniel Clark wrote: >>>> >>>> The Gecko status is marked as Shipped/Shipping and the Interop/Compat >>>> section mentions Firefox having shipped this, but Firefox is still failing >>>> the WPTs at >>>> https://wpt.fyi/results/selection/onselectionchange-on-distinct-text-controls.html >>>> . >>>> >>>> Can you help me understand the discrepancy there? >>>> >>>> >>>> >>>> Thanks, >>>> >>>> Dan >>>> >>>> >>>> >>>> *From:* blin...@chromium.org <blin...@chromium.org> *On Behalf Of >>>> *Shuangshuang >>>> Zhou >>>> *Sent:* Tuesday, May 21, 2024 10:24 PM >>>> *To:* blink-dev <blin...@chromium.org> >>>> *Subject:* [blink-dev] Intent to Ship: Dispatch selectionchange event >>>> per element >>>> >>>> >>>> >>>> You don't often get email from shuangsh...@intel.com. Learn why this >>>> is important <https://aka.ms/LearnAboutSenderIdentification> >>>> >>>> *Contact emails*shuangsh...@intel.com >>>> >>>> *Explainer*None >>>> >>>> *Specification* >>>> https://w3c.github.io/selection-api/#selectionchange-event >>>> >>>> *Summary* >>>> >>>> Dispatches selectionchange event per element when this >>>> element(input/textarea) provides a text selection or its selection >>>> changes. >>>> This is to match the latest specification of selectionchange event. This >>>> also matches Safari behavior. >>>> >>>> >>>> >>>> *Blink component*Blink>Editing>Selection >>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EEditing%3ESelection> >>>> >>>> *TAG review*None >>>> >>>> *TAG review status*Issues addressed >>>> >>>> *Risks* >>>> >>>> >>>> >>>> *Interoperability and Compatibility* >>>> >>>> Interoperability risk is low because Firefox and Safari have shipped >>>> this according to the specification. Compatibility risk is low because the >>>> selectionchange event targeting input/textarea would bubble up, and >>>> existing codes listening on Document will work well as ever. >>>> >>>> >>>> >>>> *Gecko*: Shipped/Shipping >>>> >>>> *WebKit*: Shipped/Shipping (https://commits.webkit.org/276238@main) >>>> >>>> *Web developers*: No signals >>>> >>>> *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?* >>>> >>>> Low WebView application risks. >>>> >>>> >>>> >>>> *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/selection/onselectionchange-on-distinct-text-controls.html >>>> >>>> >>>> >>>> *Flag name on chrome://flags*None >>>> >>>> *Finch feature name*DispatchSelectionchangeEventPerElement >>>> >>>> *Requires code in //chrome?*False >>>> >>>> *Tracking bug*https://issues.chromium.org/issues/330766600 >>>> >>>> *Estimated milestones* >>>> Shipping on desktop >>>> 127 >>>> >>>> *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/5255454895898624?gate=6043023317401600 >>>> >>>> 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+...@chromium.org. >>>> To view this discussion on the web visit >>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/de18f3c4-df5a-4423-80ec-e505e0c9fb2bn%40chromium.org >>>> >>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/de18f3c4-df5a-4423-80ec-e505e0c9fb2bn%40chromium.org?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+...@chromium.org. >>>> >>>> To view this discussion on the web visit >>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/PH8PR00MB1445785C11C8FCA346EAE963C5EB2%40PH8PR00MB1445.namprd00.prod.outlook.com >>>> >>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/PH8PR00MB1445785C11C8FCA346EAE963C5EB2%40PH8PR00MB1445.namprd00.prod.outlook.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+...@chromium.org. >>> >> To view this discussion on the web visit >>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/2d3b76b1-890f-4a07-961a-ef813c14eef3n%40chromium.org >>> >>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/2d3b76b1-890f-4a07-961a-ef813c14eef3n%40chromium.org?utm_medium=email&utm_source=footer> >>> . >>> >> >> >> -- >> TAMURA Kent >> Software Engineer, Google >> >> >> -- 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/c941c56a-a49e-414a-bff9-c430770da594n%40chromium.org.