diff options
author | Ms2ger <Ms2ger@gmail.com> | 2016-06-15 17:10:46 +0100 |
---|---|---|
committer | Ms2ger <Ms2ger@gmail.com> | 2016-06-20 19:08:02 +0200 |
commit | 7de3d165ad7041e833f8f59187468b589a3ebf82 (patch) | |
tree | 851ccea40882c84324a618d95fe11b39a4b37a9a /components/script/dom/node.rs | |
parent | 14a7e9bce1bcb1c42ca051e40f569bef89a34caa (diff) | |
download | servo-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.rs | 9 |
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) + } + } } |