Closed Bug 1982670 Opened 11 months ago Closed 10 months ago

[wpt-sync] Sync PR 54270 - script: fix `javascript` URL scheme stripping

Categories

(Core :: DOM: Networking, task, P4)

task

Tracking

()

RESOLVED FIXED
144 Branch
Tracking Status
firefox144 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

(Blocks 1 open bug, )

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 54270 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/54270
Details from upstream follow.

lumiscosity <averyrudelphe@gmail.com> wrote:

script: fix javascript URL scheme stripping

This makes the initial split match step 2 of https://html.spec.whatwg.org/multipage/browsing-the-web.html#evaluate-a-javascript%3A-url.

Testing: Covered by WPT tests.
Fixes: #<!-- nolink -->38547

Reviewed in servo/servo#38599

Component: web-platform-tests → DOM: Networking
Product: Testing → Core

CI Results

Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 78 tests and 14 subtests

Status Summary

Firefox

OK : 1[GitHub] 76[Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt] 77[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt]
PASS : 4[GitHub] 10449[Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt] 11612[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt]
FAIL : 2[GitHub] 362[Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt] 410[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt]
ERROR: 1

Chrome

OK : 1
PASS : 6

Safari

PASS : 2
FAIL : 4
ERROR: 1

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

Firefox-only Failures

