Line data Source code
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/. */
5 :
6 : /* atom list for CSS anonymous boxes */
7 :
8 : /*
9 : * This file contains the list of nsIAtoms and their values for CSS
10 : * pseudo-element-ish things used internally for anonymous boxes. It is
11 : * designed to be used as inline input to nsCSSAnonBoxes.cpp *only* through the
12 : * magic of C preprocessing. All entries must be enclosed in the macros
13 : * CSS_ANON_BOX and CSS_NON_INHERITING_ANON_BOX which will have cruel and
14 : * unusual things done to it. The entries should be kept in some sort of
15 : * logical order.
16 : *
17 : * The first argument to CSS_ANON_BOX/CSS_NON_INHERITING_ANON_BOX is the C++
18 : * identifier of the atom.
19 : *
20 : * The second argument is the string value of the atom.
21 : *
22 : * The third argument to CSS_ANON_BOX is whether the anonymous box skips parent-
23 : * based display fixups (such as blockification inside flex containers). This
24 : * is implicitly true for CSS_NON_INHERITING_ANON_BOX.
25 : *
26 : * CSS_NON_INHERITING_ANON_BOX is used for anon boxes that never inherit style
27 : * from anything. This means all their property values are the initial values
28 : * of those properties.
29 : */
30 :
31 : // OUTPUT_CLASS=nsCSSAnonBoxes
32 : // MACRO_NAME=CSS_ANON_BOX/CSS_NON_INHERITING_ANON_BOX
33 :
34 : #ifndef CSS_NON_INHERITING_ANON_BOX
35 : # ifdef DEFINED_CSS_NON_INHERITING_ANON_BOX
36 : # error "Recursive includes of nsCSSAnonBoxList.h?"
37 : # endif /* DEFINED_CSS_NON_INHERITING_ANON_BOX */
38 : # define CSS_NON_INHERITING_ANON_BOX(name_, value_) CSS_ANON_BOX(name_, value_, true)
39 : # define DEFINED_CSS_NON_INHERITING_ANON_BOX
40 : #endif /* CSS_NON_INHERITING_ANON_BOX */
41 :
42 : // ::-moz-text, ::-moz-oof-placeholder, and ::-moz-first-letter-continuation are
43 : // non-elements which no rule will match.
44 : CSS_ANON_BOX(mozText, ":-moz-text", false)
45 : // placeholder frames for out of flows. Note that :-moz-placeholder is used for
46 : // the pseudo-element that represents the placeholder text in <input
47 : // placeholder="foo">, so we need a different string here.
48 2765 : CSS_NON_INHERITING_ANON_BOX(oofPlaceholder, ":-moz-oof-placeholder")
49 : // nsFirstLetterFrames for content outside the ::first-letter.
50 : CSS_ANON_BOX(firstLetterContinuation, ":-moz-first-letter-continuation", false)
51 :
52 : CSS_ANON_BOX(mozBlockInsideInlineWrapper, ":-moz-block-inside-inline-wrapper", false)
53 : CSS_ANON_BOX(mozMathMLAnonymousBlock, ":-moz-mathml-anonymous-block", false)
54 : CSS_ANON_BOX(mozXULAnonymousBlock, ":-moz-xul-anonymous-block", false)
55 :
56 : // Framesets
57 2646 : CSS_NON_INHERITING_ANON_BOX(horizontalFramesetBorder, ":-moz-hframeset-border")
58 2646 : CSS_NON_INHERITING_ANON_BOX(verticalFramesetBorder, ":-moz-vframeset-border")
59 :
60 : CSS_ANON_BOX(mozLineFrame, ":-moz-line-frame", false)
61 :
62 : CSS_ANON_BOX(buttonContent, ":-moz-button-content", false)
63 : CSS_ANON_BOX(cellContent, ":-moz-cell-content", false)
64 : CSS_ANON_BOX(dropDownList, ":-moz-dropdown-list", false)
65 : CSS_ANON_BOX(fieldsetContent, ":-moz-fieldset-content", false)
66 4088 : CSS_NON_INHERITING_ANON_BOX(framesetBlank, ":-moz-frameset-blank")
67 229 : CSS_ANON_BOX(mozDisplayComboboxControlFrame, ":-moz-display-comboboxcontrol-frame", true)
68 : CSS_ANON_BOX(htmlCanvasContent, ":-moz-html-canvas-content", false)
69 :
70 : CSS_ANON_BOX(inlineTable, ":-moz-inline-table", false)
71 : CSS_ANON_BOX(table, ":-moz-table", false)
72 : CSS_ANON_BOX(tableCell, ":-moz-table-cell", false)
73 : CSS_ANON_BOX(tableColGroup, ":-moz-table-column-group", false)
74 : CSS_ANON_BOX(tableCol, ":-moz-table-column", false)
75 : CSS_ANON_BOX(tableWrapper, ":-moz-table-wrapper", false)
76 : CSS_ANON_BOX(tableRowGroup, ":-moz-table-row-group", false)
77 : CSS_ANON_BOX(tableRow, ":-moz-table-row", false)
78 :
79 : CSS_ANON_BOX(canvas, ":-moz-canvas", false)
80 1323 : CSS_NON_INHERITING_ANON_BOX(pageBreak, ":-moz-pagebreak")
81 : CSS_ANON_BOX(page, ":-moz-page", false)
82 : CSS_ANON_BOX(pageContent, ":-moz-pagecontent", false)
83 : CSS_ANON_BOX(pageSequence, ":-moz-page-sequence", false)
84 : CSS_ANON_BOX(scrolledContent, ":-moz-scrolled-content", false)
85 : CSS_ANON_BOX(scrolledCanvas, ":-moz-scrolled-canvas", false)
86 : CSS_ANON_BOX(scrolledPageSequence, ":-moz-scrolled-page-sequence", false)
87 : CSS_ANON_BOX(columnContent, ":-moz-column-content", false)
88 : CSS_ANON_BOX(viewport, ":-moz-viewport", false)
89 : CSS_ANON_BOX(viewportScroll, ":-moz-viewport-scroll", false)
90 :
91 : // Inside a flex container, a contiguous run of text gets wrapped in
92 : // an anonymous block, which is then treated as a flex item.
93 : CSS_ANON_BOX(anonymousFlexItem, ":-moz-anonymous-flex-item", false)
94 :
95 : // Inside a grid container, a contiguous run of text gets wrapped in
96 : // an anonymous block, which is then treated as a grid item.
97 : CSS_ANON_BOX(anonymousGridItem, ":-moz-anonymous-grid-item", false)
98 :
99 : CSS_ANON_BOX(ruby, ":-moz-ruby", false)
100 : CSS_ANON_BOX(rubyBase, ":-moz-ruby-base", false)
101 : CSS_ANON_BOX(rubyBaseContainer, ":-moz-ruby-base-container", false)
102 : CSS_ANON_BOX(rubyText, ":-moz-ruby-text", false)
103 : CSS_ANON_BOX(rubyTextContainer, ":-moz-ruby-text-container", false)
104 :
105 : #ifdef MOZ_XUL
106 : CSS_ANON_BOX(mozTreeColumn, ":-moz-tree-column", false)
107 : CSS_ANON_BOX(mozTreeRow, ":-moz-tree-row", false)
108 : CSS_ANON_BOX(mozTreeSeparator, ":-moz-tree-separator", false)
109 : CSS_ANON_BOX(mozTreeCell, ":-moz-tree-cell", false)
110 : CSS_ANON_BOX(mozTreeIndentation, ":-moz-tree-indentation", false)
111 : CSS_ANON_BOX(mozTreeLine, ":-moz-tree-line", false)
112 : CSS_ANON_BOX(mozTreeTwisty, ":-moz-tree-twisty", false)
113 : CSS_ANON_BOX(mozTreeImage, ":-moz-tree-image", false)
114 : CSS_ANON_BOX(mozTreeCellText, ":-moz-tree-cell-text", false)
115 : CSS_ANON_BOX(mozTreeCheckbox, ":-moz-tree-checkbox", false)
116 : CSS_ANON_BOX(mozTreeProgressmeter, ":-moz-tree-progressmeter", false)
117 : CSS_ANON_BOX(mozTreeDropFeedback, ":-moz-tree-drop-feedback", false)
118 : #endif
119 :
120 : CSS_ANON_BOX(mozSVGMarkerAnonChild, ":-moz-svg-marker-anon-child", false)
121 : CSS_ANON_BOX(mozSVGOuterSVGAnonChild, ":-moz-svg-outer-svg-anon-child", false)
122 : CSS_ANON_BOX(mozSVGForeignContent, ":-moz-svg-foreign-content", false)
123 : CSS_ANON_BOX(mozSVGText, ":-moz-svg-text", false)
124 :
125 : #ifdef DEFINED_CSS_NON_INHERITING_ANON_BOX
126 : # undef DEFINED_CSS_NON_INHERITING_ANON_BOX
127 : # undef CSS_NON_INHERITING_ANON_BOX
128 : #endif /* DEFINED_CSS_NON_INHERITING_ANON_BOX */
|