diff options
author | Bastien Orivel <eijebong@bananium.fr> | 2019-05-24 22:24:41 +0200 |
---|---|---|
committer | Bastien Orivel <eijebong@bananium.fr> | 2019-05-24 23:02:38 +0200 |
commit | 7dbff6efb7ce93ecfb04883cd1dffa24a03ed0ad (patch) | |
tree | 6cecd1c857227a6d61188689c143d7bf99a50d0b /components/script/compartments.rs | |
parent | 2181872973ce49b50ed2dd077c4fdde6f4c5d019 (diff) | |
download | servo-7dbff6efb7ce93ecfb04883cd1dffa24a03ed0ad.tar.gz servo-7dbff6efb7ce93ecfb04883cd1dffa24a03ed0ad.zip |
Add an inCompartments config for bindings
Diffstat (limited to 'components/script/compartments.rs')
-rw-r--r-- | components/script/compartments.rs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/components/script/compartments.rs b/components/script/compartments.rs index 552b7573d83..3c57e753eb7 100644 --- a/components/script/compartments.rs +++ b/components/script/compartments.rs @@ -3,7 +3,7 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ use crate::dom::globalscope::GlobalScope; -use js::jsapi::{GetCurrentRealmOrNull, JSAutoRealm}; +use js::jsapi::{GetCurrentRealmOrNull, JSAutoRealm, JSContext}; pub struct AlreadyInCompartment(()); @@ -15,6 +15,13 @@ impl AlreadyInCompartment { } AlreadyInCompartment(()) } + + pub fn assert_for_cx(cx: *mut JSContext) -> AlreadyInCompartment { + unsafe { + assert!(!GetCurrentRealmOrNull(cx).is_null()); + } + AlreadyInCompartment(()) + } } #[derive(Clone, Copy)] |