mirror of
https://github.com/servo/servo.git
synced 2025-08-04 05:00:08 +01:00
Make StructuredCloneData::read take a &GlobalScope
This commit is contained in:
parent
ac5a4adf5f
commit
b3393fba18
5 changed files with 7 additions and 7 deletions
|
@ -6,7 +6,7 @@
|
||||||
//! (https://html.spec.whatwg.org/multipage/#safe-passing-of-structured-data).
|
//! (https://html.spec.whatwg.org/multipage/#safe-passing-of-structured-data).
|
||||||
|
|
||||||
use dom::bindings::error::{Error, Fallible};
|
use dom::bindings::error::{Error, Fallible};
|
||||||
use dom::bindings::global::GlobalRef;
|
use dom::globalscope::GlobalScope;
|
||||||
use js::jsapi::{HandleValue, MutableHandleValue};
|
use js::jsapi::{HandleValue, MutableHandleValue};
|
||||||
use js::jsapi::{JSContext, JS_ReadStructuredClone, JS_STRUCTURED_CLONE_VERSION};
|
use js::jsapi::{JSContext, JS_ReadStructuredClone, JS_STRUCTURED_CLONE_VERSION};
|
||||||
use js::jsapi::{JS_ClearPendingException, JS_WriteStructuredClone};
|
use js::jsapi::{JS_ClearPendingException, JS_WriteStructuredClone};
|
||||||
|
@ -60,7 +60,7 @@ impl StructuredCloneData {
|
||||||
/// Reads a structured clone.
|
/// Reads a structured clone.
|
||||||
///
|
///
|
||||||
/// Panics if `JS_ReadStructuredClone` fails.
|
/// Panics if `JS_ReadStructuredClone` fails.
|
||||||
fn read_clone(global: GlobalRef, data: *mut u64, nbytes: size_t, rval: MutableHandleValue) {
|
fn read_clone(global: &GlobalScope, data: *mut u64, nbytes: size_t, rval: MutableHandleValue) {
|
||||||
unsafe {
|
unsafe {
|
||||||
assert!(JS_ReadStructuredClone(global.get_cx(),
|
assert!(JS_ReadStructuredClone(global.get_cx(),
|
||||||
data,
|
data,
|
||||||
|
@ -73,7 +73,7 @@ impl StructuredCloneData {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Thunk for the actual `read_clone` method. Resolves proper variant for read_clone.
|
/// Thunk for the actual `read_clone` method. Resolves proper variant for read_clone.
|
||||||
pub fn read(self, global: GlobalRef, rval: MutableHandleValue) {
|
pub fn read(self, global: &GlobalScope, rval: MutableHandleValue) {
|
||||||
match self {
|
match self {
|
||||||
StructuredCloneData::Vector(mut vec_msg) => {
|
StructuredCloneData::Vector(mut vec_msg) => {
|
||||||
let nbytes = vec_msg.len();
|
let nbytes = vec_msg.len();
|
||||||
|
|
|
@ -282,7 +282,7 @@ impl DedicatedWorkerGlobalScope {
|
||||||
let _ac = JSAutoCompartment::new(scope.get_cx(),
|
let _ac = JSAutoCompartment::new(scope.get_cx(),
|
||||||
scope.reflector().get_jsobject().get());
|
scope.reflector().get_jsobject().get());
|
||||||
rooted!(in(scope.get_cx()) let mut message = UndefinedValue());
|
rooted!(in(scope.get_cx()) let mut message = UndefinedValue());
|
||||||
data.read(GlobalRef::Worker(scope), message.handle_mut());
|
data.read(scope.upcast(), message.handle_mut());
|
||||||
MessageEvent::dispatch_jsval(target, GlobalRef::Worker(scope), message.handle());
|
MessageEvent::dispatch_jsval(target, GlobalRef::Worker(scope), message.handle());
|
||||||
},
|
},
|
||||||
WorkerScriptMsg::Common(CommonScriptMsg::RunnableMsg(_, runnable)) => {
|
WorkerScriptMsg::Common(CommonScriptMsg::RunnableMsg(_, runnable)) => {
|
||||||
|
|
|
@ -238,7 +238,7 @@ impl ServiceWorkerGlobalScope {
|
||||||
let target = self.upcast();
|
let target = self.upcast();
|
||||||
let _ac = JSAutoCompartment::new(scope.get_cx(), scope.reflector().get_jsobject().get());
|
let _ac = JSAutoCompartment::new(scope.get_cx(), scope.reflector().get_jsobject().get());
|
||||||
rooted!(in(scope.get_cx()) let mut message = UndefinedValue());
|
rooted!(in(scope.get_cx()) let mut message = UndefinedValue());
|
||||||
data.read(GlobalRef::Worker(scope), message.handle_mut());
|
data.read(scope.upcast(), message.handle_mut());
|
||||||
ExtendableMessageEvent::dispatch_jsval(target, GlobalRef::Worker(scope), message.handle());
|
ExtendableMessageEvent::dispatch_jsval(target, GlobalRef::Worker(scope), message.handle());
|
||||||
},
|
},
|
||||||
CommonWorker(WorkerScriptMsg::Common(CommonScriptMsg::RunnableMsg(_, runnable))) => {
|
CommonWorker(WorkerScriptMsg::Common(CommonScriptMsg::RunnableMsg(_, runnable))) => {
|
||||||
|
|
|
@ -1771,7 +1771,7 @@ impl Runnable for PostMessageHandler {
|
||||||
let _ac = JSAutoCompartment::new(cx, globalhandle.get());
|
let _ac = JSAutoCompartment::new(cx, globalhandle.get());
|
||||||
|
|
||||||
rooted!(in(cx) let mut message = UndefinedValue());
|
rooted!(in(cx) let mut message = UndefinedValue());
|
||||||
this.message.read(GlobalRef::Window(&*window), message.handle_mut());
|
this.message.read(window.upcast(), message.handle_mut());
|
||||||
|
|
||||||
// Step 11-12.
|
// Step 11-12.
|
||||||
// TODO(#12719): set the other attributes.
|
// TODO(#12719): set the other attributes.
|
||||||
|
|
|
@ -134,7 +134,7 @@ impl Worker {
|
||||||
let target = worker.upcast();
|
let target = worker.upcast();
|
||||||
let _ac = JSAutoCompartment::new(global.r().get_cx(), target.reflector().get_jsobject().get());
|
let _ac = JSAutoCompartment::new(global.r().get_cx(), target.reflector().get_jsobject().get());
|
||||||
rooted!(in(global.r().get_cx()) let mut message = UndefinedValue());
|
rooted!(in(global.r().get_cx()) let mut message = UndefinedValue());
|
||||||
data.read(global.r(), message.handle_mut());
|
data.read(global.r().as_global_scope(), message.handle_mut());
|
||||||
MessageEvent::dispatch_jsval(target, global.r(), message.handle());
|
MessageEvent::dispatch_jsval(target, global.r(), message.handle());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue