From 9e68a1e74a87d7430c69ebf67aa7205e61b4644c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= Date: Mon, 14 Aug 2023 23:59:39 +0200 Subject: [PATCH] style: Make modal dialog code more generic, and make it apply to fullscreen too behind a pref For now, don't turn it on by default yet, because I want to wait for more discussion in https://github.com/w3c/csswg-drafts/issues/6965 and so on. But I think the code is simple enough to land this. Differential Revision: https://phabricator.services.mozilla.com/D147295 --- components/style/element_state.rs | 4 ++-- components/style/gecko/non_ts_pseudo_class_list.rs | 2 +- components/style/gecko/wrapper.rs | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/components/style/element_state.rs b/components/style/element_state.rs index 28d505129a1af..f8f4629ef9b71 100644 --- a/components/style/element_state.rs +++ b/components/style/element_state.rs @@ -118,8 +118,8 @@ bitflags! { const IN_MODAL_DIALOG_STATE = 1 << 42; /// const IN_MOZINERT_STATE = 1 << 43; - /// State for the topmost dialog element in top layer - const IN_TOPMOST_MODAL_DIALOG_STATE = 1 << 44; + /// State for the topmost modal element in top layer + const IN_TOPMOST_MODAL_TOP_LAYER_STATE = 1 << 44; /// Initially used for the devtools highlighter, but now somehow only /// used for the devtools accessibility inspector. const IN_DEVTOOLS_HIGHLIGHTED_STATE = 1 << 45; diff --git a/components/style/gecko/non_ts_pseudo_class_list.rs b/components/style/gecko/non_ts_pseudo_class_list.rs index 7d6190ba47cfb..672e8104fe700 100644 --- a/components/style/gecko/non_ts_pseudo_class_list.rs +++ b/components/style/gecko/non_ts_pseudo_class_list.rs @@ -54,7 +54,7 @@ macro_rules! apply_non_ts_list { ("-moz-styleeditor-transitioning", MozStyleeditorTransitioning, IN_STYLEEDITOR_TRANSITIONING_STATE, PSEUDO_CLASS_ENABLED_IN_UA_SHEETS), ("fullscreen", Fullscreen, IN_FULLSCREEN_STATE, _), ("-moz-modal-dialog", MozModalDialog, IN_MODAL_DIALOG_STATE, PSEUDO_CLASS_ENABLED_IN_UA_SHEETS), - ("-moz-topmost-modal-dialog", MozTopmostModalDialog, IN_TOPMOST_MODAL_DIALOG_STATE, PSEUDO_CLASS_ENABLED_IN_UA_SHEETS), + ("-moz-topmost-modal", MozTopmostModal, IN_TOPMOST_MODAL_TOP_LAYER_STATE, PSEUDO_CLASS_ENABLED_IN_UA_SHEETS), ("-moz-broken", MozBroken, IN_BROKEN_STATE, _), ("-moz-loading", MozLoading, IN_LOADING_STATE, _), ("-moz-has-dir-attr", MozHasDirAttr, IN_HAS_DIR_ATTR_STATE, PSEUDO_CLASS_ENABLED_IN_UA_SHEETS), diff --git a/components/style/gecko/wrapper.rs b/components/style/gecko/wrapper.rs index 6053038c0c78c..9c4c3c4311860 100644 --- a/components/style/gecko/wrapper.rs +++ b/components/style/gecko/wrapper.rs @@ -2006,7 +2006,7 @@ impl<'le> ::selectors::Element for GeckoElement<'le> { NonTSPseudoClass::MozDirAttrRTL | NonTSPseudoClass::MozDirAttrLikeAuto | NonTSPseudoClass::MozModalDialog | - NonTSPseudoClass::MozTopmostModalDialog | + NonTSPseudoClass::MozTopmostModal | NonTSPseudoClass::Active | NonTSPseudoClass::Hover | NonTSPseudoClass::MozAutofillPreview |