diff options
author | Anthony Ramine <n.oxyde@gmail.com> | 2016-10-04 00:54:05 +0200 |
---|---|---|
committer | Anthony Ramine <n.oxyde@gmail.com> | 2016-10-06 21:35:49 +0200 |
commit | 19108aa3305df2172208c83500f5ac67d2dee104 (patch) | |
tree | d65138e8d1a8723cb30a56f8bd117f580f39438c /components/script/dom/worker.rs | |
parent | 1fd470889dd9b4e6c3a871b6b40b50e30114443d (diff) | |
download | servo-19108aa3305df2172208c83500f5ac67d2dee104.tar.gz servo-19108aa3305df2172208c83500f5ac67d2dee104.zip |
Pass a &GlobalScope to WebIDL static methods and constructors
Diffstat (limited to 'components/script/dom/worker.rs')
-rw-r--r-- | components/script/dom/worker.rs | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/components/script/dom/worker.rs b/components/script/dom/worker.rs index 035aa83bdf9..328471be089 100644 --- a/components/script/dom/worker.rs +++ b/components/script/dom/worker.rs @@ -9,7 +9,6 @@ use dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull; use dom::bindings::codegen::Bindings::WorkerBinding; use dom::bindings::codegen::Bindings::WorkerBinding::WorkerMethods; use dom::bindings::error::{Error, ErrorResult, Fallible, ErrorInfo}; -use dom::bindings::global::GlobalRef; use dom::bindings::inheritance::Castable; use dom::bindings::js::Root; use dom::bindings::refcounted::Trusted; @@ -72,29 +71,28 @@ impl Worker { // https://html.spec.whatwg.org/multipage/#dom-worker #[allow(unsafe_code)] - pub fn Constructor(global: GlobalRef, script_url: DOMString) -> Fallible<Root<Worker>> { - let global_scope = global.as_global_scope(); + pub fn Constructor(global: &GlobalScope, script_url: DOMString) -> Fallible<Root<Worker>> { // Step 2-4. - let worker_url = match global_scope.api_base_url().join(&script_url) { + let worker_url = match global.api_base_url().join(&script_url) { Ok(url) => url, Err(_) => return Err(Error::Syntax), }; let (sender, receiver) = channel(); let closing = Arc::new(AtomicBool::new(false)); - let worker = Worker::new(global_scope, sender.clone(), closing.clone()); + let worker = Worker::new(global, sender.clone(), closing.clone()); let worker_ref = Trusted::new(worker.r()); let worker_load_origin = WorkerScriptLoadOrigin { referrer_url: None, referrer_policy: None, - pipeline_id: Some(global_scope.pipeline_id()), + pipeline_id: Some(global.pipeline_id()), }; let (devtools_sender, devtools_receiver) = ipc::channel().unwrap(); - let worker_id = global_scope.get_next_worker_id(); - if let Some(ref chan) = global_scope.devtools_chan() { - let pipeline_id = global_scope.pipeline_id(); + let worker_id = global.get_next_worker_id(); + if let Some(ref chan) = global.devtools_chan() { + let pipeline_id = global.pipeline_id(); let title = format!("Worker for {}", worker_url); let page_info = DevtoolsPageInfo { title: title, @@ -105,11 +103,11 @@ impl Worker { page_info)); } - let init = prepare_workerscope_init(global_scope, Some(devtools_sender)); + let init = prepare_workerscope_init(global, Some(devtools_sender)); DedicatedWorkerGlobalScope::run_worker_scope( init, worker_url, devtools_receiver, worker.runtime.clone(), worker_ref, - global_scope.script_chan(), sender, receiver, worker_load_origin, closing); + global.script_chan(), sender, receiver, worker_load_origin, closing); Ok(worker) } |