aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/node.rs
diff options
context:
space:
mode:
authorMs2ger <Ms2ger@gmail.com>2016-06-15 17:10:46 +0100
committerMs2ger <Ms2ger@gmail.com>2016-06-20 19:08:02 +0200
commit7de3d165ad7041e833f8f59187468b589a3ebf82 (patch)
tree851ccea40882c84324a618d95fe11b39a4b37a9a /components/script/dom/node.rs
parent14a7e9bce1bcb1c42ca051e40f569bef89a34caa (diff)
downloadservo-7de3d165ad7041e833f8f59187468b589a3ebf82.tar.gz
servo-7de3d165ad7041e833f8f59187468b589a3ebf82.zip
Introduce LayoutJS<Node>::opaque() to replace OpaqueNodeMethods::from_jsmanaged().
Diffstat (limited to 'components/script/dom/node.rs')
-rw-r--r--components/script/dom/node.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs
index f73abf1bd17..cf3257e7137 100644
--- a/components/script/dom/node.rs
+++ b/components/script/dom/node.rs
@@ -75,6 +75,7 @@ use std::iter::{self, FilterMap, Peekable};
use std::mem;
use std::ops::Range;
use string_cache::{Atom, Namespace, QualName};
+use style::dom::OpaqueNode;
use style::selector_impl::ServoSelectorImpl;
use url::Url;
use util::thread_state;
@@ -961,6 +962,7 @@ pub trait LayoutNodeHelpers {
fn image_url(&self) -> Option<Url>;
fn canvas_data(&self) -> Option<HTMLCanvasData>;
fn iframe_pipeline_id(&self) -> PipelineId;
+ fn opaque(&self) -> OpaqueNode;
}
impl LayoutNodeHelpers for LayoutJS<Node> {
@@ -1101,6 +1103,13 @@ impl LayoutNodeHelpers for LayoutJS<Node> {
.expect("not an iframe element!");
iframe_element.pipeline_id().unwrap()
}
+
+ #[allow(unsafe_code)]
+ fn opaque(&self) -> OpaqueNode {
+ unsafe {
+ OpaqueNode(self.get_jsobject() as usize)
+ }
+ }
}