aboutsummaryrefslogtreecommitdiffstats
path: root/components/style/element_state.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/style/element_state.rs')
-rw-r--r--components/style/element_state.rs117
1 files changed, 58 insertions, 59 deletions
diff --git a/components/style/element_state.rs b/components/style/element_state.rs
index 2958fc277b5..d6ecc3bf5a9 100644
--- a/components/style/element_state.rs
+++ b/components/style/element_state.rs
@@ -15,128 +15,127 @@ bitflags! {
/// TODO(emilio): We really really want to use the NS_EVENT_STATE bindings
/// for this.
#[derive(MallocSizeOf)]
- pub struct ElementState: u64 {
+ pub flags ElementState: u64 {
/// The mouse is down on this element.
/// <https://html.spec.whatwg.org/multipage/#selector-active>
/// FIXME(#7333): set/unset this when appropriate
- const IN_ACTIVE_STATE = 1 << 0;
+ const IN_ACTIVE_STATE = 1 << 0,
/// This element has focus.
/// <https://html.spec.whatwg.org/multipage/#selector-focus>
- const IN_FOCUS_STATE = 1 << 1;
+ const IN_FOCUS_STATE = 1 << 1,
/// The mouse is hovering over this element.
/// <https://html.spec.whatwg.org/multipage/#selector-hover>
- const IN_HOVER_STATE = 1 << 2;
+ const IN_HOVER_STATE = 1 << 2,
/// Content is enabled (and can be disabled).
/// <http://www.whatwg.org/html/#selector-enabled>
- const IN_ENABLED_STATE = 1 << 3;
+ const IN_ENABLED_STATE = 1 << 3,
/// Content is disabled.
/// <http://www.whatwg.org/html/#selector-disabled>
- const IN_DISABLED_STATE = 1 << 4;
+ const IN_DISABLED_STATE = 1 << 4,
/// Content is checked.
/// <https://html.spec.whatwg.org/multipage/#selector-checked>
- const IN_CHECKED_STATE = 1 << 5;
+ const IN_CHECKED_STATE = 1 << 5,
/// <https://html.spec.whatwg.org/multipage/#selector-indeterminate>
- const IN_INDETERMINATE_STATE = 1 << 6;
+ const IN_INDETERMINATE_STATE = 1 << 6,
/// <https://html.spec.whatwg.org/multipage/#selector-placeholder-shown>
- const IN_PLACEHOLDER_SHOWN_STATE = 1 << 7;
+ const IN_PLACEHOLDER_SHOWN_STATE = 1 << 7,
/// <https://html.spec.whatwg.org/multipage/#selector-target>
- const IN_TARGET_STATE = 1 << 8;
+ const IN_TARGET_STATE = 1 << 8,
/// <https://fullscreen.spec.whatwg.org/#%3Afullscreen-pseudo-class>
- const IN_FULLSCREEN_STATE = 1 << 9;
+ const IN_FULLSCREEN_STATE = 1 << 9,
/// <https://html.spec.whatwg.org/multipage/#selector-valid>
- const IN_VALID_STATE = 1 << 10;
+ const IN_VALID_STATE = 1 << 10,
/// <https://html.spec.whatwg.org/multipage/#selector-invalid>
- const IN_INVALID_STATE = 1 << 11;
+ const IN_INVALID_STATE = 1 << 11,
/// Non-standard: https://developer.mozilla.org/en-US/docs/Web/CSS/:-moz-ui-valid
- const IN_MOZ_UI_VALID_STATE = 1 << 12;
+ const IN_MOZ_UI_VALID_STATE = 1 << 12,
/// Non-standard: https://developer.mozilla.org/en-US/docs/Web/CSS/:-moz-ui-invalid
- const IN_MOZ_UI_INVALID_STATE = 1 << 13;
+ const IN_MOZ_UI_INVALID_STATE = 1 << 13,
/// Non-standard: https://developer.mozilla.org/en-US/docs/Web/CSS/:-moz-broken
- const IN_BROKEN_STATE = 1 << 14;
+ const IN_BROKEN_STATE = 1 << 14,
/// Non-standard: https://developer.mozilla.org/en-US/docs/Web/CSS/:-moz-user-disabled
- const IN_USER_DISABLED_STATE = 1 << 15;
+ const IN_USER_DISABLED_STATE = 1 << 15,
/// Non-standard: https://developer.mozilla.org/en-US/docs/Web/CSS/:-moz-suppressed
- const IN_SUPPRESSED_STATE = 1 << 16;
+ const IN_SUPPRESSED_STATE = 1 << 16,
/// Non-standard: https://developer.mozilla.org/en-US/docs/Web/CSS/:-moz-loading
- const IN_LOADING_STATE = 1 << 17;
+ const IN_LOADING_STATE = 1 << 17,
/// Non-standard: https://developer.mozilla.org/en-US/docs/Web/CSS/:-moz-handler-blocked
- const IN_HANDLER_BLOCKED_STATE = 1 << 18;
+ const IN_HANDLER_BLOCKED_STATE = 1 << 18,
/// Non-standard: https://developer.mozilla.org/en-US/docs/Web/CSS/:-moz-handler-disabled
- const IN_HANDLER_DISABLED_STATE = 1 << 19;
+ const IN_HANDLER_DISABLED_STATE = 1 << 19,
/// Non-standard: https://developer.mozilla.org/en-US/docs/Web/CSS/:-moz-handler-crashed
- const IN_HANDLER_CRASHED_STATE = 1 << 20;
+ const IN_HANDLER_CRASHED_STATE = 1 << 20,
/// <https://html.spec.whatwg.org/multipage/#selector-required>
- const IN_REQUIRED_STATE = 1 << 21;
+ const IN_REQUIRED_STATE = 1 << 21,
/// <https://html.spec.whatwg.org/multipage/#selector-optional>
- const IN_OPTIONAL_STATE = 1 << 22;
+ const IN_OPTIONAL_STATE = 1 << 22,
/// <https://html.spec.whatwg.org/multipage/#selector-read-write>
- const IN_READ_WRITE_STATE = 1 << 22;
+ const IN_READ_WRITE_STATE = 1 << 22,
/// Non-standard: Older custom-elements spec.
- const IN_UNRESOLVED_STATE = 1 << 23;
+ const IN_UNRESOLVED_STATE = 1 << 23,
/// <https://html.spec.whatwg.org/multipage/#selector-visited>
- const IN_VISITED_STATE = 1 << 24;
+ const IN_VISITED_STATE = 1 << 24,
/// <https://html.spec.whatwg.org/multipage/#selector-link>
- const IN_UNVISITED_STATE = 1 << 25;
+ const IN_UNVISITED_STATE = 1 << 25,
/// <https://drafts.csswg.org/selectors-4/#the-any-link-pseudo>
- const IN_VISITED_OR_UNVISITED_STATE = ElementState::IN_VISITED_STATE.bits |
- ElementState::IN_UNVISITED_STATE.bits;
+ const IN_VISITED_OR_UNVISITED_STATE = IN_VISITED_STATE.bits | IN_UNVISITED_STATE.bits,
/// Non-standard: https://developer.mozilla.org/en-US/docs/Web/CSS/:-moz-drag-over
- const IN_DRAGOVER_STATE = 1 << 26;
+ const IN_DRAGOVER_STATE = 1 << 26,
/// <https://html.spec.whatwg.org/multipage/#selector-in-range>
- const IN_INRANGE_STATE = 1 << 27;
+ const IN_INRANGE_STATE = 1 << 27,
/// <https://html.spec.whatwg.org/multipage/#selector-out-of-range>
- const IN_OUTOFRANGE_STATE = 1 << 28;
+ const IN_OUTOFRANGE_STATE = 1 << 28,
/// <https://html.spec.whatwg.org/multipage/#selector-read-only>
- const IN_MOZ_READONLY_STATE = 1 << 29;
+ const IN_MOZ_READONLY_STATE = 1 << 29,
/// <https://html.spec.whatwg.org/multipage/#selector-read-write>
- const IN_MOZ_READWRITE_STATE = 1 << 30;
+ const IN_MOZ_READWRITE_STATE = 1 << 30,
/// <https://html.spec.whatwg.org/multipage/#selector-default>
- const IN_DEFAULT_STATE = 1 << 31;
+ const IN_DEFAULT_STATE = 1 << 31,
/// Non-standard: https://developer.mozilla.org/en-US/docs/Web/CSS/:-moz-submit-invalid
- const IN_MOZ_SUBMITINVALID_STATE = 1 << 32;
+ const IN_MOZ_SUBMITINVALID_STATE = 1 << 32,
/// Non-standard & undocumented.
- const IN_OPTIMUM_STATE = 1 << 33;
+ const IN_OPTIMUM_STATE = 1 << 33,
/// Non-standard & undocumented.
- const IN_SUB_OPTIMUM_STATE = 1 << 34;
+ const IN_SUB_OPTIMUM_STATE = 1 << 34,
/// Non-standard & undocumented.
- const IN_SUB_SUB_OPTIMUM_STATE = 1 << 35;
+ const IN_SUB_SUB_OPTIMUM_STATE = 1 << 35,
/// Non-standard & undocumented.
- const IN_DEVTOOLS_HIGHLIGHTED_STATE = 1 << 36;
+ const IN_DEVTOOLS_HIGHLIGHTED_STATE = 1 << 36,
/// Non-standard & undocumented.
- const IN_STYLEEDITOR_TRANSITIONING_STATE = 1 << 37;
+ const IN_STYLEEDITOR_TRANSITIONING_STATE = 1 << 37,
/// Non-standard & undocumented.
- const IN_INCREMENT_SCRIPT_LEVEL_STATE = 1 << 38;
+ const IN_INCREMENT_SCRIPT_LEVEL_STATE = 1 << 38,
/// Non-standard: https://developer.mozilla.org/en-US/docs/Web/CSS/:-moz-focusring
- const IN_FOCUSRING_STATE = 1 << 39;
+ const IN_FOCUSRING_STATE = 1 << 39,
/// Non-standard & undocumented.
- const IN_HANDLER_CLICK_TO_PLAY_STATE = 1 << 40;
+ const IN_HANDLER_CLICK_TO_PLAY_STATE = 1 << 40,
/// Non-standard & undocumented.
- const IN_HANDLER_VULNERABLE_UPDATABLE_STATE = 1 << 41;
+ const IN_HANDLER_VULNERABLE_UPDATABLE_STATE = 1 << 41,
/// Non-standard & undocumented.
- const IN_HANDLER_VULNERABLE_NO_UPDATE_STATE = 1 << 42;
+ const IN_HANDLER_VULNERABLE_NO_UPDATE_STATE = 1 << 42,
/// <https://drafts.csswg.org/selectors-4/#the-focus-within-pseudo>
- const IN_FOCUS_WITHIN_STATE = 1 << 43;
+ const IN_FOCUS_WITHIN_STATE = 1 << 43,
/// :dir matching; the states are used for dynamic change detection.
/// State that elements that match :dir(ltr) are in.
- const IN_LTR_STATE = 1 << 44;
+ const IN_LTR_STATE = 1 << 44,
/// State that elements that match :dir(rtl) are in.
- const IN_RTL_STATE = 1 << 45;
+ const IN_RTL_STATE = 1 << 45,
/// State that HTML elements that have a "dir" attr are in.
- const IN_HAS_DIR_ATTR_STATE = 1 << 46;
+ const IN_HAS_DIR_ATTR_STATE = 1 << 46,
/// State that HTML elements with dir="ltr" (or something
/// case-insensitively equal to "ltr") are in.
- const IN_HAS_DIR_ATTR_LTR_STATE = 1 << 47;
+ const IN_HAS_DIR_ATTR_LTR_STATE = 1 << 47,
/// State that HTML elements with dir="rtl" (or something
/// case-insensitively equal to "rtl") are in.
- const IN_HAS_DIR_ATTR_RTL_STATE = 1 << 48;
+ const IN_HAS_DIR_ATTR_RTL_STATE = 1 << 48,
/// State that HTML <bdi> elements without a valid-valued "dir" attr or
/// any HTML elements (including <bdi>) with dir="auto" (or something
/// case-insensitively equal to "auto") are in.
- const IN_HAS_DIR_ATTR_LIKE_AUTO_STATE = 1 << 49;
+ const IN_HAS_DIR_ATTR_LIKE_AUTO_STATE = 1 << 49,
/// Non-standard & undocumented.
- const IN_AUTOFILL_STATE = 1 << 50;
+ const IN_AUTOFILL_STATE = 1 << 50,
/// Non-standard & undocumented.
- const IN_AUTOFILL_PREVIEW_STATE = 1 << 51;
+ const IN_AUTOFILL_PREVIEW_STATE = 1 << 51,
}
}
@@ -145,10 +144,10 @@ bitflags! {
///
/// NB: Is important for this to remain in sync with Gecko's
/// dom/base/nsIDocument.h.
- pub struct DocumentState: u64 {
+ pub flags DocumentState: u64 {
/// RTL locale: specific to the XUL localedir attribute
- const NS_DOCUMENT_STATE_RTL_LOCALE = 1 << 0;
+ const NS_DOCUMENT_STATE_RTL_LOCALE = 1 << 0,
/// Window activation status
- const NS_DOCUMENT_STATE_WINDOW_INACTIVE = 1 << 1;
+ const NS_DOCUMENT_STATE_WINDOW_INACTIVE = 1 << 1,
}
}