diff options
author | Anthony Ramine <n.oxyde@gmail.com> | 2016-10-05 10:07:53 +0200 |
---|---|---|
committer | Anthony Ramine <n.oxyde@gmail.com> | 2016-10-06 21:35:59 +0200 |
commit | 00e66a777afba1f7f5ad189d38d7c58b1ef1cdab (patch) | |
tree | 028ad9f13a8c530fea0b0db0bc6cc14bb03fd915 /components/script/dom/serviceworkerglobalscope.rs | |
parent | 907781eb75b06bd11cccb2c3694ab5ce62bc548a (diff) | |
download | servo-00e66a777afba1f7f5ad189d38d7c58b1ef1cdab.tar.gz servo-00e66a777afba1f7f5ad189d38d7c58b1ef1cdab.zip |
Make workers' interrupt_callback use GlobalScope
Diffstat (limited to 'components/script/dom/serviceworkerglobalscope.rs')
-rw-r--r-- | components/script/dom/serviceworkerglobalscope.rs | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/components/script/dom/serviceworkerglobalscope.rs b/components/script/dom/serviceworkerglobalscope.rs index 62037763a6e..c5f993fba02 100644 --- a/components/script/dom/serviceworkerglobalscope.rs +++ b/components/script/dom/serviceworkerglobalscope.rs @@ -8,7 +8,7 @@ use dom::abstractworker::WorkerScriptMsg; use dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull; use dom::bindings::codegen::Bindings::ServiceWorkerGlobalScopeBinding; use dom::bindings::codegen::Bindings::ServiceWorkerGlobalScopeBinding::ServiceWorkerGlobalScopeMethods; -use dom::bindings::global::{GlobalRef, global_root_from_context}; +use dom::bindings::global::global_scope_from_context; use dom::bindings::inheritance::Castable; use dom::bindings::js::{Root, RootCollection}; use dom::bindings::reflector::Reflectable; @@ -310,11 +310,9 @@ impl ServiceWorkerGlobalScope { #[allow(unsafe_code)] unsafe extern "C" fn interrupt_callback(cx: *mut JSContext) -> bool { - let global = global_root_from_context(cx); - let worker = match global.r() { - GlobalRef::Worker(w) => w, - _ => panic!("global for worker is not a worker scope") - }; + let worker = + Root::downcast::<WorkerGlobalScope>(global_scope_from_context(cx)) + .expect("global is not a worker scope"); assert!(worker.is::<ServiceWorkerGlobalScope>()); // A false response causes the script to terminate |