diff options
Diffstat (limited to 'components/script/dom')
-rw-r--r-- | components/script/dom/element.rs | 6 | ||||
-rw-r--r-- | components/script/dom/node.rs | 7 |
2 files changed, 9 insertions, 4 deletions
diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index 195884bebab..76990dc9aa6 100644 --- a/components/script/dom/element.rs +++ b/components/script/dom/element.rs @@ -2188,7 +2188,8 @@ impl ElementMethods for Element { Err(_) => Err(Error::Syntax), Ok(selectors) => { let quirks_mode = document_from_node(self).quirks_mode(); - let mut ctx = MatchingContext::new(MatchingMode::Normal, None, + // FIXME(bholley): Consider an nth-index cache here. + let mut ctx = MatchingContext::new(MatchingMode::Normal, None, None, quirks_mode); Ok(matches_selector_list(&selectors, &Root::from_ref(self), &mut ctx)) } @@ -2209,7 +2210,8 @@ impl ElementMethods for Element { for element in root.inclusive_ancestors() { if let Some(element) = Root::downcast::<Element>(element) { let quirks_mode = document_from_node(self).quirks_mode(); - let mut ctx = MatchingContext::new(MatchingMode::Normal, None, + // FIXME(bholley): Consider an nth-index cache here. + let mut ctx = MatchingContext::new(MatchingMode::Normal, None, None, quirks_mode); if matches_selector_list(&selectors, &element, &mut ctx) { return Ok(Some(element)); diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs index b83cdcbd37e..6b16cc242db 100644 --- a/components/script/dom/node.rs +++ b/components/script/dom/node.rs @@ -363,7 +363,9 @@ impl<'a> Iterator for QuerySelectorIterator { self.iterator.by_ref().filter_map(|node| { // TODO(cgaebel): Is it worth it to build a bloom filter here // (instead of passing `None`)? Probably. - let mut ctx = MatchingContext::new(MatchingMode::Normal, None, + // + // FIXME(bholley): Consider an nth-index cache here. + let mut ctx = MatchingContext::new(MatchingMode::Normal, None, None, node.owner_doc().quirks_mode()); if let Some(element) = Root::downcast(node) { if matches_selector_list(selectors, &element, &mut ctx) { @@ -754,7 +756,8 @@ impl Node { Err(_) => Err(Error::Syntax), // Step 3. Ok(selectors) => { - let mut ctx = MatchingContext::new(MatchingMode::Normal, None, + // FIXME(bholley): Consider an nth-index cache here. + let mut ctx = MatchingContext::new(MatchingMode::Normal, None, None, self.owner_doc().quirks_mode()); Ok(self.traverse_preorder().filter_map(Root::downcast).find(|element| { matches_selector_list(&selectors, element, &mut ctx) |