diff options
author | Akash-Pateria <pateria.akash77@gmail.com> | 2019-11-16 22:42:43 -0500 |
---|---|---|
committer | Josh Matthews <josh@joshmatthews.net> | 2019-11-19 23:25:52 -0500 |
commit | 84f16eae98fee221a1a4754c126d08b2a86a35ff (patch) | |
tree | afbd54cbc689a8109d40325facc3f42b2bac87b9 /components/script/dom | |
parent | e6ae93f66e724bf15e5badccc8d4046e19f04fa8 (diff) | |
download | servo-84f16eae98fee221a1a4754c126d08b2a86a35ff.tar.gz servo-84f16eae98fee221a1a4754c126d08b2a86a35ff.zip |
Bind runnable dispatching in script_runtime
Diffstat (limited to 'components/script/dom')
-rw-r--r-- | components/script/dom/dedicatedworkerglobalscope.rs | 12 | ||||
-rw-r--r-- | components/script/dom/serviceworkerglobalscope.rs | 2 | ||||
-rw-r--r-- | components/script/dom/worklet.rs | 2 |
3 files changed, 13 insertions, 3 deletions
diff --git a/components/script/dom/dedicatedworkerglobalscope.rs b/components/script/dom/dedicatedworkerglobalscope.rs index f5895379003..9b16b0348d7 100644 --- a/components/script/dom/dedicatedworkerglobalscope.rs +++ b/components/script/dom/dedicatedworkerglobalscope.rs @@ -32,6 +32,7 @@ use crate::script_runtime::{ new_child_runtime, CommonScriptMsg, JSContext as SafeJSContext, Runtime, ScriptChan, ScriptPort, }; use crate::task_queue::{QueuedTask, QueuedTaskConversion, TaskQueue}; +use crate::task_source::networking::NetworkingTaskSource; use crate::task_source::TaskSourceName; use crossbeam_channel::{unbounded, Receiver, Sender}; use devtools_traits::DevtoolScriptControlMsg; @@ -344,7 +345,16 @@ impl DedicatedWorkerGlobalScope { .referrer_policy(referrer_policy) .origin(origin); - let runtime = unsafe { new_child_runtime(parent) }; + let runtime = unsafe { + if let Some(pipeline_id) = pipeline_id { + new_child_runtime( + parent, + Some(NetworkingTaskSource(parent_sender.clone(), pipeline_id)), + ) + } else { + new_child_runtime(parent, None) + } + }; let (devtools_mpsc_chan, devtools_mpsc_port) = unbounded(); ROUTER.route_ipc_receiver_to_crossbeam_sender( diff --git a/components/script/dom/serviceworkerglobalscope.rs b/components/script/dom/serviceworkerglobalscope.rs index 657f43627ed..cb72a4a25e4 100644 --- a/components/script/dom/serviceworkerglobalscope.rs +++ b/components/script/dom/serviceworkerglobalscope.rs @@ -315,7 +315,7 @@ impl ServiceWorkerGlobalScope { }, }; - let runtime = new_rt_and_cx(); + let runtime = new_rt_and_cx(None); let (devtools_mpsc_chan, devtools_mpsc_port) = unbounded(); ROUTER diff --git a/components/script/dom/worklet.rs b/components/script/dom/worklet.rs index e882566e07f..196864f5527 100644 --- a/components/script/dom/worklet.rs +++ b/components/script/dom/worklet.rs @@ -477,7 +477,7 @@ impl WorkletThread { global_init: init.global_init, global_scopes: HashMap::new(), control_buffer: None, - runtime: new_rt_and_cx(), + runtime: new_rt_and_cx(None), should_gc: false, gc_threshold: MIN_GC_THRESHOLD, }); |