New Tests That Don't Pass

  • /url/failure.html [wpt.fyi]: OK [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt], SKIP [Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt]
    • URL's constructor's base argument: file://example:1/ should throw: FAIL
    • URL's href: file://example:1/ should throw: FAIL
    • XHR: file://example:1/ should throw: FAIL
    • Location's href: file://example:1/ should throw: FAIL
    • window.open(): file://example:1/ should throw: FAIL
    • URL's constructor's base argument: file://example:test/ should throw: FAIL
    • URL's href: file://example:test/ should throw: FAIL
    • XHR: file://example:test/ should throw: FAIL
    • Location's href: file://example:test/ should throw: FAIL
    • window.open(): file://example:test/ should throw: FAIL
    • URL's constructor's base argument: file://example%/ should throw: FAIL
    • URL's href: file://example%/ should throw: FAIL
    • XHR: file://example%/ should throw: FAIL
    • Location's href: file://example%/ should throw: FAIL
    • window.open(): file://example%/ should throw: FAIL
    • URL's constructor's base argument: file://[example]/ should throw: FAIL
    • URL's href: file://[example]/ should throw: FAIL
    • XHR: file://[example]/ should throw: FAIL
    • Location's href: file://[example]/ should throw: FAIL
    • window.open(): file://[example]/ should throw: FAIL
    • URL's constructor's base argument: file://%43%3A should throw: FAIL
    • URL's href: file://%43%3A should throw: FAIL
    • XHR: file://%43%3A should throw: FAIL
    • Location's href: file://%43%3A should throw: FAIL
    • window.open(): file://%43%3A should throw: FAIL
    • URL's constructor's base argument: file://%43%7C should throw: FAIL
    • URL's href: file://%43%7C should throw: FAIL
    • XHR: file://%43%7C should throw: FAIL
    • Location's href: file://%43%7C should throw: FAIL
    • window.open(): file://%43%7C should throw: FAIL
    • URL's constructor's base argument: file://%43| should throw: FAIL
    • URL's href: file://%43| should throw: FAIL
    • XHR: file://%43| should throw: FAIL
    • Location's href: file://%43| should throw: FAIL
    • window.open(): file://%43| should throw: FAIL
    • URL's constructor's base argument: file://C%7C should throw: FAIL
    • URL's href: file://C%7C should throw: FAIL
    • XHR: file://C%7C should throw: FAIL
    • Location's href: file://C%7C should throw: FAIL
    • window.open(): file://C%7C should throw: FAIL
    • URL's constructor's base argument: file://%43%7C/ should throw: FAIL
    • URL's href: file://%43%7C/ should throw: FAIL
    • XHR: file://%43%7C/ should throw: FAIL
    • Location's href: file://%43%7C/ should throw: FAIL
    • window.open(): file://%43%7C/ should throw: FAIL
    • URL's constructor's base argument: file://­/p should throw: FAIL
    • URL's href: file://­/p should throw: FAIL
    • XHR: file://­/p should throw: FAIL
    • Location's href: file://­/p should throw: FAIL
    • window.open(): file://­/p should throw: FAIL
    • URL's constructor's base argument: file://%C2%AD/p should throw: FAIL
    • URL's href: file://%C2%AD/p should throw: FAIL
    • XHR: file://%C2%AD/p should throw: FAIL
    • Location's href: file://%C2%AD/p should throw: FAIL
    • window.open(): file://%C2%AD/p should throw: FAIL
    • URL's constructor's base argument: file://xn--/p should throw: FAIL
    • URL's href: file://xn--/p should throw: FAIL
    • XHR: file://xn--/p should throw: FAIL
    • Location's href: file://xn--/p should throw: FAIL
    • window.open(): file://xn--/p should throw: FAIL
  • /url/IdnaTestV2.window.html [wpt.fyi]
    • ToASCII("xn--xn--a--gua.pt") V4; V2 (ignored): FAIL
    • ToASCII("xn--xn---epa") V4; V2 (ignored): FAIL
  • /url/a-element-origin-xhtml.xhtml [wpt.fyi]
    • Parsing origin: http://!"$&'()*+,-.;=_`{}~/ against <about:blank>: FAIL
    • Parsing origin: <wss://!"$&'()*+,-.;=_{}~/> against <about:blank>: FAIL`
  • /url/a-element-origin.html [wpt.fyi]
    • Parsing origin: http://!"$&'()*+,-.;=_`{}~/ against <about:blank>: FAIL
    • Parsing origin: <wss://!"$&'()*+,-.;=_{}~/> against <about:blank>: FAIL`
  • /url/a-element-xhtml.xhtml?include=file [wpt.fyi]
    • Parsing: <file://example:1/> against <about:blank>: FAIL
    • Parsing: <file://example:test/> against <about:blank>: FAIL
    • Parsing: <file://example%/> against <about:blank>: FAIL
    • Parsing: <file://[example]/> against <about:blank>: FAIL
    • Parsing: <//server/file> against <file:///tmp/mock/path>: FAIL
    • Parsing: <\server\file> against <file:///tmp/mock/path>: FAIL
    • Parsing: </\server/file> against <file:///tmp/mock/path>: FAIL
    • Parsing: <file://test> against <file:///tmp/mock/path>: FAIL
    • Parsing: <file://%43%3A> against <about:blank>: FAIL
    • Parsing: <file://%43%7C> against <about:blank>: FAIL
    • Parsing: <file://%43|> against <about:blank>: FAIL
    • Parsing: <file://C%7C> against <about:blank>: FAIL
    • Parsing: <file://%43%7C/> against <about:blank>: FAIL
    • Parsing: </> against <file:///C:/a/b>: FAIL
    • Parsing: </> against <file://h/C:/a/b>: FAIL
    • Parsing: </> against <file://h/a/b>: FAIL
    • Parsing: <//d:> against <file:///C:/a/b>: FAIL [Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt], PASS [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt]
    • Parsing: <file://spider///> against <about:blank>: FAIL
    • Parsing: </..//localhost//pig> against <file://lion/>: FAIL
    • Parsing: </rooibos> against <file://tea/>: FAIL
    • Parsing: </?chai> against <file://tea/>: FAIL
    • Parsing: <C|> against <file://host/dir/file>: FAIL
    • Parsing: <C|> against <file://host/D:/dir1/dir2/file>: FAIL
    • Parsing: <C|#> against <file://host/dir/file>: FAIL
    • Parsing: <C|?> against <file://host/dir/file>: FAIL
    • Parsing: <C|/> against <file://host/dir/file>: FAIL
    • Parsing: <C|
      /> against <file://host/dir/file>: FAIL
    • Parsing: <C|> against <file://host/dir/file>: FAIL
    • Parsing: <C> against <file://host/dir/file>: FAIL
    • Parsing: <C|a> against <file://host/dir/file>: FAIL
    • Parsing: </c:/foo/bar> against <file://host/path>: FAIL
    • Parsing: <file://example.net/C:/> against <about:blank>: FAIL
    • Parsing: <file://1.2.3.4/C:/> against <about:blank>: FAIL
    • Parsing: <file://[1::8]/C:/> against <about:blank>: FAIL
    • Parsing: <C|/> against <file://host/>: FAIL
    • Parsing: </C:/> against <file://host/>: FAIL
    • Parsing: <file:C:/> against <file://host/>: FAIL
    • Parsing: <file:/C:/> against <file://host/>: FAIL
    • Parsing: <file:///Y:> against <about:blank>: FAIL [Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt], PASS [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt]
    • Parsing: <file:///y:> against <about:blank>: FAIL [Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt], PASS [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt]
    • Parsing: <//one/two> against <file:///>: FAIL
    • Parsing: <file://a­b/p> against <about:blank>: FAIL
    • Parsing: <file://a%C2%ADb/p> against <about:blank>: FAIL
    • Parsing: <file://­/p> against <about:blank>: FAIL
    • Parsing: <file://%C2%AD/p> against <about:blank>: FAIL
    • Parsing: <file://xn--/p> against <about:blank>: FAIL
    • Parsing: <//a/../> against <file:///>: FAIL
  • /url/a-element-xhtml.xhtml?exclude=(file|javascript|mailto) [wpt.fyi]
    • Parsing: <non-special:opaque ?hi> against <about:blank>: FAIL
    • Parsing: <non-special:opaque #hi> against <about:blank>: FAIL
    • Parsing: <non-special:opaque #hi> against <about:blank>: FAIL
    • Parsing: <non-special:opaque #hi> against <about:blank>: FAIL
    • Parsing: <non-special:opaque
      #hi> against <about:blank>: FAIL
    • Parsing: http://!"$&'()*+,-.;=_`{}~/ against <about:blank>: FAIL
    • Parsing: <wss://!"$&'()*+,-.;=_{}~/> against <about:blank>: FAIL`
    • Parsing: <foo://host/ !"$%&'()*+,-./:;<=>@[]^_{|}~> against <about:blank>: FAIL`
  • /url/a-element-xhtml.xhtml?include=javascript [wpt.fyi]
    • Parsing: <javascript:/../> against <about:blank>: FAIL
    • Parsing: <javascript://example.com:8080/pathname?search#hash> against <about:blank>: FAIL
    • Parsing: <javascript:///test> against <about:blank>: FAIL
    • Parsing: <javascript://test/a/../b> against <about:blank>: FAIL
  • /url/a-element.html?include=file [wpt.fyi]
    • Parsing: <file://example:1/> against <about:blank>: FAIL
    • Parsing: <file://example:test/> against <about:blank>: FAIL
    • Parsing: <file://example%/> against <about:blank>: FAIL
    • Parsing: <file://[example]/> against <about:blank>: FAIL
    • Parsing: <//server/file> against <file:///tmp/mock/path>: FAIL
    • Parsing: <\server\file> against <file:///tmp/mock/path>: FAIL
    • Parsing: </\server/file> against <file:///tmp/mock/path>: FAIL
    • Parsing: <file://test> against <file:///tmp/mock/path>: FAIL
    • Parsing: <file://%43%3A> against <about:blank>: FAIL
    • Parsing: <file://%43%7C> against <about:blank>: FAIL
    • Parsing: <file://%43|> against <about:blank>: FAIL
    • Parsing: <file://C%7C> against <about:blank>: FAIL
    • Parsing: <file://%43%7C/> against <about:blank>: FAIL
    • Parsing: </> against <file:///C:/a/b>: FAIL
    • Parsing: </> against <file://h/C:/a/b>: FAIL
    • Parsing: </> against <file://h/a/b>: FAIL
    • Parsing: <//d:> against <file:///C:/a/b>: FAIL [Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt], PASS [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt]
    • Parsing: <file://spider///> against <about:blank>: FAIL
    • Parsing: </..//localhost//pig> against <file://lion/>: FAIL
    • Parsing: </rooibos> against <file://tea/>: FAIL
    • Parsing: </?chai> against <file://tea/>: FAIL
    • Parsing: <C|> against <file://host/dir/file>: FAIL
    • Parsing: <C|> against <file://host/D:/dir1/dir2/file>: FAIL
    • Parsing: <C|#> against <file://host/dir/file>: FAIL
    • Parsing: <C|?> against <file://host/dir/file>: FAIL
    • Parsing: <C|/> against <file://host/dir/file>: FAIL
    • Parsing: <C|
      /> against <file://host/dir/file>: FAIL
    • Parsing: <C|> against <file://host/dir/file>: FAIL
    • Parsing: <C> against <file://host/dir/file>: FAIL
    • Parsing: <C|a> against <file://host/dir/file>: FAIL
    • Parsing: </c:/foo/bar> against <file://host/path>: FAIL
    • Parsing: <file://example.net/C:/> against <about:blank>: FAIL
    • Parsing: <file://1.2.3.4/C:/> against <about:blank>: FAIL
    • Parsing: <file://[1::8]/C:/> against <about:blank>: FAIL
    • Parsing: <C|/> against <file://host/>: FAIL
    • Parsing: </C:/> against <file://host/>: FAIL
    • Parsing: <file:C:/> against <file://host/>: FAIL
    • Parsing: <file:/C:/> against <file://host/>: FAIL
    • Parsing: <file:///Y:> against <about:blank>: FAIL [Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt], PASS [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt]
    • Parsing: <file:///y:> against <about:blank>: FAIL [Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt], PASS [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt]
    • Parsing: <//one/two> against <file:///>: FAIL
    • Parsing: <file://a­b/p> against <about:blank>: FAIL
    • Parsing: <file://a%C2%ADb/p> against <about:blank>: FAIL
    • Parsing: <file://­/p> against <about:blank>: FAIL
    • Parsing: <file://%C2%AD/p> against <about:blank>: FAIL
    • Parsing: <file://xn--/p> against <about:blank>: FAIL
    • Parsing: <//a/../> against <file:///>: FAIL
  • /url/a-element.html?exclude=(file|javascript|mailto) [wpt.fyi]
    • Parsing: <non-special:opaque ?hi> against <about:blank>: FAIL
    • Parsing: <non-special:opaque #hi> against <about:blank>: FAIL
    • Parsing: <non-special:opaque #hi> against <about:blank>: FAIL
    • Parsing: <non-special:opaque #hi> against <about:blank>: FAIL
    • Parsing: <non-special:opaque
      #hi> against <about:blank>: FAIL
    • Parsing: http://!"$&'()*+,-.;=_`{}~/ against <about:blank>: FAIL
    • Parsing: <wss://!"$&'()*+,-.;=_{}~/> against <about:blank>: FAIL`
    • Parsing: <foo://host/ !"$%&'()*+,-./:;<=>@[]^_{|}~> against <about:blank>: FAIL`
  • /url/a-element.html?include=javascript [wpt.fyi]
    • Parsing: <javascript:/../> against <about:blank>: FAIL
    • Parsing: <javascript://example.com:8080/pathname?search#hash> against <about:blank>: FAIL
    • Parsing: <javascript:///test> against <about:blank>: FAIL
    • Parsing: <javascript://test/a/../b> against <about:blank>: FAIL
  • /url/idlharness.any.shadowrealm-in-window.html [wpt.fyi]: ERROR
  • /url/javascript-urls.window.html [wpt.fyi]
    • javascript: URL that fails to parse due to invalid host and has a U+0009 in scheme: FAIL (Chrome: PASS, Safari: PASS)
    • javascript: URL without an opaque path: FAIL (Chrome: PASS, Safari: FAIL)
  • /url/url-constructor.any.worker.html?include=file [wpt.fyi]
    • Parsing: <file://example:1/> without base: FAIL
    • Parsing: <file://example:test/> without base: FAIL
    • Parsing: <file://example%/> without base: FAIL
    • Parsing: <file://[example]/> without base: FAIL
    • Parsing: <//server/file> against <file:///tmp/mock/path>: FAIL
    • Parsing: <\server\file> against <file:///tmp/mock/path>: FAIL
    • Parsing: </\server/file> against <file:///tmp/mock/path>: FAIL
    • Parsing: <file://test> against <file:///tmp/mock/path>: FAIL
    • Parsing: <file://%43%3A> without base: FAIL
    • Parsing: <file://%43%7C> without base: FAIL
    • Parsing: <file://%43|> without base: FAIL
    • Parsing: <file://C%7C> without base: FAIL
    • Parsing: <file://%43%7C/> without base: FAIL
    • Parsing: </> against <file:///C:/a/b>: FAIL
    • Parsing: </> against <file://h/C:/a/b>: FAIL
    • Parsing: </> against <file://h/a/b>: FAIL
    • Parsing: <//d:> against <file:///C:/a/b>: FAIL [Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt], PASS [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt]
    • Parsing: <file://spider///> without base: FAIL
    • Parsing: </..//localhost//pig> against <file://lion/>: FAIL
    • Parsing: </rooibos> against <file://tea/>: FAIL
    • Parsing: </?chai> against <file://tea/>: FAIL
    • Parsing: <C|> against <file://host/dir/file>: FAIL
    • Parsing: <C|> against <file://host/D:/dir1/dir2/file>: FAIL
    • Parsing: <C|#> against <file://host/dir/file>: FAIL
    • Parsing: <C|?> against <file://host/dir/file>: FAIL
    • Parsing: <C|/> against <file://host/dir/file>: FAIL
    • Parsing: <C|
      /> against <file://host/dir/file>: FAIL
    • Parsing: <C|> against <file://host/dir/file>: FAIL
    • Parsing: <C> against <file://host/dir/file>: FAIL
    • Parsing: <C|a> against <file://host/dir/file>: FAIL
    • Parsing: </c:/foo/bar> against <file://host/path>: FAIL
    • Parsing: <file://example.net/C:/> without base: FAIL
    • Parsing: <file://1.2.3.4/C:/> without base: FAIL
    • Parsing: <file://[1::8]/C:/> without base: FAIL
    • Parsing: <C|/> against <file://host/>: FAIL
    • Parsing: </C:/> against <file://host/>: FAIL
    • Parsing: <file:C:/> against <file://host/>: FAIL
    • Parsing: <file:/C:/> against <file://host/>: FAIL
    • Parsing: <file:///Y:> without base: FAIL [Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt], PASS [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt]
    • Parsing: <file:///y:> without base: FAIL [Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt], PASS [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt]
    • Parsing: <//one/two> against <file:///>: FAIL
    • Parsing: <file://a­b/p> without base: FAIL
    • Parsing: <file://a%C2%ADb/p> without base: FAIL
    • Parsing: <file://­/p> without base: FAIL
    • Parsing: <file://%C2%AD/p> without base: FAIL
    • Parsing: <file://xn--/p> without base: FAIL
    • Parsing: <//a/../> against <file:///>: FAIL
  • /url/url-constructor.any.html?include=javascript [wpt.fyi]
    • Parsing: <javascript:/../> without base: FAIL
    • Parsing: <javascript://example.com:8080/pathname?search#hash> without base: FAIL
    • Parsing: <javascript:///test> without base: FAIL
    • Parsing: <javascript://test/a/../b> without base: FAIL
  • /url/url-constructor.any.html?include=file [wpt.fyi]
    • Parsing: <file://example:1/> without base: FAIL
    • Parsing: <file://example:test/> without base: FAIL
    • Parsing: <file://example%/> without base: FAIL
    • Parsing: <file://[example]/> without base: FAIL
    • Parsing: <//server/file> against <file:///tmp/mock/path>: FAIL
    • Parsing: <\server\file> against <file:///tmp/mock/path>: FAIL
    • Parsing: </\server/file> against <file:///tmp/mock/path>: FAIL
    • Parsing: <file://test> against <file:///tmp/mock/path>: FAIL
    • Parsing: <file://%43%3A> without base: FAIL
    • Parsing: <file://%43%7C> without base: FAIL
    • Parsing: <file://%43|> without base: FAIL
    • Parsing: <file://C%7C> without base: FAIL
    • Parsing: <file://%43%7C/> without base: FAIL
    • Parsing: </> against <file:///C:/a/b>: FAIL
    • Parsing: </> against <file://h/C:/a/b>: FAIL
    • Parsing: </> against <file://h/a/b>: FAIL
    • Parsing: <//d:> against <file:///C:/a/b>: FAIL [Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt], PASS [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt]
    • Parsing: <file://spider///> without base: FAIL
    • Parsing: </..//localhost//pig> against <file://lion/>: FAIL
    • Parsing: </rooibos> against <file://tea/>: FAIL
    • Parsing: </?chai> against <file://tea/>: FAIL
    • Parsing: <C|> against <file://host/dir/file>: FAIL
    • Parsing: <C|> against <file://host/D:/dir1/dir2/file>: FAIL
    • Parsing: <C|#> against <file://host/dir/file>: FAIL
    • Parsing: <C|?> against <file://host/dir/file>: FAIL
    • Parsing: <C|/> against <file://host/dir/file>: FAIL
    • Parsing: <C|
      /> against <file://host/dir/file>: FAIL
    • Parsing: <C|> against <file://host/dir/file>: FAIL
    • Parsing: <C> against <file://host/dir/file>: FAIL
    • Parsing: <C|a> against <file://host/dir/file>: FAIL
    • Parsing: </c:/foo/bar> against <file://host/path>: FAIL
    • Parsing: <file://example.net/C:/> without base: FAIL
    • Parsing: <file://1.2.3.4/C:/> without base: FAIL
    • Parsing: <file://[1::8]/C:/> without base: FAIL
    • Parsing: <C|/> against <file://host/>: FAIL
    • Parsing: </C:/> against <file://host/>: FAIL
    • Parsing: <file:C:/> against <file://host/>: FAIL
    • Parsing: <file:/C:/> against <file://host/>: FAIL
    • Parsing: <file:///Y:> without base: FAIL [Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt], PASS [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt]
    • Parsing: <file:///y:> without base: FAIL [Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt], PASS [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt]
    • Parsing: <//one/two> against <file:///>: FAIL
    • Parsing: <file://a­b/p> without base: FAIL
    • Parsing: <file://a%C2%ADb/p> without base: FAIL
    • Parsing: <file://­/p> without base: FAIL
    • Parsing: <file://%C2%AD/p> without base: FAIL
    • Parsing: <file://xn--/p> without base: FAIL
    • Parsing: <//a/../> against <file:///>: FAIL
  • /url/url-constructor.any.worker.html?exclude=(file|javascript|mailto) [wpt.fyi]
    • Parsing: <non-special:opaque ?hi> without base: FAIL
    • Parsing: <non-special:opaque #hi> without base: FAIL
    • Parsing: <non-special:opaque #hi> without base: FAIL
    • Parsing: <non-special:opaque #hi> without base: FAIL
    • Parsing: <non-special:opaque
      #hi> without base: FAIL
    • Parsing: http://!"$&'()*+,-.;=_`{}~/ without base: FAIL
    • Parsing: <wss://!"$&'()*+,-.;=_{}~/> without base: FAIL`
    • Parsing: <foo://host/ !"$%&'()*+,-./:;<=>@[]^_{|}~> without base: FAIL`
  • /url/url-constructor.any.worker.html?include=javascript [wpt.fyi]
    • Parsing: <javascript:/../> without base: FAIL
    • Parsing: <javascript://example.com:8080/pathname?search#hash> without base: FAIL
    • Parsing: <javascript:///test> without base: FAIL
    • Parsing: <javascript://test/a/../b> without base: FAIL
  • /url/url-constructor.any.html?exclude=(file|javascript|mailto) [wpt.fyi]
    • Parsing: <non-special:opaque ?hi> without base: FAIL
    • Parsing: <non-special:opaque #hi> without base: FAIL
    • Parsing: <non-special:opaque #hi> without base: FAIL
    • Parsing: <non-special:opaque #hi> without base: FAIL
    • Parsing: <non-special:opaque
      #hi> without base: FAIL
    • Parsing: http://!"$&'()*+,-.;=_`{}~/ without base: FAIL
    • Parsing: <wss://!"$&'()*+,-.;=_{}~/> without base: FAIL`
    • Parsing: <foo://host/ !"$%&'()*+,-./:;<=>@[]^_{|}~> without base: FAIL`
  • /url/url-origin.any.worker.html [wpt.fyi]
  • /url/url-origin.any.html [wpt.fyi]
  • /url/url-setters-a-area.window.html?include=file [wpt.fyi]
    • <a>: Setting <file://hi/path>.protocol = 's': FAIL
    • <area>: Setting <file://hi/path>.protocol = 's': FAIL
    • <a>: Setting <file://test/>.username = 'test': FAIL
    • <area>: Setting <file://test/>.username = 'test': FAIL
    • <a>: Setting <file://test/>.password = 'test': FAIL
    • <area>: Setting <file://test/>.password = 'test': FAIL
    • <a>: Setting <file://y/>.host = 'x:123': FAIL
    • <area>: Setting <file://y/>.host = 'x:123': FAIL
    • <a>: Setting <file://y/>.hostname = 'x:123': FAIL
    • <area>: Setting <file://y/>.hostname = 'x:123': FAIL
    • <a>: Setting <file://test/>.port = '12': FAIL
    • <area>: Setting <file://test/>.port = '12': FAIL
    • <a>: Setting <file://monkey/>.pathname = '\' File URLs and (back)slashes: FAIL
    • <area>: Setting <file://monkey/>.pathname = '\' File URLs and (back)slashes: FAIL
  • /url/url-setters-a-area.window.html?include=javascript [wpt.fyi]
    • <a>: Setting <javascript://x/>.username = 'wario': FAIL
    • <area>: Setting <javascript://x/>.username = 'wario': FAIL
    • <a>: Setting <javascript://x/>.password = 'bowser': FAIL
    • <area>: Setting <javascript://x/>.password = 'bowser': FAIL
    • <a>: Setting <javascript://x/>.port = '12': FAIL
    • <area>: Setting <javascript://x/>.port = '12': FAIL
  • /url/url-setters-a-area.window.html?exclude=(file|javascript|mailto) [wpt.fyi]

