diff options
author | Simon Sapin <simon.sapin@exyr.org> | 2013-10-16 19:22:44 +0100 |
---|---|---|
committer | Simon Sapin <simon.sapin@exyr.org> | 2013-10-16 19:22:44 +0100 |
commit | 6d808fbdd0b1f1ed383752c85653ceb8370fe22d (patch) | |
tree | 2fcd010ded977bba3bd546909a4523a061dcac5b | |
parent | 6c41be9c13ef3c82fdc5a88cfbbcc0719c988cb8 (diff) | |
download | servo-6d808fbdd0b1f1ed383752c85653ceb8370fe22d.tar.gz servo-6d808fbdd0b1f1ed383752c85653ceb8370fe22d.zip |
Move AbastractNode::is_element to the TreeNodeRef trait.
-rw-r--r-- | src/components/main/css/node_style.rs | 2 | ||||
-rw-r--r-- | src/components/main/css/node_util.rs | 2 | ||||
-rw-r--r-- | src/components/main/css/select_handler.rs | 2 | ||||
-rw-r--r-- | src/components/main/layout/box.rs | 2 | ||||
-rw-r--r-- | src/components/script/dom/element.rs | 2 | ||||
-rw-r--r-- | src/components/script/dom/node.rs | 14 | ||||
-rw-r--r-- | src/components/style/selector_matching.rs | 2 | ||||
-rw-r--r-- | src/components/util/tree.rs | 2 |
8 files changed, 17 insertions, 11 deletions
diff --git a/src/components/main/css/node_style.rs b/src/components/main/css/node_style.rs index d64e59134c4..c4f38fb566c 100644 --- a/src/components/main/css/node_style.rs +++ b/src/components/main/css/node_style.rs @@ -9,6 +9,8 @@ use layout::incremental::RestyleDamage; use newcss::complete::CompleteStyle; use script::dom::node::{AbstractNode, LayoutView}; +use servo_util::tree::TreeNodeRef; + /// Node mixin providing `style` method that returns a `NodeStyle` pub trait StyledNode { diff --git a/src/components/main/css/node_util.rs b/src/components/main/css/node_util.rs index e76d2db0607..f76a079464c 100644 --- a/src/components/main/css/node_util.rs +++ b/src/components/main/css/node_util.rs @@ -8,6 +8,8 @@ use std::cast; use std::cell::Cell; use newcss::complete::CompleteSelectResults; use script::dom::node::{AbstractNode, LayoutView}; +use servo_util::tree::TreeNodeRef; + pub trait NodeUtil<'self> { fn get_css_select_results(self) -> &'self CompleteSelectResults; diff --git a/src/components/main/css/select_handler.rs b/src/components/main/css/select_handler.rs index 77038c38b88..75cce0e0d0c 100644 --- a/src/components/main/css/select_handler.rs +++ b/src/components/main/css/select_handler.rs @@ -9,7 +9,7 @@ use std::str::eq_slice; use newcss::select::SelectHandler; use script::dom::node::{AbstractNode, LayoutView}; -use servo_util::tree::ElementLike; +use servo_util::tree::{TreeNodeRef, ElementLike}; pub struct NodeSelectHandler { node: AbstractNode<LayoutView>, diff --git a/src/components/main/layout/box.rs b/src/components/main/layout/box.rs index 179be6169a4..9d1491c11fe 100644 --- a/src/components/main/layout/box.rs +++ b/src/components/main/layout/box.rs @@ -38,7 +38,7 @@ use script::dom::node::{AbstractNode, LayoutView}; use servo_net::image::holder::ImageHolder; use servo_net::local_image_cache::LocalImageCache; use servo_util::range::*; -use servo_util::tree::ElementLike; +use servo_util::tree::{TreeNodeRef, ElementLike}; use extra::url::Url; /// Render boxes (`struct RenderBox`) are the leaves of the layout tree. They cannot position diff --git a/src/components/script/dom/element.rs b/src/components/script/dom/element.rs index d5e3755913b..fb6cb9e8d2a 100644 --- a/src/components/script/dom/element.rs +++ b/src/components/script/dom/element.rs @@ -14,7 +14,7 @@ use dom::node::{ElementNodeTypeId, Node, ScriptView, AbstractNode}; use layout_interface::{ContentBoxQuery, ContentBoxResponse, ContentBoxesQuery}; use layout_interface::{ContentBoxesResponse}; use newcss::stylesheet::Stylesheet; -use servo_util::tree::ElementLike; +use servo_util::tree::{TreeNodeRef, ElementLike}; use js::jsapi::{JSContext, JSObject}; diff --git a/src/components/script/dom/node.rs b/src/components/script/dom/node.rs index d661e9d53d1..db5ff6c88da 100644 --- a/src/components/script/dom/node.rs +++ b/src/components/script/dom/node.rs @@ -154,6 +154,13 @@ impl<View> TreeNodeRef<Node<View>> for AbstractNode<View> { fn with_mut_base<R>(&self, callback: &fn(&mut Node<View>) -> R) -> R { self.transmute_mut(callback) } + + fn is_element(self) -> bool { + match self.type_id() { + ElementNodeTypeId(*) => true, + _ => false + } + } } impl<View> TreeNodeRefAsElement<Node<View>, Element> for AbstractNode<View> { @@ -317,13 +324,6 @@ impl<'self, View> AbstractNode<View> { self.transmute_mut(f) } - pub fn is_element(self) -> bool { - match self.type_id() { - ElementNodeTypeId(*) => true, - _ => false - } - } - // FIXME: This should be doing dynamic borrow checking for safety. pub fn with_imm_element<R>(self, f: &fn(&Element) -> R) -> R { if !self.is_element() { diff --git a/src/components/style/selector_matching.rs b/src/components/style/selector_matching.rs index 3c2b3a5812c..54b38094d24 100644 --- a/src/components/style/selector_matching.rs +++ b/src/components/style/selector_matching.rs @@ -11,7 +11,7 @@ use media_queries::{Device, Screen}; use properties::{PropertyDeclaration, PropertyDeclarationBlock}; use script::dom::node::{AbstractNode, ScriptView}; use script::dom::element::Element; -use servo_util::tree::ElementLike; +use servo_util::tree::{TreeNodeRef, ElementLike}; pub enum StylesheetOrigin { diff --git a/src/components/util/tree.rs b/src/components/util/tree.rs index 42125743f7c..12ac22dd45b 100644 --- a/src/components/util/tree.rs +++ b/src/components/util/tree.rs @@ -248,6 +248,8 @@ pub trait TreeNodeRef<Node>: Clone { gather(self, &mut nodes, true, prune); TreeIterator::new(nodes) } + + fn is_element(self) -> bool; } pub trait TreeNodeRefAsElement<Node, E: ElementLike>: TreeNodeRef<Node> { |