diff options
-rw-r--r-- | components/style/element_state.rs | 8 | ||||
-rw-r--r-- | components/style/gecko/non_ts_pseudo_class_list.rs | 5 | ||||
-rw-r--r-- | components/style/gecko/wrapper.rs | 7 |
3 files changed, 18 insertions, 2 deletions
diff --git a/components/style/element_state.rs b/components/style/element_state.rs index 3bfa55242ad..c5e11ba1848 100644 --- a/components/style/element_state.rs +++ b/components/style/element_state.rs @@ -37,7 +37,13 @@ bitflags! { const IN_TARGET_STATE = 0x100, #[doc = "https://fullscreen.spec.whatwg.org/#%3Afullscreen-pseudo-class"] 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"] - const IN_READ_WRITE_STATE = 0x400, + const IN_READ_WRITE_STATE = 0x2000, } } diff --git a/components/style/gecko/non_ts_pseudo_class_list.rs b/components/style/gecko/non_ts_pseudo_class_list.rs index 0fc580cdc08..6f70feca239 100644 --- a/components/style/gecko/non_ts_pseudo_class_list.rs +++ b/components/style/gecko/non_ts_pseudo_class_list.rs @@ -44,6 +44,11 @@ macro_rules! apply_non_ts_list { ("disabled", Disabled, disabled, IN_DISABLED_STATE, _), ("checked", Checked, checked, IN_CHECKED_STATE, _), ("indeterminate", Indeterminate, indeterminate, IN_INDETERMINATE_STATE, _), + ("placeholder-shown", PlaceholderShown, placeholderShown, IN_PLACEHOLDER_SHOWN_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-only", ReadOnly, _, IN_READ_WRITE_STATE, _), diff --git a/components/style/gecko/wrapper.rs b/components/style/gecko/wrapper.rs index 2c1f07b28b1..76974f0d2f7 100644 --- a/components/style/gecko/wrapper.rs +++ b/components/style/gecko/wrapper.rs @@ -651,7 +651,12 @@ impl<'le> ::selectors::Element for GeckoElement<'le> { NonTSPseudoClass::Checked | NonTSPseudoClass::ReadWrite | NonTSPseudoClass::Fullscreen | - NonTSPseudoClass::Indeterminate => { + NonTSPseudoClass::Indeterminate | + NonTSPseudoClass::PlaceholderShown | + NonTSPseudoClass::Target | + NonTSPseudoClass::Valid | + NonTSPseudoClass::Invalid | + NonTSPseudoClass::MozUIValid => { self.get_state().contains(pseudo_class.state_flag()) }, NonTSPseudoClass::ReadOnly => { |