!"#$%&'()*+,-./09:;<=>?@AZ[]^_az{|}~€Éé' UTF-8 percent encoding with the default encode set. Tabs and newlines are removed.: FAIL`

  • <area>: Setting <a:/>.pathname = '<

!"#$%&'()*+,-./09:;<=>?@AZ[]^_az{|}~€Éé' UTF-8 percent encoding with the default encode set. Tabs and newlines are removed.: FAIL`

  • <a>: Setting <non-spec:/>.pathname = '/.//p' Serialize /. in path: FAIL
  • <area>: Setting <non-spec:/>.pathname = '/.//p' Serialize /. in path: FAIL
  • <a>: Setting <non-spec:/>.pathname = '/..//p': FAIL
  • <area>: Setting <non-spec:/>.pathname = '/..//p': FAIL
  • <a>: Setting <non-spec:/>.pathname = '//p': FAIL
  • <area>: Setting <non-spec:/>.pathname = '//p': FAIL
  • <a>: Setting <data:space ?query>.search = '' Trailing spaces and opaque paths: FAIL
  • <area>: Setting <data:space ?query>.search = '' Trailing spaces and opaque paths: FAIL
  • <a>: Setting <sc:space ?query>.search = '': FAIL
  • <area>: Setting <sc:space ?query>.search = '': FAIL
  • <a>: Setting <data:space ?query#fragment>.search = '' Trailing spaces and opaque paths: FAIL
  • <area>: Setting <data:space ?query#fragment>.search = '' Trailing spaces and opaque paths: FAIL
  • <a>: Setting <sc:space ?query#fragment>.search = '': FAIL
  • <area>: Setting <sc:space ?query#fragment>.search = '': FAIL
  • <a>: Setting <data:space #fragment>.hash = '' Trailing spaces and opaque paths: FAIL
  • <area>: Setting <data:space #fragment>.hash = '' Trailing spaces and opaque paths: FAIL
  • <a>: Setting <sc:space #fragment>.hash = '': FAIL
  • <area>: Setting <sc:space #fragment>.hash = '': FAIL
  • <a>: Setting <data:space ?query#fragment>.hash = '' Trailing spaces and opaque paths: FAIL
  • <area>: Setting <data:space ?query#fragment>.hash = '' Trailing spaces and opaque paths: FAIL
  • <a>: Setting <sc:space ?query#fragment>.hash = '': FAIL
  • <area>: Setting <sc:space ?query#fragment>.hash = '': FAIL
  • /url/url-setters.any.html?include=file [wpt.fyi]
    • URL: Setting <file://hi/path>.protocol = 's': FAIL
    • URL: Setting <file://test/>.username = 'test': FAIL
    • URL: Setting <file://test/>.password = 'test': FAIL
    • URL: Setting <file://y/>.host = 'x:123': FAIL
    • URL: Setting <file://y/>.hostname = 'x:123': FAIL
    • URL: Setting <file://test/>.port = '12': FAIL
    • URL: Setting <file://monkey/>.pathname = '\' File URLs and (back)slashes: FAIL
  • /url/url-setters.any.worker.html?include=javascript [wpt.fyi]
    • URL: Setting <javascript://x/>.username = 'wario': FAIL
    • URL: Setting <javascript://x/>.password = 'bowser': FAIL
    • URL: Setting <javascript://x/>.port = '12': FAIL
  • /url/url-setters.any.html?exclude=(file|javascript|mailto) [wpt.fyi]
    • URL: Setting https://test.invalid/.host = '*': FAIL

    • URL: Setting <non-spec:/.//p>.hostname = 'h' Drop /. from path: FAIL

    • URL: Setting <non-spec:/.//p>.hostname = '': FAIL

    • URL: Setting https://test.invalid/.hostname = '*': FAIL

    • URL: Setting https://domain.com:3000.port = '

      ': `FAIL`
      
    • URL: Setting <foo:///some/path>.pathname = '' Non-special URLs with an empty host can have their paths erased: FAIL

    • URL: Setting <a:/>.pathname = '<

