Modify Worker constructor to use the document's base URL.

This commit is contained in:
Bridget McErlean 2016-04-25 08:04:48 -07:00
parent 97a45dc30c
commit d15495aade
4 changed files with 26 additions and 1 deletions

View file

@ -69,7 +69,7 @@ impl Worker {
// https://html.spec.whatwg.org/multipage/#dom-worker // https://html.spec.whatwg.org/multipage/#dom-worker
pub fn Constructor(global: GlobalRef, script_url: DOMString) -> Fallible<Root<Worker>> { pub fn Constructor(global: GlobalRef, script_url: DOMString) -> Fallible<Root<Worker>> {
// Step 2-4. // 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, Ok(url) => url,
Err(_) => return Err(Error::Syntax), Err(_) => return Err(Error::Syntax),
}; };

View file

@ -35241,6 +35241,12 @@
"path": "dom/nodes/Node-isSameNode.html", "path": "dom/nodes/Node-isSameNode.html",
"url": "/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"
}
] ]
} }
}, },

View file

@ -0,0 +1 @@
onmessage = function(event) { postMessage(event.data); }

View file

@ -0,0 +1,18 @@
<!doctype html>
<meta charset="utf-8">
<title>Use the document base url when resolving worker URLs</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<base href="/workers/constructors/Worker/sample_worker/">
<script>
async_test(function(t) {
var worker = new Worker('worker.js');
var data = "foo";
worker.postMessage(data);
worker.onmessage = t.step_func_done(function(event) {
assert_equals(event.data, data, "event.data does not match expected data");
});
worker.onerror = t.unreached_func("received error event");
}, "Use the document base url when resolving worker URLs");
</script>