Hi Eli, Jumping in here to answer your question since it was easy enough to test. `new URL('https://example!.com').host` in Chrome currently returns "example% 21.com", but in Safari it's "example!.com". With the proposed change, Chrome will match Sarari.
I've also confirmed that your isValidHost("example!.com") helper is giving different results in Chrome and Safari and is sensitive to this change. What would the downstream impact be of isValidHost() flipping its return value? Can you achieve the same thing in a way that currently works in both Chrome and Safari? Best regards, Philip On Fri, Mar 10, 2023 at 5:20 PM 'Eli Grey' via blink-dev < blink-dev@chromium.org> wrote: > Will this affect the behavior of the URL.prototype.host accessor at all? I > rely on the automatic escaping to detect 'invalid' hosts with this utility: > https://gist.github.com/eligrey/6549ad0a635fa07749238911b42923da > On Friday, March 10, 2023 at 7:07:38 AM UTC-8 g...@google.com wrote: > >> Contact emailsg...@google.com, gotlo...@gmail.com, >> blink-net...@google.com >> >> ExplainerAs a part of the URL interop 2023, the forbidden character >> table of hostnames will be updated as described in the URL spec. The >> characters in hostnames will be no longer percent escaped since it's not >> required by the URL spec. >> >> Specificationhttps://url.spec.whatwg.org/#host-writing >> >> Summary >> >> The writing and parsing rule of the URL host characters are updated to be >> compliant with the URL standard. The following characters characters will >> become forbidden in the hostnames as described in >> https://url.spec.whatwg.org/#forbidden-host-code-point: ' ' (space), >> '<', '>' and '|'. '[' and ']' are still allowed as a part of IPv6 addresses >> but will be forbidden in any other hostnames. The following characters will >> no longer be percent escaped in hostnames: '!', '"', '$', '&', ''' (the ' >> character itself), '(', ')', '*', ';', '=', '`', '{', '}' and '~' >> >> >> Blink componentBlink>Network >> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3ENetwork> >> >> TAG review >> >> TAG review statusNot applicable >> >> Risks >> >> >> Interoperability and Compatibility >> >> The URL standard is a well established standard and the effort is a part >> of the URL interop 2023. We expect the risk to be minimal. >> >> >> *Gecko*: Positive The forbidden characters are partially followed in >> firefox. '*' is considered as an invalid character in hostnames. The >> characters are not percent escaped in the hostnames. >> >> *WebKit*: Shipped/Shipping Safari strictly follows the forbidden >> character list and never percent escape the characters in the hostnames. >> >> *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? >> >> >> >> Debuggability >> >> The forbidden characters will throw TypeErrors where developers can find >> in the console. >> >> >> 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> >> ?Yes >> >> Flag name >> >> Requires code in //chrome?False >> >> Tracking bughttps://crbug.com/1398117 >> >> Sample links >> https://chromium-review.googlesource.com/c/chromium/src/+/4199790 >> >> Estimated milestones >> >> No milestones specified >> >> >> Anticipated spec changes >> >> No spec change >> >> Link to entry on the Chrome Platform Status >> https://chromestatus.com/feature/5074885224693760 >> >> 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+unsubscr...@chromium.org. > To view this discussion on the web visit > https://groups.google.com/a/chromium.org/d/msgid/blink-dev/2aa38a46-b491-44bb-9f06-166c0505187en%40chromium.org > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/2aa38a46-b491-44bb-9f06-166c0505187en%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/CAARdPYdu2c_He_gz-uxH0vaxUeJCSwiniVHC2W_%3Dp95Bx1AhOg%40mail.gmail.com.