!"#$%&'()*+,-./09:;<=>?@AZ[]^_az{|}~€Éé' UTF-8 percent encoding with the default encode set. Tabs and newlines are removed.: FAIL`

  • URL: Setting <non-spec:/>.pathname = '/.//p' Serialize /. in path: FAIL
  • URL: Setting <non-spec:/>.pathname = '/..//p': FAIL
  • URL: Setting <non-spec:/>.pathname = '//p': FAIL
  • URL: Setting <non-spec:/.//>.pathname = 'p' Drop /. from path: FAIL
  • URL: Setting <data:space ?query>.search = '' Trailing spaces and opaque paths: FAIL
  • URL: Setting <sc:space ?query>.search = '': FAIL
  • URL: Setting <data:space ?query#fragment>.search = '' Trailing spaces and opaque paths: FAIL
  • URL: Setting <sc:space ?query#fragment>.search = '': FAIL
  • URL: Setting <data:space #fragment>.hash = '' Trailing spaces and opaque paths: FAIL
  • URL: Setting <sc:space #fragment>.hash = '': FAIL
  • URL: Setting <data:space ?query#fragment>.hash = '' Trailing spaces and opaque paths: FAIL
  • URL: Setting <sc:space ?query#fragment>.hash = '': FAIL
  • /url/url-setters.any.html?include=javascript [wpt.fyi]
    • URL: Setting <javascript://x/>.username = 'wario': FAIL
    • URL: Setting <javascript://x/>.password = 'bowser': FAIL
    • URL: Setting <javascript://x/>.port = '12': FAIL
  • /url/url-setters.any.worker.html?exclude=(file|javascript|mailto) [wpt.fyi]
    • URL: Setting https://test.invalid/.host = '*': FAIL

    • URL: Setting <non-spec:/.//p>.hostname = 'h' Drop /. from path: FAIL

    • URL: Setting <non-spec:/.//p>.hostname = '': FAIL

    • URL: Setting https://test.invalid/.hostname = '*': FAIL

    • URL: Setting https://domain.com:3000.port = '

      ': `FAIL`
      
    • URL: Setting <foo:///some/path>.pathname = '' Non-special URLs with an empty host can have their paths erased: FAIL

    • URL: Setting <a:/>.pathname = '<

