diff options
author | Josh Matthews <josh@joshmatthews.net> | 2019-11-22 13:07:01 -0500 |
---|---|---|
committer | Josh Matthews <josh@joshmatthews.net> | 2019-11-22 14:08:02 -0500 |
commit | 0f30755522ac773235a1ad67c4ba65622b995c3b (patch) | |
tree | ca2ccbe2d912636b6e607a1d2ccf4b439ee4b313 /components/script/dom | |
parent | 1b524ead1e2626fe0152e049f634f8705ee187e2 (diff) | |
download | servo-0f30755522ac773235a1ad67c4ba65622b995c3b.tar.gz servo-0f30755522ac773235a1ad67c4ba65622b995c3b.zip |
Ensure JS runnables are dispatched to a worker's event loop instead of its parent.
Diffstat (limited to 'components/script/dom')
-rw-r--r-- | components/script/dom/dedicatedworkerglobalscope.rs | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/components/script/dom/dedicatedworkerglobalscope.rs b/components/script/dom/dedicatedworkerglobalscope.rs index 9b16b0348d7..aa7443ce018 100644 --- a/components/script/dom/dedicatedworkerglobalscope.rs +++ b/components/script/dom/dedicatedworkerglobalscope.rs @@ -347,10 +347,14 @@ impl DedicatedWorkerGlobalScope { let runtime = unsafe { if let Some(pipeline_id) = pipeline_id { - new_child_runtime( - parent, - Some(NetworkingTaskSource(parent_sender.clone(), pipeline_id)), - ) + let task_source = NetworkingTaskSource( + Box::new(WorkerThreadWorkerChan { + sender: own_sender.clone(), + worker: worker.clone(), + }), + pipeline_id, + ); + new_child_runtime(parent, Some(task_source)) } else { new_child_runtime(parent, None) } |