mirror of
https://github.com/servo/servo.git
synced 2025-08-01 19:50:30 +01:00
Modify Worker constructor to use the document's base URL.
This commit is contained in:
parent
97a45dc30c
commit
d15495aade
4 changed files with 26 additions and 1 deletions
|
@ -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),
|
||||||
};
|
};
|
||||||
|
|
|
@ -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"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
onmessage = function(event) { postMessage(event.data); }
|
|
@ -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>
|
Loading…
Add table
Add a link
Reference in a new issue