LGTM3

On Fri, Dec 2, 2022, 1:05 PM Rick Byers <rby...@chromium.org> wrote:

> Oh and +Alex Russell <slightly...@chromium.org> mentioned in the API
> owners meeting that he's fine with this change, and he has already approved
> it in Chromestatus. So mine is actually LGTM2.
>
> On Fri, Dec 2, 2022 at 4:03 PM Rick Byers <rby...@chromium.org> wrote:
>
>> Thanks Mustafa, that makes sense. I'm struggling a bit to evaluate the
>> compat risk. Changing URL parsing at all feels risky, but your data
>> indicates this should be a very rare scenario, and the fact that we're just
>> matching changes Firefox and Safari made years ago means it's even less
>> risky. There's still Android WebView and chromium-only enterprise scenarios
>> to consider. But I don't want to ask that you go through a whole other
>> round of adding metrics and waiting for stable just to address what is
>> effectively an interop bug (with a non-trivial impact on our WPT pass
>> rates), especially given those metrics are not going to be 100% conclusive
>> either (may identify only non-breaking cases). Finding only one origin with
>> any real usage, and seeing that that origin works fine either way also
>> further reduces the risk for me.
>>
>> I think I'm convinced that the risk here is similar to that of other
>> bug-fixes we make without any formal compat analysis. LGTM1 to ship. But if
>> you get reports of any breakage whatsoever prior to hitting stable, please
>> revert and come back to us for discussion of next steps.
>>
>> Thanks,
>>    Rick
>>
>> On Fri, Dec 2, 2022 at 3:28 PM Mustafa Emre Acer <mea...@chromium.org>
>> wrote:
>>
>>> > Rick's question regarding the impact of this change on parsed URLs?
>>> (vs. typed or pasted URL, that you already described)
>>>
>>> Yes, this affects parsed URLs as well. So, subresources with affected
>>> URLs may start pointing to different IP addresses after this change.
>>> Unfortunately I don't have metrics about how prevalent this is, but I'm
>>> happy to dig into it if we feel it's necessary.
>>>
>>> Also, a small correction about the remaining failures in the virtual
>>> test suite: There are two more failures containing ß (lines 124 and 127
>>> <https://chromium-review.googlesource.com/c/chromium/src/+/4072454/1/third_party/blink/web_tests/virtual/idna-2008/external/wpt/url/toascii.window-expected.txt>)
>>> I missed. These seem to be related to the handling of extended ASCII
>>> characters in hostnames: ß is an extended ASCII character, so the URL
>>> string is treated as 8 bit and parsed accordingly. I'll file a separate bug
>>> for this.
>>>
>>> On Thu, Dec 1, 2022 at 8:10 PM Yoav Weiss <yoavwe...@chromium.org>
>>> wrote:
>>>
>>>> Thanks for clarifying the test situation, Mustafa! :) Can you also
>>>> answer Rick's question regarding the impact of this change on parsed URLs?
>>>> (vs. typed or pasted URL, that you already described)
>>>>
>>>> On Fri, Dec 2, 2022 at 12:40 AM Mustafa Emre Acer <mea...@chromium.org>
>>>> wrote:
>>>>
>>>>> Hi Philip,
>>>>>
>>>>> Pretty sure the remaining failures with URLs with "ß" are due to
>>>>> crbug.com/724018. In fact a quick hack reduced the failures down to
>>>>> 28: https://chromium-review.googlesource.com/c/chromium/src/+/4072454
>>>>>
>>>>> While related to IDNA, it's a different issue and isn't affected by
>>>>> this change.
>>>>>
>>>>> On Thu, Dec 1, 2022 at 3:07 AM Philip Jägenstedt <foo...@chromium.org>
>>>>> wrote:
>>>>>
>>>>>> I see, so if we compare the expectations of the default setup
>>>>>> <https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/external/wpt/url/toascii.window-expected.txt>
>>>>>> to virtual test suite
>>>>>> <https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/virtual/idna-2008/external/wpt/url/toascii.window-expected.txt>,
>>>>>> we see the improvement from 154 failures to 73. Yay!
>>>>>>
>>>>>> Are those remaining failures for reasons unrelated to IDNA
>>>>>> processing? There are still tests with "ß" in the name that fail, but I'm
>>>>>> not sure if it's expected or not.
>>>>>>
>>>>>> On Wed, Nov 30, 2022 at 6:39 PM Mustafa Emre Acer <
>>>>>> mea...@chromium.org> wrote:
>>>>>>
>>>>>>> There are actually tests, but as a virtual test suite since the
>>>>>>> implementation is currently behind a flag:
>>>>>>>
>>>>>>> https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/virtual/idna-2008/
>>>>>>>
>>>>>>> Chrome Status form asked for a link to wpt.fyi and I couldn't figure
>>>>>>> out how to link to a virtual test suite so I said no. Updated the CS 
>>>>>>> entry.
>>>>>>>
>>>>>>> On Wed, Nov 30, 2022 at 9:00 AM Philip Jägenstedt <
>>>>>>> foo...@chromium.org> wrote:
>>>>>>>
>>>>>>>> Hi Mustafa,
>>>>>>>>
>>>>>>>> Thanks for much for working on this. The initial email says this
>>>>>>>> isn't tested by WPT, but I think this is the change that will make this
>>>>>>>> test (part of Interop 2022) pass:
>>>>>>>>
>>>>>>>> https://wpt.fyi/results/url/toascii.window.html?label=experimental&label=master&product=chrome&product=firefox&product=safari&aligned&view=interop&q=label%3Ainterop-2022-webcompat
>>>>>>>>
>>>>>>>> Is that right?
>>>>>>>>
>>>>>>>> Best regards,
>>>>>>>> Philip
>>>>>>>>
>>>>>>>> On Wed, Nov 30, 2022 at 4:48 PM Rick Byers <rby...@chromium.org>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Thanks for investing in this alignment! Having a URL that goes one
>>>>>>>>> place in Chrome and somewhere different in Safari/Firefox seems like 
>>>>>>>>> a very
>>>>>>>>> bad thing in principle to me :-)
>>>>>>>>>
>>>>>>>>> Your metrics and comments are around user-typed/pasted URLs. Does
>>>>>>>>> this change somehow impact only that, not URLs parsed from HTML and 
>>>>>>>>> CSS? If
>>>>>>>>> so then I can understand why there's no WPTs for this. But if not 
>>>>>>>>> then we'd
>>>>>>>>> definitely need confidence in the WPT tests and probably some more 
>>>>>>>>> compat
>>>>>>>>> analysis.
>>>>>>>>>
>>>>>>>>> On Wed, Nov 30, 2022 at 8:35 AM 'Yifan Luo' via blink-dev <
>>>>>>>>> blink-dev@chromium.org> wrote:
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Wednesday, November 30, 2022 at 6:37:57 AM UTC+1
>>>>>>>>>> yoav...@chromium.org wrote:
>>>>>>>>>>
>>>>>>>>>>> Thanks for working on alignment here!!
>>>>>>>>>>>
>>>>>>>>>>> On Tue, Nov 29, 2022 at 7:30 AM 'Harald Alvestrand' via
>>>>>>>>>>> blink-dev <blin...@chromium.org> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> This IDNA 2008 author applauds your decision.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Mon, Nov 28, 2022 at 10:16 PM Mustafa Emre Acer <
>>>>>>>>>>>> mea...@chromium.org> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Contact emailsmea...@chromium.org
>>>>>>>>>>>>>
>>>>>>>>>>>>> Specificationhttps://unicode.org/reports/tr46
>>>>>>>>>>>>>
>>>>>>>>>>>>> Summary
>>>>>>>>>>>>>
>>>>>>>>>>>>> Enable IDNA 2008 in Non-Transitional Mode for URL processing,
>>>>>>>>>>>>> aligning Chrome's behavior with Firefox and Safari. Chrome 
>>>>>>>>>>>>> currently uses
>>>>>>>>>>>>> IDNA 2008 in Transitional Mode in URL processing. The main 
>>>>>>>>>>>>> difference
>>>>>>>>>>>>> between Transitional and Non-Transitional Mode is the handling of 
>>>>>>>>>>>>> four
>>>>>>>>>>>>> characters known as deviation characters: ß (LATIN SMALL LETTER 
>>>>>>>>>>>>> SHARP S), ς
>>>>>>>>>>>>> (GREEK SMALL LETTER FINAL SIGMA), ZWJ (Zero width joiner) and 
>>>>>>>>>>>>> ZWNJ (Zero
>>>>>>>>>>>>> width non-joiner). In Transitional mode, deviation characters are 
>>>>>>>>>>>>> handled
>>>>>>>>>>>>> the same as IDNA2003: ß is mapped to ss, ς is mapped to σ, and 
>>>>>>>>>>>>> ZWJ and ZWNJ
>>>>>>>>>>>>> are deleted. In Non-Transitional mode, domains containing these 
>>>>>>>>>>>>> characters
>>>>>>>>>>>>> are allowed in domain names without mapping, and thus can resolve 
>>>>>>>>>>>>> to
>>>>>>>>>>>>> different IP addresses. For example, typing "faß.de
>>>>>>>>>>>>> <http://fass.de>" in Chrome and Firefox opens different sites
>>>>>>>>>>>>> today. Enabling Non-Transitional IDNA in Chrome will allow 
>>>>>>>>>>>>> deviation
>>>>>>>>>>>>> characters in domain names. Firefox and Safari already made this 
>>>>>>>>>>>>> change in
>>>>>>>>>>>>> 2016 and continue to use Non-Transitional URL processing.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Blink componentUI>Security>UrlFormatting
>>>>>>>>>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:UI%3ESecurity%3EUrlFormatting>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Search tagsidna <https://chromestatus.com/features#tags:idna>
>>>>>>>>>>>>>
>>>>>>>>>>>>> TAG reviewThis feature addresses conformance to an existing
>>>>>>>>>>>>> spec and other browsers already do it.
>>>>>>>>>>>>>
>>>>>>>>>>>>> TAG review statusNot applicable
>>>>>>>>>>>>>
>>>>>>>>>>>>> Risks
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Interoperability and Compatibility
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> *Gecko*: Shipped/Shipping (
>>>>>>>>>>>>> https://bugzilla.mozilla.org/show_bug.cgi?id=1218179)
>>>>>>>>>>>>>
>>>>>>>>>>>>> *WebKit*: Shipped/Shipping (
>>>>>>>>>>>>> https://trac.webkit.org/changeset/208902/webkit)
>>>>>>>>>>>>>
>>>>>>>>>>>>> *Web developers*: No signals
>>>>>>>>>>>>>
>>>>>>>>>>>>> *Other signals*:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Security
>>>>>>>>>>>>>
>>>>>>>>>>>>> This change introduces a potential security issue where a
>>>>>>>>>>>>> domain pointing to one IP may start pointing to another IP. As an 
>>>>>>>>>>>>> example,
>>>>>>>>>>>>> IDNA2003 and Transitional IDNA-2008 maps faß.de
>>>>>>>>>>>>> <http://fass.de> to fass.de (ß is a deviation character).
>>>>>>>>>>>>> Non-Transitional IDNA2008 maps it to xn--fa-hia.de which is
>>>>>>>>>>>>> the punycode representation of faß.de <http://fass.de>.
>>>>>>>>>>>>> Typing "faß.de <http://fass.de>" in Chrome and Firefox
>>>>>>>>>>>>> currently opens different sites. Main mitigations discussed were 
>>>>>>>>>>>>> domain
>>>>>>>>>>>>> bundling / blocking where registrars bundle domain names (e.g. 
>>>>>>>>>>>>> registering
>>>>>>>>>>>>> faß.de <http://fass.de> along with fass.de) or block the
>>>>>>>>>>>>> alternative domain name (e.g. disallow faß.de <http://fass.de>
>>>>>>>>>>>>> if fass.de is registered). According to data from Chrome 106
>>>>>>>>>>>>> and 107: - Less than 0.001% of user-typed or pasted main frame 
>>>>>>>>>>>>> navigations
>>>>>>>>>>>>> had a deviation character in the hostname. This excludes link 
>>>>>>>>>>>>> clicks and
>>>>>>>>>>>>> renderer initiated navigations, so the percentage of affected 
>>>>>>>>>>>>> domains among
>>>>>>>>>>>>> all navigations is even lower. - Only one hostname had a deviation
>>>>>>>>>>>>> character and had more than 50 impressions over a 28 day period (
>>>>>>>>>>>>> fußball.de <http://fussball.de>). Both fußball.de
>>>>>>>>>>>>> <http://fussball.de> and fussball.de have the same owner so
>>>>>>>>>>>>> this change doesn't affect them. Thus, typing domain names with 
>>>>>>>>>>>>> deviation
>>>>>>>>>>>>> characters is very rare. Domain bundling / blocking aren't 
>>>>>>>>>>>>> blockers as this
>>>>>>>>>>>>> change won't have a significant impact on navigations. Finally, 
>>>>>>>>>>>>> Firefox and
>>>>>>>>>>>>> Safari have been using Non-Transitional IDNA 2008 since 2016 
>>>>>>>>>>>>> without issues.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> 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?
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Debuggability
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Will this feature be supported on all six Blink platforms
>>>>>>>>>>>>> (Windows, Mac, Linux, Chrome OS, 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>
>>>>>>>>>>>>> ?No
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>> Why not?
>>>>>>>>>>>
>>>>>>>>>> There seems to be some tests written by apple
>>>>>>>>>> https://github.com/web-platform-tests/wpt/pull/4794. However,
>>>>>>>>>> same question here: Why not?
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> DevTrial instructions
>>>>>>>>>>>>> https://bugs.chromium.org/p/chromium/issues/detail?id=694157#c70
>>>>>>>>>>>>>
>>>>>>>>>>>>> Flag nameuse-idna2008-non-transitional
>>>>>>>>>>>>>
>>>>>>>>>>>>> Requires code in //chrome?False
>>>>>>>>>>>>>
>>>>>>>>>>>>> Tracking bug
>>>>>>>>>>>>> https://bugs.chromium.org/p/chromium/issues/detail?id=694157
>>>>>>>>>>>>>
>>>>>>>>>>>>> Launch bughttps://launch.corp.google.com/launch/4224656
>>>>>>>>>>>>>
>>>>>>>>>>>>> Estimated milestones
>>>>>>>>>>>>> DevTrial on desktop 110
>>>>>>>>>>>>> DevTrial on Android 110
>>>>>>>>>>>>>
>>>>>>>>>>>>> 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).
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Link to entry on the Chrome Platform Status
>>>>>>>>>>>>> https://chromestatus.com/feature/5105856067141632
>>>>>>>>>>>>>
>>>>>>>>>>>>> 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/CAHafXh3rh2Hh35Pv1wNg8vBzUMy13NY%2Bh1y8HmHQrH2aD1i_Lg%40mail.gmail.com
>>>>>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAHafXh3rh2Hh35Pv1wNg8vBzUMy13NY%2Bh1y8HmHQrH2aD1i_Lg%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+...@chromium.org.
>>>>>>>>>>>>
>>>>>>>>>>> To view this discussion on the web visit
>>>>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOqqYVFsCyiMPA4eVWZy-a%2Bv6XCgcYkCDzhq7XVSP4O_rQFFyA%40mail.gmail.com
>>>>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOqqYVFsCyiMPA4eVWZy-a%2Bv6XCgcYkCDzhq7XVSP4O_rQFFyA%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/e83440db-ff48-46c5-8ca3-25a444cc063an%40chromium.org
>>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/e83440db-ff48-46c5-8ca3-25a444cc063an%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+unsubscr...@chromium.org.
>>>>>>>>> To view this discussion on the web visit
>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFUtAY8_-3_YWsRzmCk4mLQgTU6eaUHQ09%3Dku4dD4_gbks1VNQ%40mail.gmail.com
>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFUtAY8_-3_YWsRzmCk4mLQgTU6eaUHQ09%3Dku4dD4_gbks1VNQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>>>> .
>>>>>>>>>
>>>>>>>> --
>>>>>> You received this message because you are subscribed to a topic in
>>>>>> the Google Groups "blink-dev" group.
>>>>>> To unsubscribe from this topic, visit
>>>>>> https://groups.google.com/a/chromium.org/d/topic/blink-dev/8pxRArGQlS4/unsubscribe
>>>>>> .
>>>>>> To unsubscribe from this group and all its topics, 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/CAARdPYfmsGWwqFiRr2OKiVh2aq2AC7yoagUHJrPrdiVv8vJ7-Q%40mail.gmail.com
>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAARdPYfmsGWwqFiRr2OKiVh2aq2AC7yoagUHJrPrdiVv8vJ7-Q%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/CAFUtAY-497X3Q8aPzZUAtpD%3D31v5ruXGUH%2BX-rEJCkijdVxD0A%40mail.gmail.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFUtAY-497X3Q8aPzZUAtpD%3D31v5ruXGUH%2BX-rEJCkijdVxD0A%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/CAOMQ%2Bw9hAagr%3DOAfZ1x0SZ6yX7iZZzBHgY5mt0S7L91qRGPQsg%40mail.gmail.com.

Reply via email to