diff options
author | Kamil Niski <kamil.niski@gmail.com> | 2019-05-04 11:27:21 +0200 |
---|---|---|
committer | Kamil Niski <kamil.niski@gmail.com> | 2019-06-29 19:23:17 +0200 |
commit | adb402487e7f8bf2cd0a1db360b16592f5c654ed (patch) | |
tree | cd04a40769e20f2a2c63c5eff914dedc4c745e62 /components/script/dom/bindings/structuredclone.rs | |
parent | 84786add227f2c0a675f4bcca708ac8a70011f6c (diff) | |
download | servo-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.rs | 6 |
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 { |