mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
Notify devtools about new worker globals
This commit is contained in:
parent
5dd43bf84c
commit
1244f9e016
10 changed files with 117 additions and 14 deletions
|
@ -4,6 +4,7 @@
|
|||
|
||||
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};
|
||||
|
@ -14,6 +15,7 @@ use dom::bindings::refcounted::Trusted;
|
|||
use dom::bindings::structuredclone::StructuredCloneData;
|
||||
use dom::bindings::trace::JSTraceable;
|
||||
use dom::bindings::utils::{Reflectable, reflect_dom_object};
|
||||
use dom::window::WindowHelpers;
|
||||
use dom::dedicatedworkerglobalscope::DedicatedWorkerGlobalScope;
|
||||
use dom::errorevent::ErrorEvent;
|
||||
use dom::event::{Event, EventBubbles, EventCancelable, EventHelpers};
|
||||
|
@ -21,6 +23,8 @@ use dom::eventtarget::{EventTarget, EventTargetHelpers, EventTargetTypeId};
|
|||
use dom::messageevent::MessageEvent;
|
||||
use script_task::{ScriptChan, ScriptMsg, Runnable};
|
||||
|
||||
use devtools_traits::{DevtoolsControlMsg, DevtoolsPageInfo};
|
||||
|
||||
use util::str::DOMString;
|
||||
|
||||
use js::jsapi::JSContext;
|
||||
|
@ -71,6 +75,23 @@ 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();
|
||||
}
|
||||
}
|
||||
|
||||
DedicatedWorkerGlobalScope::run_worker_scope(
|
||||
worker_url, worker_ref, resource_task, global.script_chan(),
|
||||
sender, receiver);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue