mirror of
https://github.com/servo/servo.git
synced 2025-08-11 16:35:33 +01:00
Stylo: Add support for :valid/:invalid/:-moz-ui-valid pseudo-classes
This commit is contained in:
parent
04af68a4b4
commit
bd7c8eb513
3 changed files with 14 additions and 2 deletions
|
@ -37,7 +37,13 @@ bitflags! {
|
||||||
const IN_TARGET_STATE = 0x100,
|
const IN_TARGET_STATE = 0x100,
|
||||||
#[doc = "https://fullscreen.spec.whatwg.org/#%3Afullscreen-pseudo-class"]
|
#[doc = "https://fullscreen.spec.whatwg.org/#%3Afullscreen-pseudo-class"]
|
||||||
const IN_FULLSCREEN_STATE = 0x200,
|
const IN_FULLSCREEN_STATE = 0x200,
|
||||||
|
#[doc = "https://html.spec.whatwg.org/multipage/#selector-valid"]
|
||||||
|
const IN_VALID_STATE = 0x400,
|
||||||
|
#[doc = "https://html.spec.whatwg.org/multipage/#selector-invalid"]
|
||||||
|
const IN_INVALID_STATE = 0x800,
|
||||||
|
#[doc = "Non-standard: https://developer.mozilla.org/en-US/docs/Web/CSS/:-moz-ui-valid"]
|
||||||
|
const IN_MOZ_UI_VALID_STATE = 0x1000,
|
||||||
#[doc = "https://html.spec.whatwg.org/multipage/#selector-read-write"]
|
#[doc = "https://html.spec.whatwg.org/multipage/#selector-read-write"]
|
||||||
const IN_READ_WRITE_STATE = 0x400,
|
const IN_READ_WRITE_STATE = 0x2000,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,6 +46,9 @@ macro_rules! apply_non_ts_list {
|
||||||
("indeterminate", Indeterminate, indeterminate, IN_INDETERMINATE_STATE, _),
|
("indeterminate", Indeterminate, indeterminate, IN_INDETERMINATE_STATE, _),
|
||||||
("placeholder-shown", PlaceholderShown, placeholderShown, IN_PLACEHOLDER_SHOWN_STATE, _),
|
("placeholder-shown", PlaceholderShown, placeholderShown, IN_PLACEHOLDER_SHOWN_STATE, _),
|
||||||
("target", Target, target, IN_TARGET_STATE, _),
|
("target", Target, target, IN_TARGET_STATE, _),
|
||||||
|
("valid", Valid, valid, IN_VALID_STATE, _),
|
||||||
|
("invalid", Invalid, invalid, IN_INVALID_STATE, _),
|
||||||
|
("-moz-ui-valid", MozUIValid, mozUIValid, IN_MOZ_UI_VALID_STATE, _),
|
||||||
("read-write", ReadWrite, _, IN_READ_WRITE_STATE, _),
|
("read-write", ReadWrite, _, IN_READ_WRITE_STATE, _),
|
||||||
("read-only", ReadOnly, _, IN_READ_WRITE_STATE, _),
|
("read-only", ReadOnly, _, IN_READ_WRITE_STATE, _),
|
||||||
|
|
||||||
|
|
|
@ -653,7 +653,10 @@ impl<'le> ::selectors::Element for GeckoElement<'le> {
|
||||||
NonTSPseudoClass::Fullscreen |
|
NonTSPseudoClass::Fullscreen |
|
||||||
NonTSPseudoClass::Indeterminate |
|
NonTSPseudoClass::Indeterminate |
|
||||||
NonTSPseudoClass::PlaceholderShown |
|
NonTSPseudoClass::PlaceholderShown |
|
||||||
NonTSPseudoClass::Target => {
|
NonTSPseudoClass::Target |
|
||||||
|
NonTSPseudoClass::Valid |
|
||||||
|
NonTSPseudoClass::Invalid |
|
||||||
|
NonTSPseudoClass::MozUIValid => {
|
||||||
self.get_state().contains(pseudo_class.state_flag())
|
self.get_state().contains(pseudo_class.state_flag())
|
||||||
},
|
},
|
||||||
NonTSPseudoClass::ReadOnly => {
|
NonTSPseudoClass::ReadOnly => {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue