mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
Move AbastractNode::is_element to the TreeNodeRef trait.
This commit is contained in:
parent
6c41be9c13
commit
6d808fbdd0
8 changed files with 17 additions and 11 deletions
|
@ -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 {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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>,
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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};
|
||||
|
||||
|
|
|
@ -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() {
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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> {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue