From 0a3981cdc9ade6d21610389fdd0dc0f87bbe4f72 Mon Sep 17 00:00:00 2001 From: Brandon Mintern Date: Sun, 28 Jun 2015 16:54:43 -0400 Subject: [PATCH] Update Worker location for redirects Fixes #4146 --- components/script/dom/dedicatedworkerglobalscope.rs | 12 +++++++----- .../workers/baseurl/alpha/importScripts.html.ini | 5 ----- .../metadata/workers/baseurl/alpha/worker.html.ini | 5 ----- .../wpt/metadata/workers/baseurl/alpha/xhr.html.ini | 5 ----- .../WorkerGlobalScope/location/redirect.html.ini | 5 ----- 5 files changed, 7 insertions(+), 25 deletions(-) delete mode 100644 tests/wpt/metadata/workers/baseurl/alpha/importScripts.html.ini delete mode 100644 tests/wpt/metadata/workers/baseurl/alpha/worker.html.ini delete mode 100644 tests/wpt/metadata/workers/baseurl/alpha/xhr.html.ini delete mode 100644 tests/wpt/metadata/workers/interfaces/WorkerGlobalScope/location/redirect.html.ini diff --git a/components/script/dom/dedicatedworkerglobalscope.rs b/components/script/dom/dedicatedworkerglobalscope.rs index c7a7ef0f04fe..46f4037de749 100644 --- a/components/script/dom/dedicatedworkerglobalscope.rs +++ b/components/script/dom/dedicatedworkerglobalscope.rs @@ -150,15 +150,16 @@ impl DedicatedWorkerGlobalScope { parent_sender: Box, 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; @@ -169,15 +170,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 2000c82a7431..000000000000 --- 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 86eaa9e7aa58..000000000000 --- 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 e65ff1065bbc..000000000000 --- 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 55aa2aab8ac1..000000000000 --- 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 -