diff --git a/components/script/dom/worker.rs b/components/script/dom/worker.rs index f6cf53b801e..0f0d06d488f 100644 --- a/components/script/dom/worker.rs +++ b/components/script/dom/worker.rs @@ -69,7 +69,7 @@ impl Worker { // https://html.spec.whatwg.org/multipage/#dom-worker pub fn Constructor(global: GlobalRef, script_url: DOMString) -> Fallible> { // Step 2-4. - let worker_url = match global.get_url().join(&script_url) { + let worker_url = match global.api_base_url().join(&script_url) { Ok(url) => url, Err(_) => return Err(Error::Syntax), }; diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 533d663e71a..58ce846609d 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -35241,6 +35241,12 @@ "path": "dom/nodes/Node-isSameNode.html", "url": "/dom/nodes/Node-isSameNode.html" } + ], + "workers/constructors/Worker/use-base-url.html": [ + { + "path": "workers/constructors/Worker/use-base-url.html", + "url": "/workers/constructors/Worker/use-base-url.html" + } ] } }, diff --git a/tests/wpt/web-platform-tests/workers/constructors/Worker/sample_worker/worker.js b/tests/wpt/web-platform-tests/workers/constructors/Worker/sample_worker/worker.js new file mode 100644 index 00000000000..19bbea58e76 --- /dev/null +++ b/tests/wpt/web-platform-tests/workers/constructors/Worker/sample_worker/worker.js @@ -0,0 +1 @@ +onmessage = function(event) { postMessage(event.data); } diff --git a/tests/wpt/web-platform-tests/workers/constructors/Worker/use-base-url.html b/tests/wpt/web-platform-tests/workers/constructors/Worker/use-base-url.html new file mode 100644 index 00000000000..94ce2a71f14 --- /dev/null +++ b/tests/wpt/web-platform-tests/workers/constructors/Worker/use-base-url.html @@ -0,0 +1,18 @@ + + +Use the document base url when resolving worker URLs + + + + +