fixup! style: Distinguish between the tree structures used for traversal and selector matching.
draft
fixup! style: Distinguish between the tree structures used for traversal and selector matching.
MozReview-Commit-ID: 3Qa2soqVSNn
--- a/servo/components/script/layout_wrapper.rs
+++ b/servo/components/script/layout_wrapper.rs
@@ -160,22 +160,36 @@ impl<'ln> TNode for ServoLayoutNode<'ln>
}
}
unsafe fn from_unsafe(n: &UnsafeNode) -> Self {
let (node, _) = *n;
transmute(node)
}
- fn children(self) -> LayoutIterator<ServoChildrenIterator<'ln>> {
+ fn parent_node(&self) -> Option<ServoLayoutNode<'ln>> {
+ unsafe {
+ self.node.parent_node_ref().map(|node| self.new_with_this_lifetime(&node))
+ }
+ }
+
+ fn children(&self) -> LayoutIterator<ServoChildrenIterator<'ln>> {
LayoutIterator(ServoChildrenIterator {
current: self.first_child(),
})
}
+ fn traversal_parent(&self) -> Option<ServoLayoutElement<'ln>> {
+ self.parent_node().and_then(|n| n.as_element())
+ }
+
+ fn traversal_children(&self) -> LayoutIterator<ServoChildrenIterator<'ln>> {
+ self.children()
+ }
+
fn opaque(&self) -> OpaqueNode {
unsafe { self.get_jsmanaged().opaque() }
}
fn debug_id(self) -> usize {
self.opaque().0
}
@@ -194,22 +208,16 @@ impl<'ln> TNode for ServoLayoutNode<'ln>
fn can_be_fragmented(&self) -> bool {
unsafe { self.node.get_flag(CAN_BE_FRAGMENTED) }
}
unsafe fn set_can_be_fragmented(&self, value: bool) {
self.node.set_flag(CAN_BE_FRAGMENTED, value)
}
- fn parent_node(&self) -> Option<ServoLayoutNode<'ln>> {
- unsafe {
- self.node.parent_node_ref().map(|node| self.new_with_this_lifetime(&node))
- }
- }
-
fn is_in_doc(&self) -> bool {
unsafe { (*self.node.unsafe_get()).is_in_doc() }
}
}
pub struct ServoChildrenIterator<'a> {
current: Option<ServoLayoutNode<'a>>,
}