!"#$%&'()*+,-./09:;<=>?@AZ[]^_az{|}~€Éé' UTF-8 percent encoding with the default encode set. Tabs and newlines are removed.: FAIL`

  • URL: Setting <non-spec:/>.pathname = '/.//p' Serialize /. in path: FAIL
  • URL: Setting <non-spec:/>.pathname = '/..//p': FAIL
  • URL: Setting <non-spec:/>.pathname = '//p': FAIL
  • URL: Setting <non-spec:/.//>.pathname = 'p' Drop /. from path: FAIL
  • URL: Setting <data:space ?query>.search = '' Trailing spaces and opaque paths: FAIL
  • URL: Setting <sc:space ?query>.search = '': FAIL
  • URL: Setting <data:space ?query#fragment>.search = '' Trailing spaces and opaque paths: FAIL
  • URL: Setting <sc:space ?query#fragment>.search = '': FAIL
  • URL: Setting <data:space #fragment>.hash = '' Trailing spaces and opaque paths: FAIL
  • URL: Setting <sc:space #fragment>.hash = '': FAIL
  • URL: Setting <data:space ?query#fragment>.hash = '' Trailing spaces and opaque paths: FAIL
  • URL: Setting <sc:space ?query#fragment>.hash = '': FAIL
  • /url/url-setters.any.worker.html?include=file [wpt.fyi]
    • URL: Setting <file://hi/path>.protocol = 's': FAIL
    • URL: Setting <file://test/>.username = 'test': FAIL
    • URL: Setting <file://test/>.password = 'test': FAIL
    • URL: Setting <file://y/>.host = 'x:123': FAIL
    • URL: Setting <file://y/>.hostname = 'x:123': FAIL
    • URL: Setting <file://test/>.port = '12': FAIL
    • URL: Setting <file://monkey/>.pathname = '\' File URLs and (back)slashes: FAIL
  • /url/urlsearchparams-delete.any.worker.html [wpt.fyi]
    • Changing the query of a URL with an opaque path with trailing spaces: FAIL
    • Changing the query of a URL with an opaque path with trailing spaces and a fragment: FAIL
  • /url/urlsearchparams-delete.any.html [wpt.fyi]
    • Changing the query of a URL with an opaque path with trailing spaces: FAIL
    • Changing the query of a URL with an opaque path with trailing spaces and a fragment: FAIL

Tests Disabled in Gecko Infrastructure

  • /url/failure.html [wpt.fyi]: OK [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt], SKIP [Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt] linked bug:Bug 1722328
Pushed by wptsync@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/42c042861da3 https://hg.mozilla.org/integration/autoland/rev/1c30805ccc7c [wpt PR 54270] - script: Strip `javascript` URL scheme using `Position::AfterScheme` rather than `Position::BeforePath`, a=testonly
Status: NEW → RESOLVED
Closed: 10 months ago
Resolution: --- → FIXED
Target Milestone: --- → 144 Branch
You need to log in before you can comment on or make changes to this bug.