1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 /* atom list for CSS pseudo-elements */
9 * This file contains the list of nsIAtoms and their values for CSS
10 * pseudo-elements. It is designed to be used as inline input to
11 * nsCSSPseudoElements.cpp *only* through the magic of C preprocessing. All
12 * entries must be enclosed either in the macro CSS_PSEUDO_ELEMENT;
13 * these macros will have cruel and unusual things done to them. The
14 * entries should be kept in some sort of logical order.
16 * Code including this file MUST define CSS_PSEUDO_ELEMENT, which takes
18 * name_ : The C++ identifier used for the atom (which will be a member
19 * of nsCSSPseudoElements)
20 * value_ : The pseudo-element as a string, with single-colon syntax,
21 * used as the string value of the atom.
22 * flags_ : A bitfield containing flags defined in nsCSSPseudoElements.h
25 // OUTPUT_CLASS=nsCSSPseudoElements
26 // MACRO_NAME=CSS_PSEUDO_ELEMENT
28 CSS_PSEUDO_ELEMENT(after
, ":after", CSS_PSEUDO_ELEMENT_IS_CSS2
)
29 CSS_PSEUDO_ELEMENT(before
, ":before", CSS_PSEUDO_ELEMENT_IS_CSS2
)
31 CSS_PSEUDO_ELEMENT(firstLetter
, ":first-letter",
32 CSS_PSEUDO_ELEMENT_IS_CSS2
|
33 CSS_PSEUDO_ELEMENT_CONTAINS_ELEMENTS
)
34 CSS_PSEUDO_ELEMENT(firstLine
, ":first-line",
35 CSS_PSEUDO_ELEMENT_IS_CSS2
|
36 CSS_PSEUDO_ELEMENT_CONTAINS_ELEMENTS
)
38 CSS_PSEUDO_ELEMENT(mozSelection
, ":-moz-selection",
39 CSS_PSEUDO_ELEMENT_CONTAINS_ELEMENTS
)
41 // XXXbz should we really allow random content to style these? Maybe
42 // use our flags to prevent that?
43 CSS_PSEUDO_ELEMENT(mozFocusInner
, ":-moz-focus-inner", 0)
44 CSS_PSEUDO_ELEMENT(mozFocusOuter
, ":-moz-focus-outer", 0)
46 // XXXbz should we really allow random content to style these? Maybe
47 // use our flags to prevent that?
48 CSS_PSEUDO_ELEMENT(mozListBullet
, ":-moz-list-bullet", 0)
49 CSS_PSEUDO_ELEMENT(mozListNumber
, ":-moz-list-number", 0)
51 CSS_PSEUDO_ELEMENT(mozMathAnonymous
, ":-moz-math-anonymous", 0)
53 // HTML5 Forms pseudo elements
54 CSS_PSEUDO_ELEMENT(mozNumberWrapper
, ":-moz-number-wrapper",
55 CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE
|
56 CSS_PSEUDO_ELEMENT_IS_CHROME_ONLY
)
57 CSS_PSEUDO_ELEMENT(mozNumberText
, ":-moz-number-text",
58 CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE
|
59 CSS_PSEUDO_ELEMENT_IS_CHROME_ONLY
)
60 CSS_PSEUDO_ELEMENT(mozNumberSpinBox
, ":-moz-number-spin-box",
61 CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE
|
62 CSS_PSEUDO_ELEMENT_IS_CHROME_ONLY
)
63 CSS_PSEUDO_ELEMENT(mozNumberSpinUp
, ":-moz-number-spin-up",
64 CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE
|
65 CSS_PSEUDO_ELEMENT_IS_CHROME_ONLY
)
66 CSS_PSEUDO_ELEMENT(mozNumberSpinDown
, ":-moz-number-spin-down",
67 CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE
|
68 CSS_PSEUDO_ELEMENT_IS_CHROME_ONLY
)
69 CSS_PSEUDO_ELEMENT(mozProgressBar
, ":-moz-progress-bar",
70 CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE
)
71 CSS_PSEUDO_ELEMENT(mozRangeTrack
, ":-moz-range-track",
72 CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE
)
73 CSS_PSEUDO_ELEMENT(mozRangeProgress
, ":-moz-range-progress",
74 CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE
)
75 CSS_PSEUDO_ELEMENT(mozRangeThumb
, ":-moz-range-thumb",
76 CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE
)
77 CSS_PSEUDO_ELEMENT(mozMeterBar
, ":-moz-meter-bar",
78 CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE
)
79 CSS_PSEUDO_ELEMENT(mozPlaceholder
, ":-moz-placeholder",
80 CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE
)
81 CSS_PSEUDO_ELEMENT(mozColorSwatch
, ":-moz-color-swatch",
82 CSS_PSEUDO_ELEMENT_SUPPORTS_STYLE_ATTRIBUTE
|
83 CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE
)