aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/layout/util.rs5
-rw-r--r--components/script/dom/bindings/js.rs16
2 files changed, 9 insertions, 12 deletions
diff --git a/components/layout/util.rs b/components/layout/util.rs
index f7692fc3cda..270c796781e 100644
--- a/components/layout/util.rs
+++ b/components/layout/util.rs
@@ -11,7 +11,6 @@ use gfx::display_list::OpaqueNode;
use gfx;
use libc::uintptr_t;
use script::dom::bindings::js::LayoutJS;
-use script::dom::bindings::utils::Reflectable;
use script::dom::node::{Node, SharedLayoutData};
use script::layout_interface::{LayoutChan, TrustedNodeAddress};
use script_traits::UntrustedNodeAddress;
@@ -143,7 +142,7 @@ impl OpaqueNodeMethods for OpaqueNode {
fn from_thread_safe_layout_node(node: &ThreadSafeLayoutNode) -> OpaqueNode {
unsafe {
let abstract_node = node.get_jsmanaged();
- let ptr: uintptr_t = abstract_node.reflector().get_jsobject() as uintptr_t;
+ let ptr: uintptr_t = abstract_node.get_jsobject() as uintptr_t;
OpaqueNode(ptr)
}
}
@@ -156,7 +155,7 @@ impl OpaqueNodeMethods for OpaqueNode {
fn from_jsmanaged(node: &LayoutJS<Node>) -> OpaqueNode {
unsafe {
- let ptr: uintptr_t = mem::transmute(node.reflector().get_jsobject());
+ let ptr: uintptr_t = node.get_jsobject() as uintptr_t;
OpaqueNode(ptr)
}
}
diff --git a/components/script/dom/bindings/js.rs b/components/script/dom/bindings/js.rs
index ee2bf53e238..f062eb8cf64 100644
--- a/components/script/dom/bindings/js.rs
+++ b/components/script/dom/bindings/js.rs
@@ -144,6 +144,13 @@ pub struct LayoutJS<T> {
ptr: NonZero<*const T>
}
+impl<T: Reflectable> LayoutJS<T> {
+ /// Get the reflector.
+ pub unsafe fn get_jsobject(&self) -> *mut JSObject {
+ (**self.ptr).reflector().get_jsobject()
+ }
+}
+
impl<T> Copy for JS<T> {}
impl<T> Copy for LayoutJS<T> {}
@@ -241,15 +248,6 @@ impl<T: Reflectable> Reflectable for JS<T> {
}
}
-// XXXjdm same above
-impl<T: Reflectable> Reflectable for LayoutJS<T> {
- fn reflector<'a>(&'a self) -> &'a Reflector {
- unsafe {
- (*self.unsafe_get()).reflector()
- }
- }
-}
-
/// A trait to be implemented for JS-managed types that can be stored in
/// mutable member fields.
///