diff options
author | Anthony Ramine <n.oxyde@gmail.com> | 2016-07-04 12:35:19 +0200 |
---|---|---|
committer | Anthony Ramine <n.oxyde@gmail.com> | 2016-07-04 14:52:34 +0200 |
commit | 345eee92e8877c66764f4775ca477cc6ad73c366 (patch) | |
tree | f7f833992fa27ba86310c98cbd47cbc7db333fab /components/script/dom/node.rs | |
parent | 110fd6861007544b4f5b15d49da4f297c200bd7c (diff) | |
download | servo-345eee92e8877c66764f4775ca477cc6ad73c366.tar.gz servo-345eee92e8877c66764f4775ca477cc6ad73c366.zip |
Skip the root node in querySelectorAll
This accounts for https://github.com/whatwg/dom/issues/263.
Diffstat (limited to 'components/script/dom/node.rs')
-rw-r--r-- | components/script/dom/node.rs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs index ec370dff293..871eb4b13ca 100644 --- a/components/script/dom/node.rs +++ b/components/script/dom/node.rs @@ -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)) } } } |