aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/worker.rs
diff options
context:
space:
mode:
authorthiagopnts <thiagopnts@gmail.com>2015-04-04 00:15:51 -0300
committerthiagopnts <thiagopnts@gmail.com>2015-04-06 00:54:16 -0300
commitea5c702f4abf0e2f03a9cb3a6938ac4dc1fe10fe (patch)
treea44868b81a17cf98ae8ee5e462a6ac9e220ffb9f /components/script/dom/worker.rs
parentf22d920b4dd97fff6e2c8666d2062f3ca2b0b2e6 (diff)
downloadservo-ea5c702f4abf0e2f03a9cb3a6938ac4dc1fe10fe.tar.gz
servo-ea5c702f4abf0e2f03a9cb3a6938ac4dc1fe10fe.zip
Add devtools_chan method to GlobalRef and make new globals notifications work with nested workers
fixup! Add devtools_chan method to GlobalRef and make new globals notifications work with nested workers fixup! Add devtools_chan method to GlobalRef and make new globals notifications work with nested workers
Diffstat (limited to 'components/script/dom/worker.rs')
-rw-r--r--components/script/dom/worker.rs30
1 files changed, 13 insertions, 17 deletions
diff --git a/components/script/dom/worker.rs b/components/script/dom/worker.rs
index 5d422edf7e7..04924bd4c86 100644
--- a/components/script/dom/worker.rs
+++ b/components/script/dom/worker.rs
@@ -4,7 +4,6 @@
use dom::bindings::codegen::Bindings::WorkerBinding;
use dom::bindings::codegen::Bindings::WorkerBinding::WorkerMethods;
-use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods;
use dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull;
use dom::bindings::codegen::InheritTypes::{EventCast, EventTargetCast};
use dom::bindings::error::{Fallible, ErrorResult};
@@ -76,25 +75,22 @@ impl Worker {
let worker = Worker::new(global, sender.clone()).root();
let worker_ref = Trusted::new(global.get_cx(), worker.r(), global.script_chan());
-
- if let GlobalRef::Window(window) = global {
- if let Some(ref chan) = window.devtools_chan() {
- let pipeline_id = window.Window().root().r().pipeline();
- let (devtools_sender, _) = channel();
- let title = format!("Worker for {}", worker_url);
- let page_info = DevtoolsPageInfo {
- title: title,
- url: worker_url.clone(),
- };
- let worker_id = global.get_next_worker_id();
- chan.send(
- DevtoolsControlMsg::NewGlobal((pipeline_id, Some(worker_id)), devtools_sender.clone(), page_info)
- ).unwrap();
- }
+ if let Some(ref chan) = global.devtools_chan() {
+ let pipeline_id = global.pipeline();
+ let (devtools_sender, _) = channel();
+ let title = format!("Worker for {}", worker_url);
+ let page_info = DevtoolsPageInfo {
+ title: title,
+ url: worker_url.clone(),
+ };
+ let worker_id = global.get_next_worker_id();
+ chan.send(
+ DevtoolsControlMsg::NewGlobal((pipeline_id, Some(worker_id)), devtools_sender.clone(), page_info)
+ ).unwrap();
}
DedicatedWorkerGlobalScope::run_worker_scope(
- worker_url, worker_ref, resource_task, global.script_chan(),
+ worker_url, global.pipeline(), global.devtools_chan(), worker_ref, resource_task, global.script_chan(),
sender, receiver);
Ok(Temporary::from_rooted(worker.r()))