aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom
diff options
context:
space:
mode:
authorAkash-Pateria <pateria.akash77@gmail.com>2019-11-16 22:42:43 -0500
committerJosh Matthews <josh@joshmatthews.net>2019-11-19 23:25:52 -0500
commit84f16eae98fee221a1a4754c126d08b2a86a35ff (patch)
treeafbd54cbc689a8109d40325facc3f42b2bac87b9 /components/script/dom
parente6ae93f66e724bf15e5badccc8d4046e19f04fa8 (diff)
downloadservo-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.rs12
-rw-r--r--components/script/dom/serviceworkerglobalscope.rs2
-rw-r--r--components/script/dom/worklet.rs2
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,
});