LGTM1; thanks for doing this so carefully.

On Friday, September 26, 2025 at 12:05:02 PM UTC-7 Chromestatus wrote:

> *Contact emails*
> [email protected]
>
> *Specification*
> https://url.spec.whatwg.org/#idna 
>
> *Summary*
> IDNA is the mechanism for non-ASCII characters in domain names, encoding a 
> URL like http://네이버.한국/ as http://xn--950bt9s8xi.xn--3e0b707e/ (a 
> redirect to naver.com). The processing is defined by 
> https://www.unicode.org/reports/tr46/#Processing and is invoked by 
> https://url.spec.whatwg.org/#idna. The URL spec sets the CheckJoiners 
> flag, which enables the ContextJ rules in IDNA2008: 
> https://www.rfc-editor.org/rfc/rfc5892.html#appendix-A.1 
> https://www.rfc-editor.org/rfc/rfc5892.html#appendix-A.2 This disallows 
> ZWNJ (U+200C ZERO WIDTH NON-JOINER) and ZWJ (U+200D ZERO WIDTH JOINER) in 
> most places in URLs. The implementation is to simply pass the 
> UIDNA_CHECK_CONTEXTJ option to ICU, where this rule is implemented: 
> https://source.chromium.org/chromium/chromium/src/+/main:third_party/icu/source/common/uts46.cpp;l=1137-1204;drc=8a1988938d4298fbe8fb499b1a59fe4b04a21b15
>  
> This would fix over 200 subtests in WPT relating to IDNA, which already 
> pass in Firefox and Safari: 
> https://chromium-review.googlesource.com/c/chromium/src/+/6990929 
> https://wpt.fyi/results/url/IdnaTestV2.window.html All of the IdnaTestV2 
> cases that would regress from shipping ICU 77 (
> https://chromestatus.com/feature/5143313833000960) would also be fixed 
> again by this change. 
>
> *Blink component*
> Blink>Network 
> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3ENetwork%22>
>
> *Web Feature ID*
> url <https://webstatus.dev/features/url> 
>
> *Search tags*
> idna <http:///features#tags:idna>
>
> *TAG review*
> None 
>
> *TAG review status*
> Not applicable
>
> *Risks*
>
>
> *Interoperability and Compatibility*
> Interoperability is improved by bringing URL parsing closer to Firefox and 
> Safari. The web compat risk is most likely very low because the URLs that 
> will be rejected don't work at all in Firefox or Safari. On the other hand, 
> any breakage would be very severe for the same reason. To make this change 
> safely I would suggest a gradual Finch rollout. 
>
> *Gecko*: Shipped/Shipping Shipped for a long time, exact version not found
>
> *WebKit*: Shipped/Shipping Shipped for a long time, exact version not 
> found
>
> *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? 
> 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>?*
> Yeshttps://wpt.fyi/results/url/IdnaTestV2.window.html
>
> *Flag name on about://flags*
> None 
>
> *Finch feature name*
> UseIDNAContextJRules 
>
> *Rollout plan*
> (RARE) Experiment users ramp up over time
>
> *Requires code in //chrome?*
> False
>
> *Tracking bug*
> https://crbug.com/40765949
>
> *Measurement*
> Cannot be measured with use counters because the URL parser is used in 
> many places in Chrome, and not all of them have access to an 
> ExecutionContext or similar. UMA could be used and give a proportion of URL 
> parses affected metric, but given how many URLs are parsed and how rare 
> even valid IDNA URLs seem to be, the number is probably vanishingly small 
> and not informative of risk.
>
> *Estimated milestones*
> Shipping on desktop 143 
> Shipping on Android 143 
> Shipping on WebView 143 
>
> *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/6295810820145152?gate=5173132017139712
>
> 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 [email protected].
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/040d089c-4b67-4284-ae7c-eff472db3984n%40chromium.org.

Reply via email to