diff --git a/dom/base/nsContentUtils.cpp b/dom/base/nsContentUtils.cpp index 759ea87966c3..b6502f032042 100644 --- a/dom/base/nsContentUtils.cpp +++ b/dom/base/nsContentUtils.cpp @@ -6718,6 +6718,16 @@ nsresult nsContentUtils::GetWebExposedOriginSerialization(nsIURI* aURI, return NS_OK; } + if ( + // Schemes in spec. https://url.spec.whatwg.org/#origin + !uri->SchemeIs("http") && !uri->SchemeIs("https") && + !uri->SchemeIs("file") && !uri->SchemeIs("resource") && + // Our own schemes. + !uri->SchemeIs("moz-extension")) { + aOrigin.AssignLiteral("null"); + return NS_OK; + } + return GetWebExposedOriginSerialization(uri, aOrigin); } diff --git a/dom/url/tests/test_unknown_url_origin.html b/dom/url/tests/test_unknown_url_origin.html index 1c5571e9e4e8..e44e45393c79 100644 --- a/dom/url/tests/test_unknown_url_origin.html +++ b/dom/url/tests/test_unknown_url_origin.html @@ -2,7 +2,7 @@ - Test for unknwon URL.origin + Test for unknown URL.origin @@ -10,7 +10,7 @@ diff --git a/testing/web-platform/meta/url/a-element-origin-xhtml.xhtml.ini b/testing/web-platform/meta/url/a-element-origin-xhtml.xhtml.ini index 15907c1cdcdb..8c1f24445354 100644 --- a/testing/web-platform/meta/url/a-element-origin-xhtml.xhtml.ini +++ b/testing/web-platform/meta/url/a-element-origin-xhtml.xhtml.ini @@ -4,15 +4,3 @@ [Parsing origin: against ] expected: FAIL - - [Parsing origin: against ] - expected: FAIL - - [Parsing origin: against ] - expected: FAIL - - [Parsing origin: against ] - expected: FAIL - - [Parsing origin: against ] - expected: FAIL diff --git a/testing/web-platform/meta/url/a-element-origin.html.ini b/testing/web-platform/meta/url/a-element-origin.html.ini index 54d576b732cb..a924e087c78a 100644 --- a/testing/web-platform/meta/url/a-element-origin.html.ini +++ b/testing/web-platform/meta/url/a-element-origin.html.ini @@ -4,15 +4,3 @@ [Parsing origin: against ] expected: FAIL - - [Parsing origin: against ] - expected: FAIL - - [Parsing origin: against ] - expected: FAIL - - [Parsing origin: against ] - expected: FAIL - - [Parsing origin: against ] - expected: FAIL diff --git a/testing/web-platform/meta/url/url-origin.any.js.ini b/testing/web-platform/meta/url/url-origin.any.js.ini index a45cfeb797c0..d1b9ce14a544 100644 --- a/testing/web-platform/meta/url/url-origin.any.js.ini +++ b/testing/web-platform/meta/url/url-origin.any.js.ini @@ -5,18 +5,6 @@ [Origin parsing: without base] expected: FAIL - [Origin parsing: without base] - expected: FAIL - - [Origin parsing: without base] - expected: FAIL - - [Origin parsing: without base] - expected: FAIL - - [Origin parsing: without base] - expected: FAIL - [url-origin.any.worker.html] [Origin parsing: without base] @@ -24,15 +12,3 @@ [Origin parsing: without base] expected: FAIL - - [Origin parsing: without base] - expected: FAIL - - [Origin parsing: without base] - expected: FAIL - - [Origin parsing: without base] - expected: FAIL - - [Origin parsing: without base] - expected: FAIL