mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
style: Add popover attribute and part of basic popover functionality
Starts to add part of the basic functionality for popover. Including [1] :open & :closed CSS pseudo class [2] showPopover(), hidePopover() and togglePopover() interfaces. Much of the functionality is still to-do. [3] PopoverData interface Differential Revision: https://phabricator.services.mozilla.com/D171719
This commit is contained in:
parent
3ded7ff273
commit
29a9f0da46
3 changed files with 7 additions and 0 deletions
|
@ -39,6 +39,7 @@ macro_rules! apply_non_ts_list {
|
||||||
("active", Active, ACTIVE, _),
|
("active", Active, ACTIVE, _),
|
||||||
("autofill", Autofill, AUTOFILL, _),
|
("autofill", Autofill, AUTOFILL, _),
|
||||||
("checked", Checked, CHECKED, _),
|
("checked", Checked, CHECKED, _),
|
||||||
|
("closed", Closed, CLOSED, _),
|
||||||
("defined", Defined, DEFINED, _),
|
("defined", Defined, DEFINED, _),
|
||||||
("disabled", Disabled, DISABLED, _),
|
("disabled", Disabled, DISABLED, _),
|
||||||
("enabled", Enabled, ENABLED, _),
|
("enabled", Enabled, ENABLED, _),
|
||||||
|
@ -69,6 +70,7 @@ macro_rules! apply_non_ts_list {
|
||||||
("-moz-math-increment-script-level", MozMathIncrementScriptLevel, INCREMENT_SCRIPT_LEVEL, _),
|
("-moz-math-increment-script-level", MozMathIncrementScriptLevel, INCREMENT_SCRIPT_LEVEL, _),
|
||||||
|
|
||||||
("required", Required, REQUIRED, _),
|
("required", Required, REQUIRED, _),
|
||||||
|
("open", Open, OPEN, _),
|
||||||
("optional", Optional, OPTIONAL_, _),
|
("optional", Optional, OPTIONAL_, _),
|
||||||
("valid", Valid, VALID, _),
|
("valid", Valid, VALID, _),
|
||||||
("invalid", Invalid, INVALID, _),
|
("invalid", Invalid, INVALID, _),
|
||||||
|
|
|
@ -141,6 +141,9 @@ impl NonTSPseudoClass {
|
||||||
/// Returns whether the pseudo-class is enabled in content sheets.
|
/// Returns whether the pseudo-class is enabled in content sheets.
|
||||||
#[inline]
|
#[inline]
|
||||||
fn is_enabled_in_content(&self) -> bool {
|
fn is_enabled_in_content(&self) -> bool {
|
||||||
|
if matches!(*self, Self::Open | Self::Closed) {
|
||||||
|
return static_prefs::pref!("dom.element.popover.enabled");
|
||||||
|
}
|
||||||
!self.has_any_flag(NonTSPseudoClassFlag::PSEUDO_CLASS_ENABLED_IN_UA_SHEETS_AND_CHROME)
|
!self.has_any_flag(NonTSPseudoClassFlag::PSEUDO_CLASS_ENABLED_IN_UA_SHEETS_AND_CHROME)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1996,9 +1996,11 @@ impl<'le> ::selectors::Element for GeckoElement<'le> {
|
||||||
NonTSPseudoClass::Enabled |
|
NonTSPseudoClass::Enabled |
|
||||||
NonTSPseudoClass::Disabled |
|
NonTSPseudoClass::Disabled |
|
||||||
NonTSPseudoClass::Checked |
|
NonTSPseudoClass::Checked |
|
||||||
|
NonTSPseudoClass::Closed |
|
||||||
NonTSPseudoClass::Fullscreen |
|
NonTSPseudoClass::Fullscreen |
|
||||||
NonTSPseudoClass::Indeterminate |
|
NonTSPseudoClass::Indeterminate |
|
||||||
NonTSPseudoClass::MozInert |
|
NonTSPseudoClass::MozInert |
|
||||||
|
NonTSPseudoClass::Open |
|
||||||
NonTSPseudoClass::PlaceholderShown |
|
NonTSPseudoClass::PlaceholderShown |
|
||||||
NonTSPseudoClass::Target |
|
NonTSPseudoClass::Target |
|
||||||
NonTSPseudoClass::Valid |
|
NonTSPseudoClass::Valid |
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue