# This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. # # This file contains the list of support CSS pseudo-elements and some flags. # # Each pseudo element has its own section, with the following keys: # # enabled_in - Same semantics as longhands.toml # is_css2 - Default false, whether this is a css2 pseudo-element, and can be # parsed only with one colon. # is_eager - Whether the pseudo-element is eagerly cascaded by the style # system during traversal. This should generally only be used for # pseudo-elements that apply to most elements. # is_js_created_nac - True if this pseudo-element can be created by JS. # is_flex_or_grid_item - True if display item fixup for flex / grid should # happen for this pseudo # is_element_backed - whether this is an element-backed pseudo-element # https://drafts.csswg.org/css-pseudo-4/#element-like # supports_user_action_state - true if this pseudo supports :hover etc. # argument - If provided, the argument this functional pseudo takes. # pref - Same semantics as gecko_pref in longhands.toml # # When adding a pseudo-element, you also need to add the relevant atom to # StaticAtoms.py, with the camel-case name of the pseudo-element. [after] is_css2 = true is_eager = true is_flex_or_grid_item = true [before] is_css2 = true is_eager = true is_flex_or_grid_item = true [marker] [backdrop] [cue] is_js_created_nac = true [first-letter] is_css2 = true is_eager = true [first-line] is_css2 = true is_eager = true [highlight] argument = "AtomIdent" [selection] [target-text] [view-transition] enabled_in = "ua" pref = "dom.viewTransitions.enabled" [view-transition-group] enabled_in = "ua" pref = "dom.viewTransitions.enabled" argument = "PtNameAndClassSelector" is_element_backed = true [view-transition-image-pair] enabled_in = "ua" pref = "dom.viewTransitions.enabled" is_element_backed = true argument = "PtNameAndClassSelector" [view-transition-old] enabled_in = "ua" pref = "dom.viewTransitions.enabled" is_element_backed = true argument = "PtNameAndClassSelector" [view-transition-new] enabled_in = "ua" pref = "dom.viewTransitions.enabled" is_element_backed = true argument = "PtNameAndClassSelector" # The internal implementation usage for View transition to create the snapshot # containing block concept. [-moz-snapshot-containing-block] enabled_in = "ua" # HTML5 Forms pseudo elements [-moz-number-spin-box] supports_user_action_state = true enabled_in = "chrome" is_element_backed = true [-moz-number-spin-down] supports_user_action_state = true enabled_in = "chrome" is_element_backed = true [-moz-number-spin-up] supports_user_action_state = true enabled_in = "chrome" is_element_backed = true [-moz-search-clear-button] supports_user_action_state = true enabled_in = "chrome" is_element_backed = true # The selected label of a # TODO: Maybe unify with the base-appearance ::picker-icon pseudo? [-moz-select-picker-icon] enabled_in = "chrome" is_element_backed = true [-moz-progress-bar] supports_user_action_state = true [-moz-range-track] supports_user_action_state = true [-moz-range-progress] supports_user_action_state = true [-moz-range-thumb] supports_user_action_state = true [-moz-meter-bar] supports_user_action_state = true [placeholder] supports_user_action_state = true is_element_backed = true [-moz-color-swatch] supports_user_action_state = true # The root of the text value anonymous content inside an or