New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 803103 link

Starred by 3 users

Issue metadata

Status: Assigned
Owner:
Buried. Ping if important.
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocked on:
issue 758523



Sign in to add a comment

Chrome doesn't escape all characters from the URL hash properly for all protocols

Project Member Reported by rbyers@chromium.org, Jan 17 2018

Issue description

URL spec was updated to required escaping of, eg. space inside of fragments here: https://github.com/whatwg/url/pull/347

Mike landed a fix here: https://chromium-review.googlesource.com/c/chromium/src/+/719004

But in Chrome builds with that patch (eg. 65.0.3323.0) I'm still seeing this fail in the associated web-platform-tests, eg: 

https://w3c-test.org/url/a-element.html
The "lolscheme:x x#x x" case reports:
assert_equals: href expected "lolscheme:x x#x%20x" but got "lolscheme:x x#x x"

Firefox fails for escaping issues outside the fragment:
assert_equals: href expected "lolscheme:x x#x%20x" but got "lolscheme:x%20x#x%20x"

 

Comment 1 by rbyers@chromium.org, Jan 17 2018

Blocking: 758523

Comment 2 by ricea@chromium.org, Feb 2 2018

Status: Assigned (was: Untriaged)
Summary: Chrome doesn't escape all characters from the URL hash properly for all protocols (was: Chrome doesn't escape all characters from the URL hash properly)
Looks like this test is failing only because it's a non-standard protocol. The hash is escaped properly for http.  I'll add an additional test case.

Comment 4 by rbyers@chromium.org, Feb 21 2018

Labels: -Pri-2 Pri-3
Found an existing test case for the http case:

https://w3c-test.org/url/a-element.html
Parsing: <http://f:21/ b ? d # e > against <http://example.org/foo/bar>

Chrome 64 fails with:

assert_equals: href expected "lolscheme:x x#x%20x" but got "lolscheme:x x#x x"
    at Test.<anonymous> (https://w3c-test.org/url/a-element.js:40:7)
    at Test.step (https://w3c-test.org/resources/testharness.js:1494:25)
    at test (https://w3c-test.org/resources/testharness.js:511:18)
    at runURLTests (https://w3c-test.org/url/a-element.js:30:5)
    at Test.<anonymous> (https://w3c-test.org/url/a-element.js:8:5)
    at Test.step (https://w3c-test.org/resources/testharness.js:1494:25)

And Chrome 65 passes

The lolscheme case is still broken though, but that's unlikely to be much of a compat problem in practice so I'll leave this bug open at P3 for that.

Comment 5 by rbyers@chromium.org, Feb 21 2018

Blocking: -758523

Comment 6 by rbyers@chromium.org, Feb 21 2018

Blockedon: 758523
mkwst@, are you still working on this?

Sign in to add a comment