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


Web Feature ID
url


Search 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?
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 (eg links to known github issues in the project 
for the feature specification) whose resolution may introduce web 
compat/interop risk (eg, 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.

-- 
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/68d6e3ce.050a0220.1ba43a.0052.GAE%40google.com.

Reply via email to