mirror of
https://github.com/servo/servo.git
synced 2025-08-05 05:30:08 +01:00
Make dispatch_jsval methods take a &GlobalScope
This commit is contained in:
parent
b3393fba18
commit
20bacbf42e
7 changed files with 16 additions and 19 deletions
|
@ -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()
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue