diff options
author | Ms2ger <ms2ger@gmail.com> | 2014-08-12 11:10:33 +0200 |
---|---|---|
committer | Ms2ger <ms2ger@gmail.com> | 2014-08-12 17:47:17 +0200 |
commit | 4f7c7fc808867d68ec15f172711a94af2b9a43ab (patch) | |
tree | 440b1280e7175b95636e3757a448dce44b94fb9b /src | |
parent | d9105ca9b461b01590ca792229c8380a75ee3fb4 (diff) | |
download | servo-4f7c7fc808867d68ec15f172711a94af2b9a43ab.tar.gz servo-4f7c7fc808867d68ec15f172711a94af2b9a43ab.zip |
Pass the script channel to DedicatedWorkerGlobalScope::run_worker_scope rather than creating it there.
This allows us to create the Worker object before calling
DedicatedWorkerGlobalScope::run_worker_scope, which is necessary to pass a
pointer to the worker to it.
Diffstat (limited to 'src')
-rw-r--r-- | src/components/script/dom/dedicatedworkerglobalscope.rs | 7 | ||||
-rw-r--r-- | src/components/script/dom/worker.rs | 5 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/components/script/dom/dedicatedworkerglobalscope.rs b/src/components/script/dom/dedicatedworkerglobalscope.rs index f9e3210715e..a3757bf3b0b 100644 --- a/src/components/script/dom/dedicatedworkerglobalscope.rs +++ b/src/components/script/dom/dedicatedworkerglobalscope.rs @@ -62,9 +62,9 @@ impl DedicatedWorkerGlobalScope { impl DedicatedWorkerGlobalScope { pub fn run_worker_scope(worker_url: Url, - resource_task: ResourceTask) -> ScriptChan { - let (receiver, sender) = ScriptChan::new(); - let sender_clone = sender.clone(); + resource_task: ResourceTask, + receiver: Receiver<ScriptMsg>, + sender: ScriptChan) { TaskBuilder::new() .native() .named(format!("Web Worker at {}", worker_url.serialize())) @@ -109,7 +109,6 @@ impl DedicatedWorkerGlobalScope { } } }); - return sender_clone; } } diff --git a/src/components/script/dom/worker.rs b/src/components/script/dom/worker.rs index 670ae7a5beb..5007f212f9a 100644 --- a/src/components/script/dom/worker.rs +++ b/src/components/script/dom/worker.rs @@ -45,8 +45,9 @@ impl Worker { }; let resource_task = global.resource_task(); - let sender = DedicatedWorkerGlobalScope::run_worker_scope( - worker_url, resource_task); + let (receiver, sender) = ScriptChan::new(); + DedicatedWorkerGlobalScope::run_worker_scope( + worker_url, resource_task, receiver, sender.clone()); Ok(Worker::new(global, sender)) } } |