Skip the root node in querySelectorAll

This accounts for https://github.com/whatwg/dom/issues/263.
This commit is contained in:
Anthony Ramine 2016-07-04 12:35:19 +02:00
parent 110fd68610
commit 345eee92e8
4 changed files with 5 additions and 14 deletions

View file

@ -740,7 +740,10 @@ impl Node {
Err(()) => Err(Error::Syntax),
// Step 3.
Ok(selectors) => {
Ok(QuerySelectorIterator::new(self.traverse_preorder(), selectors))
let mut descendants = self.traverse_preorder();
// Skip the root of the tree.
assert!(&*descendants.next().unwrap() == self);
Ok(QuerySelectorIterator::new(descendants, selectors))
}
}
}