diff options
Diffstat (limited to 'components/script/layout_dom/element.rs')
-rw-r--r-- | components/script/layout_dom/element.rs | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/components/script/layout_dom/element.rs b/components/script/layout_dom/element.rs index 8d1c6713849..3e71e1eb773 100644 --- a/components/script/layout_dom/element.rs +++ b/components/script/layout_dom/element.rs @@ -414,15 +414,16 @@ impl<'dom> style::dom::TElement for ServoLayoutElement<'dom> { self.element.get_selector_flags().contains(flags) } - fn relative_selector_search_direction(&self) -> Option<ElementSelectorFlags> { - let flags = self.element.get_selector_flags().intersection( - ElementSelectorFlags::RELATIVE_SELECTOR_SEARCH_DIRECTION_ANCESTOR_SIBLING, - ); - if flags.is_empty() { - None - } else { - Some(flags) - } + fn relative_selector_search_direction(&self) -> ElementSelectorFlags { + self.element + .get_selector_flags() + .intersection(ElementSelectorFlags::RELATIVE_SELECTOR_SEARCH_DIRECTION_ANCESTOR_SIBLING) + } + + fn each_custom_state<F>(&self, _callback: F) + where + F: FnMut(&AtomIdent), + { } } @@ -551,6 +552,7 @@ impl<'dom> ::selectors::Element for ServoLayoutElement<'dom> { NonTSPseudoClass::Link | NonTSPseudoClass::AnyLink => self.is_link(), NonTSPseudoClass::Visited => false, + NonTSPseudoClass::CustomState(ref state) => self.has_custom_state(&state.0), NonTSPseudoClass::Lang(ref lang) => self.match_element_lang(None, lang), NonTSPseudoClass::ServoNonZeroBorder => !matches!( @@ -651,6 +653,10 @@ impl<'dom> ::selectors::Element for ServoLayoutElement<'dom> { each_relevant_element_hash(*self, |hash| filter.insert_hash(hash & BLOOM_HASH_MASK)); true } + + fn has_custom_state(&self, _name: &AtomIdent) -> bool { + false + } } /// A wrapper around elements that ensures layout can only @@ -893,4 +899,8 @@ impl<'dom> ::selectors::Element for ServoThreadSafeLayoutElement<'dom> { }); true } + + fn has_custom_state(&self, _name: &AtomIdent) -> bool { + false + } } |