aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/browsingcontext.rs
diff options
context:
space:
mode:
authorEduard Burtescu <edy.burt@gmail.com>2016-07-04 20:59:01 +0300
committerEduard Burtescu <edy.burt@gmail.com>2016-07-04 20:59:01 +0300
commit0db1faf87651c99223683faafc836353f016ffb3 (patch)
treedec7ee5366fdb60a47f495d32c11a9ed2b8a4eb2 /components/script/dom/browsingcontext.rs
parenta77cc9950fb13ccd674a10e46c2327bfa0735dab (diff)
downloadservo-0db1faf87651c99223683faafc836353f016ffb3.tar.gz
servo-0db1faf87651c99223683faafc836353f016ffb3.zip
Switch to using the new rooted!/RootedGuard API for rooting.
Diffstat (limited to 'components/script/dom/browsingcontext.rs')
-rw-r--r--components/script/dom/browsingcontext.rs38
1 files changed, 19 insertions, 19 deletions
diff --git a/components/script/dom/browsingcontext.rs b/components/script/dom/browsingcontext.rs
index 1b78fb7572d..4c0914ddf3c 100644
--- a/components/script/dom/browsingcontext.rs
+++ b/components/script/dom/browsingcontext.rs
@@ -22,7 +22,7 @@ use js::jsapi::{Handle, HandleId, HandleObject, HandleValue, JSAutoCompartment};
use js::jsapi::{JSContext, JSPROP_READONLY, JSErrNum, JSObject, PropertyDescriptor, JS_DefinePropertyById};
use js::jsapi::{JS_ForwardGetPropertyTo, JS_ForwardSetPropertyTo, JS_GetClass, JSTracer, FreeOp};
use js::jsapi::{JS_GetOwnPropertyDescriptorById, JS_HasPropertyById, MutableHandle};
-use js::jsapi::{MutableHandleValue, ObjectOpResult, RootedObject, RootedValue};
+use js::jsapi::{MutableHandleValue, ObjectOpResult};
use js::jsval::{UndefinedValue, PrivateValue};
use msg::constellation_msg::{PipelineId, SubpageId};
use std::cell::Cell;
@@ -74,16 +74,15 @@ impl BrowsingContext {
assert!(!parent.get().is_null());
assert!(((*JS_GetClass(parent.get())).flags & JSCLASS_IS_GLOBAL) != 0);
let _ac = JSAutoCompartment::new(cx, parent.get());
- let window_proxy = RootedObject::new(cx,
- NewWindowProxy(cx, parent, handler));
- assert!(!window_proxy.ptr.is_null());
+ rooted!(in(cx) let window_proxy = NewWindowProxy(cx, parent, handler));
+ assert!(!window_proxy.is_null());
let object = box BrowsingContext::new_inherited(frame_element, id);
let raw = Box::into_raw(object);
- SetProxyExtra(window_proxy.ptr, 0, &PrivateValue(raw as *const _));
+ SetProxyExtra(window_proxy.get(), 0, &PrivateValue(raw as *const _));
- (*raw).init_reflector(window_proxy.ptr);
+ (*raw).init_reflector(window_proxy.get());
Root::from_ref(&*raw)
}
@@ -235,7 +234,7 @@ unsafe fn GetSubframeWindow(cx: *mut JSContext,
-> Option<Root<Window>> {
let index = get_array_index_from_id(cx, id);
if let Some(index) = index {
- let target = RootedObject::new(cx, GetProxyPrivate(*proxy.ptr).to_object());
+ rooted!(in(cx) let target = GetProxyPrivate(*proxy.ptr).to_object());
let win = root_from_handleobject::<Window>(target.handle()).unwrap();
let mut found = false;
return win.IndexedGetter(index, &mut found);
@@ -248,25 +247,26 @@ unsafe fn GetSubframeWindow(cx: *mut JSContext,
unsafe extern "C" fn getOwnPropertyDescriptor(cx: *mut JSContext,
proxy: HandleObject,
id: HandleId,
- desc: MutableHandle<PropertyDescriptor>)
+ mut desc: MutableHandle<PropertyDescriptor>)
-> bool {
let window = GetSubframeWindow(cx, proxy, id);
if let Some(window) = window {
- let mut val = RootedValue::new(cx, UndefinedValue());
+ rooted!(in(cx) let mut val = UndefinedValue());
window.to_jsval(cx, val.handle_mut());
- (*desc.ptr).value = val.ptr;
- fill_property_descriptor(&mut *desc.ptr, *proxy.ptr, JSPROP_READONLY);
+ desc.value = val.get();
+ fill_property_descriptor(&mut desc, proxy.get(), JSPROP_READONLY);
return true;
}
- let target = RootedObject::new(cx, GetProxyPrivate(*proxy.ptr).to_object());
+ rooted!(in(cx) let target = GetProxyPrivate(proxy.get()).to_object());
if !JS_GetOwnPropertyDescriptorById(cx, target.handle(), id, desc) {
return false;
}
- assert!(desc.get().obj.is_null() || desc.get().obj == target.ptr);
- if desc.get().obj == target.ptr {
- desc.get().obj = *proxy.ptr;
+ assert!(desc.obj.is_null() || desc.obj == target.get());
+ if desc.obj == target.get() {
+ // FIXME(#11868) Should assign to desc.obj, desc.get() is a copy.
+ desc.get().obj = proxy.get();
}
true
@@ -288,7 +288,7 @@ unsafe extern "C" fn defineProperty(cx: *mut JSContext,
return true;
}
- let target = RootedObject::new(cx, GetProxyPrivate(*proxy.ptr).to_object());
+ rooted!(in(cx) let target = GetProxyPrivate(*proxy.ptr).to_object());
JS_DefinePropertyById(cx, target.handle(), id, desc, res)
}
@@ -304,7 +304,7 @@ unsafe extern "C" fn has(cx: *mut JSContext,
return true;
}
- let target = RootedObject::new(cx, GetProxyPrivate(*proxy.ptr).to_object());
+ rooted!(in(cx) let target = GetProxyPrivate(*proxy.ptr).to_object());
let mut found = false;
if !JS_HasPropertyById(cx, target.handle(), id, &mut found) {
return false;
@@ -327,7 +327,7 @@ unsafe extern "C" fn get(cx: *mut JSContext,
return true;
}
- let target = RootedObject::new(cx, GetProxyPrivate(*proxy.ptr).to_object());
+ rooted!(in(cx) let target = GetProxyPrivate(*proxy.ptr).to_object());
JS_ForwardGetPropertyTo(cx, target.handle(), id, receiver, vp)
}
@@ -345,7 +345,7 @@ unsafe extern "C" fn set(cx: *mut JSContext,
return true;
}
- let target = RootedObject::new(cx, GetProxyPrivate(*proxy.ptr).to_object());
+ rooted!(in(cx) let target = GetProxyPrivate(*proxy.ptr).to_object());
JS_ForwardSetPropertyTo(cx,
target.handle(),
id,