diff --git a/components/style/servo/selector_parser.rs b/components/style/servo/selector_parser.rs index 7302ab43645..0a1ffc9dbf6 100644 --- a/components/style/servo/selector_parser.rs +++ b/components/style/servo/selector_parser.rs @@ -406,11 +406,19 @@ impl NonTSPseudoClass { #[cfg_attr(feature = "servo", derive(MallocSizeOf))] pub struct SelectorImpl; +/// A set of extra data to carry along with the matching context, either for +/// selector-matching or invalidation. +#[derive(Debug, Default)] +pub struct ExtraMatchingData { + /// The invalidation data to invalidate doc-state pseudo-classes correctly. + pub invalidation_data: InvalidationMatchingData, +} + impl ::selectors::SelectorImpl for SelectorImpl { type PseudoElement = PseudoElement; type NonTSPseudoClass = NonTSPseudoClass; - type ExtraMatchingData = InvalidationMatchingData; + type ExtraMatchingData = ExtraMatchingData; type AttrValue = AtomString; type Identifier = AtomIdent; type LocalName = LocalName;