From 35b080e021f80ee2c0b343641ca8dbdca42834c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= Date: Wed, 24 Feb 2021 01:11:40 +0000 Subject: [PATCH] style: Implement :user-valid and :user-invalid. And alias :-moz-ui-valid and :-moz-ui-invalid to them. There are CSSWG resolutions for these for quite a while, and spec for user-invalid. Differential Revision: https://phabricator.services.mozilla.com/D105966 --- components/style/gecko/non_ts_pseudo_class_list.rs | 4 ++-- components/style/gecko/selector_parser.rs | 2 ++ components/style/gecko/wrapper.rs | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/components/style/gecko/non_ts_pseudo_class_list.rs b/components/style/gecko/non_ts_pseudo_class_list.rs index 1fff5d19050..317cbfb83fe 100644 --- a/components/style/gecko/non_ts_pseudo_class_list.rs +++ b/components/style/gecko/non_ts_pseudo_class_list.rs @@ -77,8 +77,8 @@ macro_rules! apply_non_ts_list { ("read-only", ReadOnly, IN_READONLY_STATE, _), ("read-write", ReadWrite, IN_READWRITE_STATE, _), ("-moz-submit-invalid", MozSubmitInvalid, IN_MOZ_SUBMITINVALID_STATE, _), - ("-moz-ui-valid", MozUIValid, IN_MOZ_UI_VALID_STATE, _), - ("-moz-ui-invalid", MozUIInvalid, IN_MOZ_UI_INVALID_STATE, _), + ("user-valid", UserValid, IN_MOZ_UI_VALID_STATE, _), + ("user-invalid", UserInvalid, IN_MOZ_UI_INVALID_STATE, _), ("-moz-meter-optimum", MozMeterOptimum, IN_OPTIMUM_STATE, _), ("-moz-meter-sub-optimum", MozMeterSubOptimum, IN_SUB_OPTIMUM_STATE, _), ("-moz-meter-sub-sub-optimum", MozMeterSubSubOptimum, IN_SUB_SUB_OPTIMUM_STATE, _), diff --git a/components/style/gecko/selector_parser.rs b/components/style/gecko/selector_parser.rs index dbb9ac4db0d..4e552e439e9 100644 --- a/components/style/gecko/selector_parser.rs +++ b/components/style/gecko/selector_parser.rs @@ -103,6 +103,8 @@ impl NonTSPseudoClass { "-moz-read-only" => Some(NonTSPseudoClass::ReadOnly), "-moz-read-write" => Some(NonTSPseudoClass::ReadWrite), "-moz-focusring" => Some(NonTSPseudoClass::FocusVisible), + "-moz-ui-valid" => Some(NonTSPseudoClass::UserValid), + "-moz-ui-invalid" => Some(NonTSPseudoClass::UserInvalid), "-webkit-autofill" => Some(NonTSPseudoClass::Autofill), _ => None, } diff --git a/components/style/gecko/wrapper.rs b/components/style/gecko/wrapper.rs index 80a2478e94c..1813c225c57 100644 --- a/components/style/gecko/wrapper.rs +++ b/components/style/gecko/wrapper.rs @@ -2030,7 +2030,6 @@ impl<'le> ::selectors::Element for GeckoElement<'le> { NonTSPseudoClass::Target | NonTSPseudoClass::Valid | NonTSPseudoClass::Invalid | - NonTSPseudoClass::MozUIValid | NonTSPseudoClass::MozBroken | NonTSPseudoClass::MozLoading | NonTSPseudoClass::Required | @@ -2047,7 +2046,8 @@ impl<'le> ::selectors::Element for GeckoElement<'le> { NonTSPseudoClass::OutOfRange | NonTSPseudoClass::Default | NonTSPseudoClass::MozSubmitInvalid | - NonTSPseudoClass::MozUIInvalid | + NonTSPseudoClass::UserValid | + NonTSPseudoClass::UserInvalid | NonTSPseudoClass::MozMeterOptimum | NonTSPseudoClass::MozMeterSubOptimum | NonTSPseudoClass::MozMeterSubSubOptimum |