From 0eace5bed82359a602fc93b6da14070f0a09b679 Mon Sep 17 00:00:00 2001 From: Peter Date: Thu, 9 Apr 2015 10:41:02 -0400 Subject: [PATCH 1/2] Renaming NodeChildrenIterator to NodeSiblingIterator, fix #5616 --- components/script/dom/node.rs | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs index 14823d4622e..b67056836e6 100644 --- a/components/script/dom/node.rs +++ b/components/script/dom/node.rs @@ -411,10 +411,10 @@ impl<'a> Iterator for QuerySelectorIterator<'a> { pub trait NodeHelpers<'a> { fn ancestors(self) -> AncestorIterator; fn inclusive_ancestors(self) -> AncestorIterator; - fn children(self) -> NodeChildrenIterator; + fn children(self) -> NodeSiblingIterator; fn rev_children(self) -> ReverseChildrenIterator; fn child_elements(self) -> ChildElementIterator; - fn following_siblings(self) -> NodeChildrenIterator; + fn following_siblings(self) -> NodeSiblingIterator; fn is_in_doc(self) -> bool; fn is_inclusive_ancestor_of(self, parent: JSRef) -> bool; fn is_parent_of(self, child: JSRef) -> bool; @@ -485,7 +485,7 @@ pub trait NodeHelpers<'a> { fn debug_str(self) -> String; fn traverse_preorder(self) -> TreeIterator<'a>; - fn inclusively_following_siblings(self) -> NodeChildrenIterator; + fn inclusively_following_siblings(self) -> NodeSiblingIterator; fn to_trusted_node_address(self) -> TrustedNodeAddress; @@ -748,8 +748,8 @@ impl<'a> NodeHelpers<'a> for JSRef<'a, Node> { TreeIterator::new(self) } - fn inclusively_following_siblings(self) -> NodeChildrenIterator { - NodeChildrenIterator { + fn inclusively_following_siblings(self) -> NodeSiblingIterator { + NodeSiblingIterator { current: Some(Temporary::from_rooted(self)), } } @@ -758,8 +758,8 @@ impl<'a> NodeHelpers<'a> for JSRef<'a, Node> { self == parent || parent.ancestors().any(|ancestor| ancestor.root().r() == self) } - fn following_siblings(self) -> NodeChildrenIterator { - NodeChildrenIterator { + fn following_siblings(self) -> NodeSiblingIterator { + NodeSiblingIterator { current: self.next_sibling(), } } @@ -860,8 +860,8 @@ impl<'a> NodeHelpers<'a> for JSRef<'a, Node> { self.owner_doc().root().r().is_html_document() } - fn children(self) -> NodeChildrenIterator { - NodeChildrenIterator { + fn children(self) -> NodeSiblingIterator { + NodeSiblingIterator { current: self.first_child.get(), } } @@ -1112,14 +1112,14 @@ impl RawLayoutNodeHelpers for Node { // pub type ChildElementIterator = - Peekable) -> Option>>>; -pub struct NodeChildrenIterator { +pub struct NodeSiblingIterator { current: Option>, } -impl Iterator for NodeChildrenIterator { +impl Iterator for NodeSiblingIterator { type Item = Temporary; fn next(&mut self) -> Option> { From e7c11f706228e45c5f75f6a2a8b792e3fd9429ac Mon Sep 17 00:00:00 2001 From: Peter Date: Thu, 9 Apr 2015 16:27:25 -0400 Subject: [PATCH 2/2] Updated fix #5616, also renamed RevsereChildrenIterator to ReverseSiblingIterator --- components/script/dom/node.rs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs index 1249aec902a..aa06df6d103 100644 --- a/components/script/dom/node.rs +++ b/components/script/dom/node.rs @@ -411,10 +411,10 @@ pub trait NodeHelpers<'a> { fn ancestors(self) -> AncestorIterator; fn inclusive_ancestors(self) -> AncestorIterator; fn children(self) -> NodeSiblingIterator; - fn rev_children(self) -> ReverseChildrenIterator; + fn rev_children(self) -> ReverseSiblingIterator; fn child_elements(self) -> ChildElementIterator; fn following_siblings(self) -> NodeSiblingIterator; - fn preceding_siblings(self) -> ReverseChildrenIterator; + fn preceding_siblings(self) -> ReverseSiblingIterator; fn is_in_doc(self) -> bool; fn is_inclusive_ancestor_of(self, parent: JSRef) -> bool; fn is_parent_of(self, child: JSRef) -> bool; @@ -764,8 +764,8 @@ impl<'a> NodeHelpers<'a> for JSRef<'a, Node> { } } - fn preceding_siblings(self) -> ReverseChildrenIterator { - ReverseChildrenIterator { + fn preceding_siblings(self) -> ReverseSiblingIterator { + ReverseSiblingIterator { current: self.prev_sibling(), } } @@ -872,8 +872,8 @@ impl<'a> NodeHelpers<'a> for JSRef<'a, Node> { } } - fn rev_children(self) -> ReverseChildrenIterator { - ReverseChildrenIterator { + fn rev_children(self) -> ReverseSiblingIterator { + ReverseSiblingIterator { current: self.last_child(), } } @@ -1138,11 +1138,11 @@ impl Iterator for NodeSiblingIterator { } } -pub struct ReverseChildrenIterator { +pub struct ReverseSiblingIterator { current: Option>, } -impl Iterator for ReverseChildrenIterator { +impl Iterator for ReverseSiblingIterator { type Item = Temporary; fn next(&mut self) -> Option> {