Thanks Shuangshuang for clarifying what’s going on with these two separate but 
related changes, and Olli for the update on 
https://bugzilla.mozilla.org/show_bug.cgi?id=1898343.

Since Gecko already implements the behavior of firing selectionchange on 
input/textarea (confirmed here<https://glow-curvy-cerise.glitch.me/>), sounds 
good to me to go ahead with shipping this change in Chromium (I’m not an API 
owner though).

Separately, for the behavior of not firing duplicate selectionchange, it might 
not hurt to go ahead and request an official Mozilla position on that since it 
sounds like there’s still a bit of uncertainty about landing that change given 
back compat concerns, unless Olli confirms here that the plan is to go ahead 
and ship it.

-- Dan

From: Olli Pettay <opet...@mozilla.com>
Sent: Friday, May 24, 2024 12:26 AM
To: blink-dev <blink-dev@chromium.org>
Cc: Shuangshuang Zhou <shuangshuang.z...@intel.com>; tk...@chromium.org 
<tk...@chromium.org>; mike...@chromium.org <miketa...@chromium.org>; Daniel 
Clark <dan...@microsoft.com>; Olli Pettay <opet...@mozilla.com>
Subject: Re: [blink-dev] Intent to Ship: Dispatch selectionchange event per 
element

You don't often get email from opet...@mozilla.com<mailto:opet...@mozilla.com>. 
Learn why this is important<https://aka.ms/LearnAboutSenderIdentification>
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<mailto: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<mailto: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<mailto:ope...@mozilla.com>>
Sent: Wednesday, May 22, 2024 9:53 AM
To: blink-dev <blin...@chromium.org<mailto:blin...@chromium.org>>
Cc: Daniel Clark <dan...@microsoft.com<mailto:dan...@microsoft.com>>; 
Shuangshuang Zhou <shuangsh...@intel.com<mailto: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<mailto: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<mailto:blin...@chromium.org> 
<blin...@chromium.org<mailto:blin...@chromium.org>> On Behalf Of Shuangshuang 
Zhou
Sent: Tuesday, May 21, 2024 10:24 PM
To: blink-dev <blin...@chromium.org<mailto:blin...@chromium.org>>
Subject: [blink-dev] Intent to Ship: Dispatch selectionchange event per element

You don't often get email from 
shuangsh...@intel.com<mailto:shuangsh...@intel.com>. Learn why this is 
important<https://aka.ms/LearnAboutSenderIdentification>
Contact emailsshuangsh...@intel.com<mailto:emailsshuangsh...@intel.com>

ExplainerNone

Specificationhttps://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 
componentBlink>Editing>Selection<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EEditing%3ESelection>

TAG reviewNone

TAG review statusIssues 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://flagsNone

Finch feature nameDispatchSelectionchangeEventPerElement

Requires code in //chrome?False

Tracking bughttps://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 
Statushttps://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<mailto: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<mailto: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<mailto: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/PH8PR00MB144585C3428C0F9483A65590C5F52%40PH8PR00MB1445.namprd00.prod.outlook.com.

Reply via email to