Make create_scope_things take a &GlobalScope

This commit is contained in:
Anthony Ramine 2016-10-03 18:58:03 +02:00
parent 83feb7dee3
commit de846f25a6
2 changed files with 7 additions and 10 deletions

View file

@ -4,7 +4,6 @@
use dom::bindings::codegen::Bindings::ServiceWorkerBinding::ServiceWorkerState; use dom::bindings::codegen::Bindings::ServiceWorkerBinding::ServiceWorkerState;
use dom::bindings::codegen::Bindings::ServiceWorkerRegistrationBinding::{ServiceWorkerRegistrationMethods, Wrap}; use dom::bindings::codegen::Bindings::ServiceWorkerRegistrationBinding::{ServiceWorkerRegistrationMethods, Wrap};
use dom::bindings::global::GlobalRef;
use dom::bindings::js::{JS, Root}; use dom::bindings::js::{JS, Root};
use dom::bindings::reflector::reflect_dom_object; use dom::bindings::reflector::reflect_dom_object;
use dom::bindings::str::USVString; use dom::bindings::str::USVString;
@ -50,17 +49,16 @@ impl ServiceWorkerRegistration {
self.active.as_ref().unwrap() self.active.as_ref().unwrap()
} }
pub fn create_scope_things(global: GlobalRef, script_url: Url) -> ScopeThings { pub fn create_scope_things(global: &GlobalScope, script_url: Url) -> ScopeThings {
let global_scope = global.as_global_scope();
let worker_load_origin = WorkerScriptLoadOrigin { let worker_load_origin = WorkerScriptLoadOrigin {
referrer_url: None, referrer_url: None,
referrer_policy: None, referrer_policy: None,
pipeline_id: Some(global_scope.pipeline_id()) pipeline_id: Some(global.pipeline_id())
}; };
let worker_id = global_scope.get_next_worker_id(); let worker_id = global.get_next_worker_id();
let devtools_chan = global_scope.devtools_chan().cloned(); let devtools_chan = global.devtools_chan().cloned();
let init = prepare_workerscope_init(global_scope, None); let init = prepare_workerscope_init(global, None);
ScopeThings { ScopeThings {
script_url: script_url, script_url: script_url,
init: init, init: init,

View file

@ -1449,10 +1449,9 @@ impl ScriptThread {
None => return None => return
}; };
if let Some(context) = self.root_browsing_context().find(pipeline_id) { if let Some(context) = self.root_browsing_context().find(pipeline_id) {
let window = context.active_window();
let global_ref = GlobalRef::Window(window.r());
let script_url = maybe_registration.get_installed().get_script_url(); let script_url = maybe_registration.get_installed().get_script_url();
let scope_things = ServiceWorkerRegistration::create_scope_things(global_ref, script_url); let scope_things = ServiceWorkerRegistration::create_scope_things(
context.active_window().upcast(), script_url);
let _ = self.constellation_chan.send(ConstellationMsg::RegisterServiceWorker(scope_things, scope)); let _ = self.constellation_chan.send(ConstellationMsg::RegisterServiceWorker(scope_things, scope));
} else { } else {
warn!("Registration failed for {}", scope); warn!("Registration failed for {}", scope);