css_inline/html/selectors/
selector_impl.rs

1use super::{
2    attr_value::AttrValue, local_name::LocalName, pseudo_classes::PseudoClass,
3    pseudo_elements::PseudoElement,
4};
5use html5ever::Namespace;
6use selectors::SelectorImpl;
7
8/// CSS selectors implementation. It is needed to parametrize the parser implementation in regards
9/// of pseudo-classes and elements.
10#[derive(Debug, Clone)]
11pub(crate) struct InlinerSelectors;
12
13impl SelectorImpl for InlinerSelectors {
14    type ExtraMatchingData<'a> = std::marker::PhantomData<&'a ()>;
15    type AttrValue = AttrValue;
16    type Identifier = LocalName;
17    type LocalName = LocalName;
18    type NamespaceUrl = Namespace;
19    type NamespacePrefix = LocalName;
20    type BorrowedNamespaceUrl = Namespace;
21    type BorrowedLocalName = LocalName;
22    type NonTSPseudoClass = PseudoClass;
23    type PseudoElement = PseudoElement;
24}