aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/bindings/structuredclone.rs
diff options
context:
space:
mode:
authorKamil Niski <kamil.niski@gmail.com>2019-05-04 11:27:21 +0200
committerKamil Niski <kamil.niski@gmail.com>2019-06-29 19:23:17 +0200
commitadb402487e7f8bf2cd0a1db360b16592f5c654ed (patch)
treecd04a40769e20f2a2c63c5eff914dedc4c745e62 /components/script/dom/bindings/structuredclone.rs
parent84786add227f2c0a675f4bcca708ac8a70011f6c (diff)
downloadservo-adb402487e7f8bf2cd0a1db360b16592f5c654ed.tar.gz
servo-adb402487e7f8bf2cd0a1db360b16592f5c654ed.zip
Create a helper API for entering a DOM object's compartment
Revert some unnecessary changes Fix fmt errors
Diffstat (limited to 'components/script/dom/bindings/structuredclone.rs')
-rw-r--r--components/script/dom/bindings/structuredclone.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/components/script/dom/bindings/structuredclone.rs b/components/script/dom/bindings/structuredclone.rs
index f6f63abbaf7..167b375dbc7 100644
--- a/components/script/dom/bindings/structuredclone.rs
+++ b/components/script/dom/bindings/structuredclone.rs
@@ -5,6 +5,7 @@
//! This module implements structured cloning, as defined by [HTML]
//! (https://html.spec.whatwg.org/multipage/#safe-passing-of-structured-data).
+use crate::compartments::enter_realm;
use crate::dom::bindings::conversions::root_from_handleobject;
use crate::dom::bindings::error::{Error, Fallible};
use crate::dom::bindings::reflector::DomObject;
@@ -18,11 +19,11 @@ use js::glue::NewJSAutoStructuredCloneBuffer;
use js::glue::WriteBytesToJSStructuredCloneData;
use js::jsapi::CloneDataPolicy;
use js::jsapi::HandleObject as RawHandleObject;
+use js::jsapi::JSContext;
use js::jsapi::MutableHandleObject as RawMutableHandleObject;
use js::jsapi::StructuredCloneScope;
use js::jsapi::TransferableOwnership;
use js::jsapi::JS_STRUCTURED_CLONE_VERSION;
-use js::jsapi::{JSAutoRealm, JSContext};
use js::jsapi::{JSObject, JS_ClearPendingException};
use js::jsapi::{JSStructuredCloneCallbacks, JSStructuredCloneReader, JSStructuredCloneWriter};
use js::jsapi::{JS_ReadBytes, JS_WriteBytes};
@@ -307,8 +308,7 @@ impl StructuredCloneData {
/// Panics if `JS_ReadStructuredClone` fails.
fn read_clone(global: &GlobalScope, data: *mut u64, nbytes: size_t, rval: MutableHandleValue) {
let cx = global.get_cx();
- let globalhandle = global.reflector().get_jsobject();
- let _ac = JSAutoRealm::new(cx, globalhandle.get());
+ let _ac = enter_realm(&*global);
let mut sc_holder = StructuredCloneHolder { blob: None };
let sc_holder_ptr = &mut sc_holder as *mut _;
unsafe {