nsCSSPseudoElementList.h (6330B)
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */ 3 /* This Source Code Form is subject to the terms of the Mozilla Public 4 * License, v. 2.0. If a copy of the MPL was not distributed with this 5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 6 7 /* list of CSS pseudo-elements */ 8 9 /* 10 * This file contains the list of support CSS pseudo-elements and some flags. 11 * It is designed to be used as inline input to nsCSSPseudoElements.cpp *only* 12 * through the magic of C preprocessing. All entries must be enclosed either 13 * in the macro CSS_PSEUDO_ELEMENT; these macros will have cruel and unusual 14 * things done to them. The entries should be kept in some sort of logical 15 * order. 16 * 17 * Code including this file MUST define CSS_PSEUDO_ELEMENT, which takes 18 * three parameters: 19 * name_ : The C++ identifier used for the atom (which will be a member 20 * of nsCSSPseudoElements) 21 * value_ : The pseudo-element as a string, with single-colon syntax, 22 * used as the string value of the atom. 23 * flags_ : A bitfield containing flags defined in nsCSSPseudoElements.h 24 * 25 * A corresponding atom must also be defined in StaticAtoms.py with a name of 26 * "PseudoElement_<name_>" and whose value matches the definition in this file. 27 */ 28 29 // OUTPUT_CLASS=nsCSSPseudoElements 30 // MACRO_NAME=CSS_PSEUDO_ELEMENT 31 32 CSS_PSEUDO_ELEMENT(after, ":after", CSS_PSEUDO_ELEMENT_IS_CSS2 | 33 CSS_PSEUDO_ELEMENT_IS_FLEX_OR_GRID_ITEM) 34 CSS_PSEUDO_ELEMENT(before, ":before", CSS_PSEUDO_ELEMENT_IS_CSS2 | 35 CSS_PSEUDO_ELEMENT_IS_FLEX_OR_GRID_ITEM) 36 CSS_PSEUDO_ELEMENT(marker, ":marker", 0) 37 38 CSS_PSEUDO_ELEMENT(backdrop, ":backdrop", 0) 39 40 CSS_PSEUDO_ELEMENT(cue, ":cue", CSS_PSEUDO_ELEMENT_IS_JS_CREATED_NAC) 41 42 CSS_PSEUDO_ELEMENT(firstLetter, ":first-letter", CSS_PSEUDO_ELEMENT_IS_CSS2) 43 CSS_PSEUDO_ELEMENT(firstLine, ":first-line", CSS_PSEUDO_ELEMENT_IS_CSS2) 44 45 CSS_PSEUDO_ELEMENT(highlight, ":highlight", 0) 46 CSS_PSEUDO_ELEMENT(selection, ":selection", 0) 47 CSS_PSEUDO_ELEMENT(targetText, ":target-text", 0) 48 49 CSS_PSEUDO_ELEMENT(viewTransition, ":view-transition", 50 CSS_PSEUDO_ELEMENT_ENABLED_IN_UA_SHEETS) 51 CSS_PSEUDO_ELEMENT(viewTransitionGroup, ":view-transition-group", 52 CSS_PSEUDO_ELEMENT_ENABLED_IN_UA_SHEETS) 53 CSS_PSEUDO_ELEMENT(viewTransitionImagePair, ":view-transition-image-pair", 54 CSS_PSEUDO_ELEMENT_ENABLED_IN_UA_SHEETS) 55 CSS_PSEUDO_ELEMENT(viewTransitionOld, ":view-transition-old", 56 CSS_PSEUDO_ELEMENT_ENABLED_IN_UA_SHEETS) 57 CSS_PSEUDO_ELEMENT(viewTransitionNew, ":view-transition-new", 58 CSS_PSEUDO_ELEMENT_ENABLED_IN_UA_SHEETS) 59 // The internal implementation usage for View transition to create the snapshot 60 // containing block concept. 61 CSS_PSEUDO_ELEMENT(mozSnapshotContainingBlock, 62 ":-moz-snapshot-containing-block", 63 CSS_PSEUDO_ELEMENT_ENABLED_IN_UA_SHEETS) 64 65 // HTML5 Forms pseudo elements 66 CSS_PSEUDO_ELEMENT(mozNumberSpinBox, ":-moz-number-spin-box", 67 CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE | 68 CSS_PSEUDO_ELEMENT_ENABLED_IN_UA_SHEETS_AND_CHROME) 69 CSS_PSEUDO_ELEMENT(mozNumberSpinUp, ":-moz-number-spin-up", 70 CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE | 71 CSS_PSEUDO_ELEMENT_ENABLED_IN_UA_SHEETS_AND_CHROME) 72 CSS_PSEUDO_ELEMENT(mozNumberSpinDown, ":-moz-number-spin-down", 73 CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE | 74 CSS_PSEUDO_ELEMENT_ENABLED_IN_UA_SHEETS_AND_CHROME) 75 CSS_PSEUDO_ELEMENT(mozSearchClearButton, ":-moz-search-clear-button", 76 CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE | 77 CSS_PSEUDO_ELEMENT_ENABLED_IN_UA_SHEETS_AND_CHROME) 78 CSS_PSEUDO_ELEMENT(mozProgressBar, ":-moz-progress-bar", 79 CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE) 80 CSS_PSEUDO_ELEMENT(mozRangeTrack, ":-moz-range-track", 81 CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE) 82 CSS_PSEUDO_ELEMENT(mozRangeProgress, ":-moz-range-progress", 83 CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE) 84 CSS_PSEUDO_ELEMENT(mozRangeThumb, ":-moz-range-thumb", 85 CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE) 86 CSS_PSEUDO_ELEMENT(mozMeterBar, ":-moz-meter-bar", 87 CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE) 88 CSS_PSEUDO_ELEMENT(placeholder, ":placeholder", 89 CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE) 90 CSS_PSEUDO_ELEMENT(mozColorSwatch, ":-moz-color-swatch", 91 CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE) 92 // The root of the text value anonymous content inside an <input> or <textarea>. 93 CSS_PSEUDO_ELEMENT(mozTextControlEditingRoot, ":-moz-text-control-editing-root", 94 CSS_PSEUDO_ELEMENT_ENABLED_IN_UA_SHEETS) 95 // The element that shows the autofill value. 96 CSS_PSEUDO_ELEMENT(mozTextControlPreview, ":-moz-text-control-preview", 97 CSS_PSEUDO_ELEMENT_ENABLED_IN_UA_SHEETS) 98 // The Reveal Password button for <input type=password>. 99 CSS_PSEUDO_ELEMENT(mozReveal, ":-moz-reveal", 100 CSS_PSEUDO_ELEMENT_ENABLED_IN_UA_SHEETS) 101 102 // The button in an <input type=file> 103 CSS_PSEUDO_ELEMENT(fileSelectorButton, ":file-selector-button", 104 CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE) 105 106 // Standard progress/meter/range pseudo-elements. 107 CSS_PSEUDO_ELEMENT(sliderTrack, ":slider-track", 108 CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE | 109 CSS_PSEUDO_ELEMENT_ENABLED_IN_UA_SHEETS_AND_CHROME) 110 CSS_PSEUDO_ELEMENT(sliderThumb, ":slider-thumb", 111 CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE | 112 CSS_PSEUDO_ELEMENT_ENABLED_IN_UA_SHEETS_AND_CHROME) 113 CSS_PSEUDO_ELEMENT(sliderFill, ":slider-fill", 114 CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE | 115 CSS_PSEUDO_ELEMENT_ENABLED_IN_UA_SHEETS_AND_CHROME) 116 117 // The content in a <details> element that is shown when the element is open. 118 CSS_PSEUDO_ELEMENT(detailsContent, ":details-content", 119 CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE | 120 CSS_PSEUDO_ELEMENT_ENABLED_IN_UA_SHEETS_AND_CHROME)