Trait selectors::parser::SelectorImpl [] [src]

pub trait SelectorImpl: Sized {
    type AttrValue: Clone + Debug + MaybeHeapSizeOf + Eq + FromCowStr;
    type Identifier: Clone + Debug + MaybeHeapSizeOf + Eq + FromCowStr + Hash + BloomHash;
    type ClassName: Clone + Debug + MaybeHeapSizeOf + Eq + FromCowStr + Hash + BloomHash;
    type LocalName: Clone + Debug + MaybeHeapSizeOf + Eq + FromCowStr + Hash + BloomHash + Borrow<Self::BorrowedLocalName> + for<'a> From<&'a str>;
    type Namespace: Clone + Debug + MaybeHeapSizeOf + Eq + Default + Hash + BloomHash + Borrow<Self::BorrowedNamespace>;
    type BorrowedNamespace: ?Sized + Eq;
    type BorrowedLocalName: ?Sized + Eq + Hash;
    type NonTSPseudoClass: Sized + PartialEq + Clone + Debug + MaybeHeapSizeOf;
    type PseudoElement: Sized + PartialEq + Eq + Clone + Debug + Hash + MaybeHeapSizeOf;
    fn attr_exists_selector_is_shareable(_attr_selector: &AttrSelector<Self>) -> bool { ... }
    fn attr_equals_selector_is_shareable(_attr_selector: &AttrSelector<Self>, _value: &Self::AttrValue) -> bool { ... }
    fn parse_non_ts_pseudo_class(_context: &ParserContext<Self>, _name: &str) -> Result<Self::NonTSPseudoClass, ()> { ... }
    fn parse_non_ts_functional_pseudo_class(_context: &ParserContext<Self>, _name: &str, _arguments: &mut Parser) -> Result<Self::NonTSPseudoClass, ()> { ... }
    fn parse_pseudo_element(_context: &ParserContext<Self>, _name: &str) -> Result<Self::PseudoElement, ()> { ... }
}

This trait allows to define the parser implementation in regards of pseudo-classes/elements

Associated Types

Provided Methods

fn attr_exists_selector_is_shareable(_attr_selector: &AttrSelector<Self>) -> bool

fn attr_equals_selector_is_shareable(_attr_selector: &AttrSelector<Self>, _value: &Self::AttrValue) -> bool

fn parse_non_ts_pseudo_class(_context: &ParserContext<Self>, _name: &str) -> Result<Self::NonTSPseudoClass, ()>

This function can return an "Err" pseudo-element in order to support CSS2.1 pseudo-elements.

fn parse_non_ts_functional_pseudo_class(_context: &ParserContext<Self>, _name: &str, _arguments: &mut Parser) -> Result<Self::NonTSPseudoClass, ()>

fn parse_pseudo_element(_context: &ParserContext<Self>, _name: &str) -> Result<Self::PseudoElement, ()>

Implementors