From 72a0dbacc79a7e2f861aa6eb8a1976d8fdcc65a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= Date: Wed, 16 Dec 2020 08:16:16 +0000 Subject: [PATCH] style: Expose :autofill behind a pref to content, and add :-webkit-autofill as a compat alias. Nightly only until we get resolutions on the relevant spec issues. Differential Revision: https://phabricator.services.mozilla.com/D99296 --- components/style/gecko/selector_parser.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/components/style/gecko/selector_parser.rs b/components/style/gecko/selector_parser.rs index c63bc81c95b..0a7e2922c93 100644 --- a/components/style/gecko/selector_parser.rs +++ b/components/style/gecko/selector_parser.rs @@ -121,6 +121,7 @@ impl NonTSPseudoClass { "-moz-full-screen" => Some(NonTSPseudoClass::Fullscreen), "-moz-read-only" => Some(NonTSPseudoClass::ReadOnly), "-moz-read-write" => Some(NonTSPseudoClass::ReadWrite), + "-webkit-autofill" => Some(NonTSPseudoClass::Autofill), _ => None, } } @@ -155,9 +156,12 @@ impl NonTSPseudoClass { /// Returns whether the pseudo-class is enabled in content sheets. #[inline] fn is_enabled_in_content(&self) -> bool { - if matches!(*self, NonTSPseudoClass::FocusVisible) { + if let NonTSPseudoClass::FocusVisible = *self { return static_prefs::pref!("layout.css.focus-visible.enabled"); } + if let NonTSPseudoClass::Autofill = *self { + return static_prefs::pref!("layout.css.autofill.enabled"); + } !self.has_any_flag(NonTSPseudoClassFlag::PSEUDO_CLASS_ENABLED_IN_UA_SHEETS_AND_CHROME) }