mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
Fixed traversal issues
This commit is contained in:
parent
75ddd2887b
commit
c89112dabf
1 changed files with 5 additions and 4 deletions
|
@ -566,11 +566,12 @@ impl<'a> NodeHelpers for JSRef<'a, Node> {
|
||||||
Some(ref selectors) => {
|
Some(ref selectors) => {
|
||||||
for selector in selectors.iter() {
|
for selector in selectors.iter() {
|
||||||
assert!(selector.pseudo_element.is_none());
|
assert!(selector.pseudo_element.is_none());
|
||||||
for elem in self.child_elements() {
|
let root = self.ancestors().last().unwrap_or(self.clone());
|
||||||
let node: &JSRef<Node> = NodeCast::from_ref(&elem);
|
for node in root.traverse_preorder().filter(|node| node.is_element()) {
|
||||||
let mut _shareable: bool = false;
|
let mut _shareable: bool = false;
|
||||||
if matches_compound_selector(selector.compound_selectors.deref(), node, &mut _shareable) {
|
if matches_compound_selector(selector.compound_selectors.deref(), &node, &mut _shareable) {
|
||||||
return Ok(Some(Temporary::from_rooted(&elem)));
|
let elem: &JSRef<Element> = ElementCast::to_ref(&node).unwrap();
|
||||||
|
return Ok(Some(Temporary::from_rooted(elem)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue