aboutsummaryrefslogtreecommitdiffstats
path: root/components/script
diff options
context:
space:
mode:
authorMs2ger <Ms2ger@gmail.com>2017-02-07 11:44:38 +0100
committerMs2ger <Ms2ger@gmail.com>2017-02-07 11:44:38 +0100
commitb57abc19da1424cb050011a2a1dbdaa1b0359952 (patch)
treefa41d979fc3ce5f9b1e3b2cc2bf4e3d59c3b4503 /components/script
parentbd431039b9e459075a496b9faa4f8a90b513140c (diff)
downloadservo-b57abc19da1424cb050011a2a1dbdaa1b0359952.tar.gz
servo-b57abc19da1424cb050011a2a1dbdaa1b0359952.zip
Make {get,ensure}_expando_object unsafe.
They trust the caller-provided raw pointers to be valid.
Diffstat (limited to 'components/script')
-rw-r--r--components/script/dom/bindings/proxyhandler.rs36
1 files changed, 16 insertions, 20 deletions
diff --git a/components/script/dom/bindings/proxyhandler.rs b/components/script/dom/bindings/proxyhandler.rs
index d7155b34909..67c68927c9f 100644
--- a/components/script/dom/bindings/proxyhandler.rs
+++ b/components/script/dom/bindings/proxyhandler.rs
@@ -159,30 +159,26 @@ pub unsafe extern "C" fn get_prototype_if_ordinary(_: *mut JSContext,
}
/// Get the expando object, or null if there is none.
-pub fn get_expando_object(obj: HandleObject, expando: MutableHandleObject) {
- unsafe {
- assert!(is_dom_proxy(obj.get()));
- let val = GetProxyExtra(obj.get(), JSPROXYSLOT_EXPANDO);
- expando.set(if val.is_undefined() {
- ptr::null_mut()
- } else {
- val.to_object()
- });
- }
+pub unsafe fn get_expando_object(obj: HandleObject, expando: MutableHandleObject) {
+ assert!(is_dom_proxy(obj.get()));
+ let val = GetProxyExtra(obj.get(), JSPROXYSLOT_EXPANDO);
+ expando.set(if val.is_undefined() {
+ ptr::null_mut()
+ } else {
+ val.to_object()
+ });
}
/// Get the expando object, or create it if it doesn't exist yet.
/// Fails on JSAPI failure.
-pub fn ensure_expando_object(cx: *mut JSContext, obj: HandleObject, expando: MutableHandleObject) {
- unsafe {
- assert!(is_dom_proxy(obj.get()));
- get_expando_object(obj, expando);
- if expando.is_null() {
- expando.set(JS_NewObjectWithGivenProto(cx, ptr::null_mut(), HandleObject::null()));
- assert!(!expando.is_null());
-
- SetProxyExtra(obj.get(), JSPROXYSLOT_EXPANDO, &ObjectValue(expando.get()));
- }
+pub unsafe fn ensure_expando_object(cx: *mut JSContext, obj: HandleObject, expando: MutableHandleObject) {
+ assert!(is_dom_proxy(obj.get()));
+ get_expando_object(obj, expando);
+ if expando.is_null() {
+ expando.set(JS_NewObjectWithGivenProto(cx, ptr::null_mut(), HandleObject::null()));
+ assert!(!expando.is_null());
+
+ SetProxyExtra(obj.get(), JSPROXYSLOT_EXPANDO, &ObjectValue(expando.get()));
}
}