Make dispatch_jsval methods take a &GlobalScope

This commit is contained in:
Anthony Ramine 2016-10-01 21:17:46 +02:00
parent b3393fba18
commit 20bacbf42e
7 changed files with 16 additions and 19 deletions

View file

@ -283,7 +283,7 @@ impl DedicatedWorkerGlobalScope {
scope.reflector().get_jsobject().get());
rooted!(in(scope.get_cx()) let mut message = UndefinedValue());
data.read(scope.upcast(), message.handle_mut());
MessageEvent::dispatch_jsval(target, GlobalRef::Worker(scope), message.handle());
MessageEvent::dispatch_jsval(target, scope.upcast(), message.handle());
},
WorkerScriptMsg::Common(CommonScriptMsg::RunnableMsg(_, runnable)) => {
runnable.handler()

View file

@ -65,10 +65,10 @@ impl ExtendableMessageEvent {
impl ExtendableMessageEvent {
pub fn dispatch_jsval(target: &EventTarget,
scope: GlobalRef,
scope: &GlobalScope,
message: HandleValue) {
let Extendablemessageevent = ExtendableMessageEvent::new(
scope.as_global_scope(), atom!("message"), false, false, message,
scope, atom!("message"), false, false, message,
DOMString::new(), DOMString::new());
Extendablemessageevent.upcast::<Event>().fire(target);
}

View file

@ -81,10 +81,10 @@ impl MessageEvent {
impl MessageEvent {
pub fn dispatch_jsval(target: &EventTarget,
scope: GlobalRef,
scope: &GlobalScope,
message: HandleValue) {
let messageevent = MessageEvent::new(
scope.as_global_scope(),
scope,
atom!("message"),
false,
false,

View file

@ -239,7 +239,7 @@ impl ServiceWorkerGlobalScope {
let _ac = JSAutoCompartment::new(scope.get_cx(), scope.reflector().get_jsobject().get());
rooted!(in(scope.get_cx()) let mut message = UndefinedValue());
data.read(scope.upcast(), message.handle_mut());
ExtendableMessageEvent::dispatch_jsval(target, GlobalRef::Worker(scope), message.handle());
ExtendableMessageEvent::dispatch_jsval(target, scope.upcast(), message.handle());
},
CommonWorker(WorkerScriptMsg::Common(CommonScriptMsg::RunnableMsg(_, runnable))) => {
runnable.handler()

View file

@ -587,10 +587,10 @@ impl Runnable for MessageReceivedTask {
}
// Step 2-5.
let global = ws.r().global();
let global = ws.global_scope();
// global.get_cx() returns a valid `JSContext` pointer, so this is safe.
unsafe {
let cx = global.r().get_cx();
let cx = global.get_cx();
let _ac = JSAutoCompartment::new(cx, ws.reflector().get_jsobject().get());
rooted!(in(cx) let mut message = UndefinedValue());
match self.message {
@ -598,10 +598,7 @@ impl Runnable for MessageReceivedTask {
MessageData::Binary(data) => {
match ws.binary_type.get() {
BinaryType::Blob => {
let blob = Blob::new(
global.r().as_global_scope(),
BlobImpl::new_from_bytes(data),
"".to_owned());
let blob = Blob::new(&global, BlobImpl::new_from_bytes(data), "".to_owned());
blob.to_jsval(cx, message.handle_mut());
}
BinaryType::Arraybuffer => {
@ -617,7 +614,7 @@ impl Runnable for MessageReceivedTask {
}
},
}
MessageEvent::dispatch_jsval(ws.upcast(), global.r(), message.handle());
MessageEvent::dispatch_jsval(ws.upcast(), &global, message.handle());
}
}
}

View file

@ -1776,7 +1776,7 @@ impl Runnable for PostMessageHandler {
// Step 11-12.
// TODO(#12719): set the other attributes.
MessageEvent::dispatch_jsval(window.upcast(),
GlobalRef::Window(&*window),
window.upcast(),
message.handle());
}
}

View file

@ -130,12 +130,12 @@ impl Worker {
return;
}
let global = worker.r().global();
let global = worker.global_scope();
let target = worker.upcast();
let _ac = JSAutoCompartment::new(global.r().get_cx(), target.reflector().get_jsobject().get());
rooted!(in(global.r().get_cx()) let mut message = UndefinedValue());
data.read(global.r().as_global_scope(), message.handle_mut());
MessageEvent::dispatch_jsval(target, global.r(), message.handle());
let _ac = JSAutoCompartment::new(global.get_cx(), target.reflector().get_jsobject().get());
rooted!(in(global.get_cx()) let mut message = UndefinedValue());
data.read(&global, message.handle_mut());
MessageEvent::dispatch_jsval(target, &global, message.handle());
}
pub fn dispatch_simple_error(address: TrustedWorkerAddress) {