Make StructuredCloneData::read take a &GlobalScope

This commit is contained in:
Anthony Ramine 2016-10-01 21:09:57 +02:00
parent ac5a4adf5f
commit b3393fba18
5 changed files with 7 additions and 7 deletions

View file

@ -6,7 +6,7 @@
//! (https://html.spec.whatwg.org/multipage/#safe-passing-of-structured-data).
use dom::bindings::error::{Error, Fallible};
use dom::bindings::global::GlobalRef;
use dom::globalscope::GlobalScope;
use js::jsapi::{HandleValue, MutableHandleValue};
use js::jsapi::{JSContext, JS_ReadStructuredClone, JS_STRUCTURED_CLONE_VERSION};
use js::jsapi::{JS_ClearPendingException, JS_WriteStructuredClone};
@ -60,7 +60,7 @@ impl StructuredCloneData {
/// Reads a structured clone.
///
/// 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 {
assert!(JS_ReadStructuredClone(global.get_cx(),
data,
@ -73,7 +73,7 @@ impl StructuredCloneData {
}
/// 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 {
StructuredCloneData::Vector(mut vec_msg) => {
let nbytes = vec_msg.len();

View file

@ -282,7 +282,7 @@ impl DedicatedWorkerGlobalScope {
let _ac = JSAutoCompartment::new(scope.get_cx(),
scope.reflector().get_jsobject().get());
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());
},
WorkerScriptMsg::Common(CommonScriptMsg::RunnableMsg(_, runnable)) => {

View file

@ -238,7 +238,7 @@ impl ServiceWorkerGlobalScope {
let target = self.upcast();
let _ac = JSAutoCompartment::new(scope.get_cx(), scope.reflector().get_jsobject().get());
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());
},
CommonWorker(WorkerScriptMsg::Common(CommonScriptMsg::RunnableMsg(_, runnable))) => {

View file

@ -1771,7 +1771,7 @@ impl Runnable for PostMessageHandler {
let _ac = JSAutoCompartment::new(cx, globalhandle.get());
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.
// TODO(#12719): set the other attributes.

View file

@ -134,7 +134,7 @@ impl Worker {
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(), message.handle_mut());
data.read(global.r().as_global_scope(), message.handle_mut());
MessageEvent::dispatch_jsval(target, global.r(), message.handle());
}