aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/compartments.rs
diff options
context:
space:
mode:
authorBastien Orivel <eijebong@bananium.fr>2019-05-24 22:24:41 +0200
committerBastien Orivel <eijebong@bananium.fr>2019-05-24 23:02:38 +0200
commit7dbff6efb7ce93ecfb04883cd1dffa24a03ed0ad (patch)
tree6cecd1c857227a6d61188689c143d7bf99a50d0b /components/script/compartments.rs
parent2181872973ce49b50ed2dd077c4fdde6f4c5d019 (diff)
downloadservo-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.rs9
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)]