mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
Add function to convert NonTSPseudoClass to CSSPseudoClassType
This commit is contained in:
parent
83428ecef7
commit
fa27ac0544
4 changed files with 197 additions and 0 deletions
|
@ -6,6 +6,7 @@
|
|||
|
||||
use cssparser::ToCss;
|
||||
use element_state::ElementState;
|
||||
use gecko_bindings::structs::CSSPseudoClassType;
|
||||
use selector_parser::{SelectorParser, PseudoElementCascadeType};
|
||||
use selector_parser::{attr_equals_selector_is_shareable, attr_exists_selector_is_shareable};
|
||||
use selectors::parser::AttrSelector;
|
||||
|
@ -197,6 +198,26 @@ impl NonTSPseudoClass {
|
|||
Visited => ElementState::empty(),
|
||||
}
|
||||
}
|
||||
|
||||
/// Convert NonTSPseudoClass to Gecko's CSSPseudoClassType.
|
||||
pub fn to_gecko_pseudoclasstype(&self) -> Option<CSSPseudoClassType> {
|
||||
use gecko_bindings::structs::CSSPseudoClassType::*;
|
||||
use self::NonTSPseudoClass::*;
|
||||
Some(match *self {
|
||||
AnyLink => anyLink,
|
||||
Link => link,
|
||||
Visited => visited,
|
||||
Active => active,
|
||||
Focus => focus,
|
||||
Fullscreen => fullscreen,
|
||||
Hover => hover,
|
||||
Enabled => enabled,
|
||||
Disabled => disabled,
|
||||
Checked => checked,
|
||||
Indeterminate => indeterminate,
|
||||
ReadWrite | ReadOnly => { return None; }
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
/// The dummy struct we use to implement our selector parsing.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue