diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs index d328af22151..e628ee4b2d9 100644 --- a/components/script/dom/node.rs +++ b/components/script/dom/node.rs @@ -486,6 +486,7 @@ pub trait NodeHelpers<'a> { fn traverse_preorder(self) -> TreeIterator<'a>; fn inclusively_following_siblings(self) -> NodeSiblingIterator; + fn inclusively_preceding_siblings(self) -> ReverseSiblingIterator; fn to_trusted_node_address(self) -> TrustedNodeAddress; @@ -754,6 +755,12 @@ impl<'a> NodeHelpers<'a> for JSRef<'a, Node> { } } + fn inclusively_preceding_siblings(self) -> ReverseSiblingIterator { + ReverseSiblingIterator { + current: Some(Temporary::from_rooted(self)), + } + } + fn is_inclusive_ancestor_of(self, parent: JSRef) -> bool { self == parent || parent.ancestors().any(|ancestor| ancestor.root().r() == self) }