Hmm, I'm not sure that answered my question. But let me try guessing at an answer:
An example of a URL that will still parse differently after this change, is stun://test.com:8080/. That will parse <https://jsdom.github.io/whatwg-url/#url=c3R1bjovL3Rlc3QuY29tOjgwODAv&base=YWJvdXQ6Ymxhbms=> as pathname = "//test.com:8080/" in Chromium, even after this change, whereas per the standard, that should parse as port = 8080, hostname = "test.com", pathname = "/". Is that correct? If so, I'll be sure we add failing web platform tests for cases like that, so that we don't inadvertently get full credit for fixing our non-special URL parsing code when we haven't finished that work yet. On Tue, Mar 14, 2023 at 12:12 PM Jiacheng Guo <g...@google.com> wrote: > Currently blink disallows non-special URLs with a host such as about:// > example.com/ or stun://test.com:8080/. The allowed URLs can be > about:example or stun:test.com. > > The main concern for implementing spec compliant parsing of the URLs is we > do not know whether other chrome components assume opaque hosts for these > URLs. We wonder if there will be potential issues in the URL handling. > > > > On Tue, Mar 14, 2023 at 10:19 AM Domenic Denicola <dome...@chromium.org> > wrote: > >> Hi Jiacheng, >> >> Thanks again for all this interop work! >> >> I don't think I understood the process that led to special treatment for >> data:, javascript:, intent:, urn:, turn:, and stun:. It seems like the >> intent is to not follow the standard precisely for those schemes, right? I >> guess that might be reasonable as a stepping stone, but I want to make sure >> we're tracking our failure to follow the standard there, and hopefully >> eventually fixing it. >> >> I've filed https://github.com/web-platform-tests/wpt/issues/38970 to >> discuss adding more test coverage. To help us with that, can you provide an >> example of how the blocklist your document discusses will work? That is, >> the document says >> >> > Add a blocklist for non-special schemes. The schemes in the block list >> must have an opaque host. >> >> Since there's no such list in the URL Standard itself, I'm assuming this >> means those schemes will have nonstandard behavior. But I don't understand >> what nonstandard behavior is implied by "must have an opaque host". Can you >> give an example of, e.g., a stun: URL, which will parse differently in the >> URL Standard vs. Blink's implementation, due to this blocklist? >> >> >> On Mon, Mar 13, 2023 at 8:48 PM 'Jiacheng Guo' via blink-dev < >> blink-dev@chromium.org> wrote: >> >>> Sorry I sent the wrong document >>> >>> It should be >>> https://docs.google.com/document/d/1edoInUnxwJAGN0264yFRvs6Yi5ptb37HvFYkBNnz2YQ/edit?usp=sharing >>> >>> On Sat, Mar 11, 2023 at 12:39 AM Mike Taylor <miketa...@chromium.org> >>> wrote: >>> >>>> Thanks for the doc - if "WPT URL failure triage" is what you intended >>>> to send, could you point out which section contains the security concerns? >>>> (Or maybe just linked the wrong doc on accident?) >>>> On 3/10/23 6:31 AM, Jiacheng Guo wrote: >>>> >>>> Sorry for the late reply, >>>> >>>> I've created a doc >>>> <https://docs.google.com/document/d/1ip9B2v5KiX6HUolSODdyEhpWD0Jx1ib_uRbJXOGTqRw/edit?usp=sharing&resourcekey=0-CGabf2J9BGhC1LfbdT6_8w> >>>> on the security concerns for non-special URLs. The general idea is to >>>> support non-special URLs and add a blocklist where the URLs can only have >>>> opaque hosts. >>>> >>>> I added the security team to ask for their comments as well. >>>> >>>> Jiacheng Guo >>>> >>>> >>>> >>>> On Thu, Mar 9, 2023 at 1:38 AM Mike Taylor <miketa...@chromium.org> >>>> wrote: >>>> >>>>> Hi Jiacheng, >>>>> >>>>> Friendly ping on Harald's and my questions. :) >>>>> >>>>> thanks, >>>>> Mike >>>>> On 2/23/23 2:40 AM, Harald Alvestrand wrote: >>>>> >>>>> Is there a blacklist of "special schemes" that this change won't >>>>> touch? Who maintains that list? >>>>> >>>>> This seems a bit dangerous, in that if a new scheme is deployed that >>>>> is "special", code intended for handling non-special schemes will try to >>>>> parse it. >>>>> >>>>> Note that the term "special" in the URL specification ( >>>>> https://url.spec.whatwg.org/#special-scheme) refers strictly to ftp, >>>>> file, http, https, ws and wss; there's nothing "special" about urn, turn, >>>>> stun or any of the other standardized schemes that don't use the // >>>>> syntax. >>>>> >>>>> >>>>> >>>>> >>>>> On Wed, Feb 22, 2023 at 5:08 PM Yoav Weiss <yoavwe...@chromium.org> >>>>> wrote: >>>>> >>>>>> >>>>>> >>>>>> On Wed, Feb 22, 2023 at 4:43 PM Mike Taylor <miketa...@chromium.org> >>>>>> wrote: >>>>>> >>>>>>> >>>>>>> On 2/22/23 8:21 AM, 'Jiacheng Guo' via blink-dev wrote: >>>>>>> >>>>>>> Contact emails g...@google.com >>>>>>> >>>>>>> Explainer None >>>>>>> >>>>>>> >>>>>> An explainer (even inline) would be helpful to get a better >>>>>> understanding of what this change does. >>>>>> Does it impact only URL() object construction? What is happening >>>>>> today? What will happen after this change lands? >>>>>> >>>>>>> >>>>>>> >>>>>>> Specification https://url.spec.whatwg.org/#url-parsing >>>>>>> >>>>>>> Summary >>>>>>> >>>>>>> URLs with non-special schemes will be supported in chrome. >>>>>>> `non-speicial://test.com:1234/path` <http://test.com:1234/path> >>>>>>> will be become a valid URL. One can access and set the URL properties >>>>>>> such >>>>>>> as host, port and path via the URL class. >>>>>>> >>>>>>> >>>>>>> Blink component Blink>JavaScript>API >>>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EJavaScript%3EAPI> >>>>>>> >>>>>>> TAG review >>>>>>> >>>>>>> TAG review status Not applicable >>>>>>> >>>>>>> Risks >>>>>>> >>>>>>> >>>>>>> Interoperability and Compatibility >>>>>>> >>>>>>> *Gecko*: Positive >>>>>>> >>>>>>> *WebKit*: Positive >>>>>>> >>>>>>> Any links to those positive signals? >>>>>> >>>>>> >>>>>>> >>>>>>> *Web developers*: No signals >>>>>>> >>>>>>> *Other signals*: >>>>>>> >>>>>>> Ergonomics >>>>>>> >>>>>>> No significant risks. >>>>>>> >>>>>>> >>>>>>> Activation >>>>>>> >>>>>>> No significant risks. >>>>>>> >>>>>>> >>>>>>> Security >>>>>>> >>>>>>> data:// and javascript:// URLs handling is not modified due to >>>>>>> their critical role. >>>>>>> >>>>>>> >>>>>>> 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? >>>>>>> >>>>>>> Do URLs with an intent:// scheme have any security considerations, >>>>>>> or implications for WebView? (I don't know, hopefully someone who does >>>>>>> can >>>>>>> answer. :)) >>>>>>> >>>>>>> >>>>>>> >>>>>>> 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> >>>>>>> ? Yes >>>>>>> >>>>>>> Flag name NonSpeicalSchemeURLParsing >>>>>>> >>>>>>> Requires code in //chrome? False >>>>>>> >>>>>>> Tracking bug https://crbug.com/1416006 >>>>>>> >>>>>>> Sample links >>>>>>> https://chromium-review.googlesource.com/c/chromium/src/+/4273893 >>>>>>> >>>>>>> Estimated milestones >>>>>>> >>>>>>> No milestones specified >>>>>>> >>>>>>> >>>>>>> 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/5201116810182656 >>>>>>> >>>>>>> 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/CAJQw1Nzk847XL759vMSQaF3L5zvtykg6UfQvuss4diyU-h1%3Duw%40mail.gmail.com >>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJQw1Nzk847XL759vMSQaF3L5zvtykg6UfQvuss4diyU-h1%3Duw%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/7cdf2693-c8a3-d263-0eb0-a44a2390979e%40chromium.org >>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/7cdf2693-c8a3-d263-0eb0-a44a2390979e%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/CAL5BFfVfGhV%2BDRzpCjGFoHg7EXb325nHz3nu4OSQVTTC6bkS1A%40mail.gmail.com >>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfVfGhV%2BDRzpCjGFoHg7EXb325nHz3nu4OSQVTTC6bkS1A%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/CAJQw1NwdWUn7OOrEgGjGeZV%3DHa_niTT0Jg_yv7j7uN2uRL7fcA%40mail.gmail.com >>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJQw1NwdWUn7OOrEgGjGeZV%3DHa_niTT0Jg_yv7j7uN2uRL7fcA%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/CAM0wra92Na%2Bbv0DbD5BjvuKSHf-%2BhFCSrRWnPExGnEzUzm%3Df6g%40mail.gmail.com.