aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbors-servo <metajack+bors@gmail.com>2015-07-02 03:28:29 -0600
committerbors-servo <metajack+bors@gmail.com>2015-07-02 03:28:29 -0600
commitbe9d60664d26e979489fe891b7b11468bb89ba2a (patch)
tree6b078aab759a2b7ac3d4e18d0c430ddaf5ce8f94
parentbbb39082e0f640400546d2084a450a8675820a82 (diff)
parent0a3981cdc9ade6d21610389fdd0dc0f87bbe4f72 (diff)
downloadservo-be9d60664d26e979489fe891b7b11468bb89ba2a.tar.gz
servo-be9d60664d26e979489fe891b7b11468bb89ba2a.zip
Auto merge of #6510 - mintern:fix-worker-redirect-location, r=Ms2ger
Update Worker location for redirects Fixes #4146 <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6510) <!-- Reviewable:end -->
-rw-r--r--components/script/dom/dedicatedworkerglobalscope.rs12
-rw-r--r--tests/wpt/metadata/workers/baseurl/alpha/importScripts.html.ini5
-rw-r--r--tests/wpt/metadata/workers/baseurl/alpha/worker.html.ini5
-rw-r--r--tests/wpt/metadata/workers/baseurl/alpha/xhr.html.ini5
-rw-r--r--tests/wpt/metadata/workers/interfaces/WorkerGlobalScope/location/redirect.html.ini5
5 files changed, 7 insertions, 25 deletions
diff --git a/components/script/dom/dedicatedworkerglobalscope.rs b/components/script/dom/dedicatedworkerglobalscope.rs
index a3d06ee7bb9..6aea05e0e78 100644
--- a/components/script/dom/dedicatedworkerglobalscope.rs
+++ b/components/script/dom/dedicatedworkerglobalscope.rs
@@ -149,15 +149,16 @@ impl DedicatedWorkerGlobalScope {
parent_sender: Box<ScriptChan+Send>,
own_sender: Sender<(TrustedWorkerAddress, ScriptMsg)>,
receiver: Receiver<(TrustedWorkerAddress, ScriptMsg)>) {
- spawn_named(format!("WebWorker for {}", worker_url.serialize()), move || {
+ let serialized_worker_url = worker_url.serialize();
+ spawn_named(format!("WebWorker for {}", serialized_worker_url), move || {
task_state::initialize(SCRIPT | IN_WORKER);
let roots = RootCollection::new();
let _stack_roots_tls = StackRootTLS::new(&roots);
- let (url, source) = match load_whole_resource(&resource_task, worker_url.clone()) {
+ let (url, source) = match load_whole_resource(&resource_task, worker_url) {
Err(_) => {
- println!("error loading script {}", worker_url.serialize());
+ println!("error loading script {}", serialized_worker_url);
parent_sender.send(ScriptMsg::RunnableMsg(
box WorkerEventHandler::new(worker))).unwrap();
return;
@@ -168,15 +169,16 @@ impl DedicatedWorkerGlobalScope {
};
let runtime = Rc::new(ScriptTask::new_rt_and_cx());
+ let serialized_url = url.serialize();
let global = DedicatedWorkerGlobalScope::new(
- worker_url, id, devtools_chan, runtime.clone(), resource_task,
+ url, id, devtools_chan, runtime.clone(), resource_task,
parent_sender, own_sender, receiver);
{
let _ar = AutoWorkerReset::new(global.r(), worker);
match runtime.evaluate_script(
- global.r().reflector().get_jsobject(), source, url.serialize(), 1) {
+ global.r().reflector().get_jsobject(), source, serialized_url, 1) {
Ok(_) => (),
Err(_) => {
// TODO: An error needs to be dispatched to the parent.
diff --git a/tests/wpt/metadata/workers/baseurl/alpha/importScripts.html.ini b/tests/wpt/metadata/workers/baseurl/alpha/importScripts.html.ini
deleted file mode 100644
index 2000c82a743..00000000000
--- a/tests/wpt/metadata/workers/baseurl/alpha/importScripts.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[importScripts.html]
- type: testharness
- [Base URL in workers: importScripts]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/workers/baseurl/alpha/worker.html.ini b/tests/wpt/metadata/workers/baseurl/alpha/worker.html.ini
deleted file mode 100644
index 86eaa9e7aa5..00000000000
--- a/tests/wpt/metadata/workers/baseurl/alpha/worker.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[worker.html]
- type: testharness
- [Base URL in workers: new Worker()]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/workers/baseurl/alpha/xhr.html.ini b/tests/wpt/metadata/workers/baseurl/alpha/xhr.html.ini
deleted file mode 100644
index e65ff1065bb..00000000000
--- a/tests/wpt/metadata/workers/baseurl/alpha/xhr.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[xhr.html]
- type: testharness
- [Base URL in workers: XHR]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/workers/interfaces/WorkerGlobalScope/location/redirect.html.ini b/tests/wpt/metadata/workers/interfaces/WorkerGlobalScope/location/redirect.html.ini
deleted file mode 100644
index 55aa2aab8ac..00000000000
--- a/tests/wpt/metadata/workers/interfaces/WorkerGlobalScope/location/redirect.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[redirect.html]
- type: testharness
- [location with a worker in separate file that redirects]
- expected: FAIL
-