Bug 460926 A11y hierachy is broken on Ubuntu 8.10 (GNOME 2.24), r=Evan.Yan sr=roc
[wine-gecko.git] / layout / style / nsCSSPropList.h
blob4c15b2c56df95392a301932bd25ee5448cd33812
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* ***** BEGIN LICENSE BLOCK *****
3 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
5 * The contents of this file are subject to the Mozilla Public License Version
6 * 1.1 (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 * http://www.mozilla.org/MPL/
10 * Software distributed under the License is distributed on an "AS IS" basis,
11 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12 * for the specific language governing rights and limitations under the
13 * License.
15 * The Original Code is mozilla.org code.
17 * The Initial Developer of the Original Code is
18 * Netscape Communications Corporation.
19 * Portions created by the Initial Developer are Copyright (C) 1999
20 * the Initial Developer. All Rights Reserved.
22 * Contributor(s):
23 * Mats Palmgren <mats.palmgren@bredband.net>
25 * Alternatively, the contents of this file may be used under the terms of
26 * either of the GNU General Public License Version 2 or later (the "GPL"),
27 * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
28 * in which case the provisions of the GPL or the LGPL are applicable instead
29 * of those above. If you wish to allow use of your version of this file only
30 * under the terms of either the GPL or the LGPL, and not to allow others to
31 * use your version of this file under the terms of the MPL, indicate your
32 * decision by deleting the provisions above and replace them with the notice
33 * and other provisions required by the GPL or the LGPL. If you do not delete
34 * the provisions above, a recipient may use your version of this file under
35 * the terms of any one of the MPL, the GPL or the LGPL.
37 * ***** END LICENSE BLOCK ***** */
40 * a list of all CSS properties with considerable data about them, for
41 * preprocessing
44 /******
46 This file contains the list of all parsed CSS properties. It is
47 designed to be used as inline input through the magic of C
48 preprocessing. All entries must be enclosed in the appropriate
49 CSS_PROP_* macro which will have cruel and unusual things done to it.
50 It is recommended (but not strictly necessary) to keep all entries in
51 alphabetical order.
53 The arguments to CSS_PROP_* are:
55 1. 'name' entries represent a CSS property name and *must* use only
56 lowercase characters.
58 2. 'id' should be the same as 'name' except that all hyphens ('-')
59 in 'name' are converted to underscores ('_') in 'id'. This lets us
60 do nice things with the macros without having to copy/convert strings
61 at runtime. These are the names used for the enum values of the
62 nsCSSProperty enumeration defined in nsCSSProps.h.
64 3. 'method' is designed to be as input for CSS2Properties and similar
65 callers. It must always be the same as 'name' except it must use
66 InterCaps and all hyphens ('-') must be removed.
68 4. 'flags', a bitfield containing CSS_PROPERTY_* flags.
70 5. 'datastruct' says which nsRuleData* struct this property goes in.
72 6. 'member' gives the name of the member variable in the nsRuleData
73 struct.
75 7. 'type' gives the |nsCSSType| of the data in the nsRuleData struct
76 and in the nsCSSDeclaration backend.
78 8. 'kwtable', which is either nsnull or the name of the appropriate
79 keyword table member of class nsCSSProps, for use in
80 nsCSSProps::LookupPropertyValue.
82 ******/
85 /*************************************************************************/
88 // All includers must explicitly define CSS_PROP_NOTIMPLEMENTED if they
89 // want this. (Only the DOM cares.)
90 #ifndef CSS_PROP_NOTIMPLEMENTED
91 #define CSS_PROP_NOTIMPLEMENTED(name_, id_, method_, flags_) /* nothing */
92 #define DEFINED_CSS_PROP_NOTIMPLEMENTED
93 #endif
95 // All includers must explicitly define CSS_PROP_SHORTHAND if they
96 // want it.
97 #ifndef CSS_PROP_SHORTHAND
98 #define CSS_PROP_SHORTHAND(name_, id_, method_, flags_) /* nothing */
99 #define DEFINED_CSS_PROP_SHORTHAND
100 #endif
103 // Callers may define CSS_PROP_LIST_EXCLUDE_INTERNAL if they want to
104 // exclude internal properties that are not represented in the DOM (only
105 // the DOM style code defines this).
107 // A caller who wants all the properties can define the |CSS_PROP|
108 // macro.
109 #ifdef CSS_PROP
111 #define USED_CSS_PROP
112 #define CSS_PROP_FONT(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) CSS_PROP(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_)
113 #define CSS_PROP_COLOR(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) CSS_PROP(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_)
114 #define CSS_PROP_BACKGROUND(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) CSS_PROP(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_)
115 #define CSS_PROP_LIST(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) CSS_PROP(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_)
116 #define CSS_PROP_POSITION(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) CSS_PROP(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_)
117 #define CSS_PROP_TEXT(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) CSS_PROP(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_)
118 #define CSS_PROP_TEXTRESET(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) CSS_PROP(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_)
119 #define CSS_PROP_DISPLAY(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) CSS_PROP(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_)
120 #define CSS_PROP_VISIBILITY(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) CSS_PROP(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_)
121 #define CSS_PROP_CONTENT(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) CSS_PROP(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_)
122 #define CSS_PROP_QUOTES(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) CSS_PROP(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_)
123 #define CSS_PROP_USERINTERFACE(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) CSS_PROP(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_)
124 #define CSS_PROP_UIRESET(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) CSS_PROP(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_)
125 #define CSS_PROP_TABLE(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) CSS_PROP(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_)
126 #define CSS_PROP_TABLEBORDER(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) CSS_PROP(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_)
127 #define CSS_PROP_MARGIN(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) CSS_PROP(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_)
128 #define CSS_PROP_PADDING(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) CSS_PROP(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_)
129 #define CSS_PROP_BORDER(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) CSS_PROP(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_)
130 #define CSS_PROP_OUTLINE(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) CSS_PROP(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_)
131 #define CSS_PROP_XUL(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) CSS_PROP(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_)
132 #define CSS_PROP_COLUMN(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) CSS_PROP(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_)
133 #define CSS_PROP_SVG(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) CSS_PROP(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_)
134 #define CSS_PROP_SVGRESET(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) CSS_PROP(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_)
136 // For properties that are stored in the CSS backend but are not
137 // computed. An includer may define this in addition to CSS_PROP, but
138 // otherwise we treat it as the same.
139 #ifndef CSS_PROP_BACKENDONLY
140 #define CSS_PROP_BACKENDONLY(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) CSS_PROP(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_)
141 #define DEFINED_CSS_PROP_BACKENDONLY
142 #endif
144 #else /* !defined(CSS_PROP) */
146 // An includer who does not define CSS_PROP can define any or all of the
147 // per-struct macros that are equivalent to it, and the rest will be
148 // ignored.
150 #ifndef CSS_PROP_FONT
151 #define CSS_PROP_FONT(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) /* nothing */
152 #define DEFINED_CSS_PROP_FONT
153 #endif
154 #ifndef CSS_PROP_COLOR
155 #define CSS_PROP_COLOR(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) /* nothing */
156 #define DEFINED_CSS_PROP_COLOR
157 #endif
158 #ifndef CSS_PROP_BACKGROUND
159 #define CSS_PROP_BACKGROUND(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) /* nothing */
160 #define DEFINED_CSS_PROP_BACKGROUND
161 #endif
162 #ifndef CSS_PROP_LIST
163 #define CSS_PROP_LIST(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) /* nothing */
164 #define DEFINED_CSS_PROP_LIST
165 #endif
166 #ifndef CSS_PROP_POSITION
167 #define CSS_PROP_POSITION(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) /* nothing */
168 #define DEFINED_CSS_PROP_POSITION
169 #endif
170 #ifndef CSS_PROP_TEXT
171 #define CSS_PROP_TEXT(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) /* nothing */
172 #define DEFINED_CSS_PROP_TEXT
173 #endif
174 #ifndef CSS_PROP_TEXTRESET
175 #define CSS_PROP_TEXTRESET(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) /* nothing */
176 #define DEFINED_CSS_PROP_TEXTRESET
177 #endif
178 #ifndef CSS_PROP_DISPLAY
179 #define CSS_PROP_DISPLAY(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) /* nothing */
180 #define DEFINED_CSS_PROP_DISPLAY
181 #endif
182 #ifndef CSS_PROP_VISIBILITY
183 #define CSS_PROP_VISIBILITY(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) /* nothing */
184 #define DEFINED_CSS_PROP_VISIBILITY
185 #endif
186 #ifndef CSS_PROP_CONTENT
187 #define CSS_PROP_CONTENT(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) /* nothing */
188 #define DEFINED_CSS_PROP_CONTENT
189 #endif
190 #ifndef CSS_PROP_QUOTES
191 #define CSS_PROP_QUOTES(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) /* nothing */
192 #define DEFINED_CSS_PROP_QUOTES
193 #endif
194 #ifndef CSS_PROP_USERINTERFACE
195 #define CSS_PROP_USERINTERFACE(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) /* nothing */
196 #define DEFINED_CSS_PROP_USERINTERFACE
197 #endif
198 #ifndef CSS_PROP_UIRESET
199 #define CSS_PROP_UIRESET(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) /* nothing */
200 #define DEFINED_CSS_PROP_UIRESET
201 #endif
202 #ifndef CSS_PROP_TABLE
203 #define CSS_PROP_TABLE(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) /* nothing */
204 #define DEFINED_CSS_PROP_TABLE
205 #endif
206 #ifndef CSS_PROP_TABLEBORDER
207 #define CSS_PROP_TABLEBORDER(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) /* nothing */
208 #define DEFINED_CSS_PROP_TABLEBORDER
209 #endif
210 #ifndef CSS_PROP_MARGIN
211 #define CSS_PROP_MARGIN(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) /* nothing */
212 #define DEFINED_CSS_PROP_MARGIN
213 #endif
214 #ifndef CSS_PROP_PADDING
215 #define CSS_PROP_PADDING(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) /* nothing */
216 #define DEFINED_CSS_PROP_PADDING
217 #endif
218 #ifndef CSS_PROP_BORDER
219 #define CSS_PROP_BORDER(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) /* nothing */
220 #define DEFINED_CSS_PROP_BORDER
221 #endif
222 #ifndef CSS_PROP_OUTLINE
223 #define CSS_PROP_OUTLINE(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) /* nothing */
224 #define DEFINED_CSS_PROP_OUTLINE
225 #endif
226 #ifndef CSS_PROP_XUL
227 #define CSS_PROP_XUL(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) /* nothing */
228 #define DEFINED_CSS_PROP_XUL
229 #endif
230 #ifndef CSS_PROP_COLUMN
231 #define CSS_PROP_COLUMN(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) /* nothing */
232 #define DEFINED_CSS_PROP_COLUMN
233 #endif
234 #ifndef CSS_PROP_SVG
235 #define CSS_PROP_SVG(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) /* nothing */
236 #define DEFINED_CSS_PROP_SVG
237 #endif
238 #ifndef CSS_PROP_SVGRESET
239 #define CSS_PROP_SVGRESET(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) /* nothing */
240 #define DEFINED_CSS_PROP_SVGRESET
241 #endif
243 #ifndef CSS_PROP_BACKENDONLY
244 #define CSS_PROP_BACKENDONLY(name_, id_, method_, flags_, datastruct_, member_, type_, kwtable_) /* nothing */
245 #define DEFINED_CSS_PROP_BACKENDONLY
246 #endif
248 #endif /* !defined(CSS_PROP) */
250 /*************************************************************************/
252 // For notes XXX bug 3935 below, the names being parsed do not correspond
253 // to the constants used internally. It would be nice to bring the
254 // constants into line sometime.
256 // The parser will refuse to parse properties marked with -x-.
258 // Those marked XXX bug 48973 are CSS2 properties that we support
259 // differently from the spec for UI requirements. If we ever
260 // support them correctly the old constants need to be renamed and
261 // new ones should be entered.
263 CSS_PROP_DISPLAY(-moz-appearance, appearance, MozAppearance, 0, Display, mAppearance, eCSSType_Value, kAppearanceKTable)
264 CSS_PROP_SHORTHAND(-moz-border-radius, _moz_border_radius, MozBorderRadius, 0)
265 CSS_PROP_BORDER(-moz-border-radius-topleft, _moz_border_radius_topLeft, MozBorderRadiusTopleft, 0, Margin, mBorderRadius.mTopLeft, eCSSType_ValuePair, nsnull)
266 CSS_PROP_BORDER(-moz-border-radius-topright, _moz_border_radius_topRight, MozBorderRadiusTopright, 0, Margin, mBorderRadius.mTopRight, eCSSType_ValuePair, nsnull)
267 CSS_PROP_BORDER(-moz-border-radius-bottomright, _moz_border_radius_bottomRight, MozBorderRadiusBottomright, 0, Margin, mBorderRadius.mBottomRight, eCSSType_ValuePair, nsnull)
268 CSS_PROP_BORDER(-moz-border-radius-bottomleft, _moz_border_radius_bottomLeft, MozBorderRadiusBottomleft, 0, Margin, mBorderRadius.mBottomLeft, eCSSType_ValuePair, nsnull)
269 CSS_PROP_SHORTHAND(-moz-outline-radius, _moz_outline_radius, MozOutlineRadius, 0)
270 CSS_PROP_OUTLINE(-moz-outline-radius-topleft, _moz_outline_radius_topLeft, MozOutlineRadiusTopleft, 0, Margin, mOutlineRadius.mTopLeft, eCSSType_ValuePair, nsnull)
271 CSS_PROP_OUTLINE(-moz-outline-radius-topright, _moz_outline_radius_topRight, MozOutlineRadiusTopright, 0, Margin, mOutlineRadius.mTopRight, eCSSType_ValuePair, nsnull)
272 CSS_PROP_OUTLINE(-moz-outline-radius-bottomright, _moz_outline_radius_bottomRight, MozOutlineRadiusBottomright, 0, Margin, mOutlineRadius.mBottomRight, eCSSType_ValuePair, nsnull)
273 CSS_PROP_OUTLINE(-moz-outline-radius-bottomleft, _moz_outline_radius_bottomLeft, MozOutlineRadiusBottomleft, 0, Margin, mOutlineRadius.mBottomLeft, eCSSType_ValuePair, nsnull)
274 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
275 CSS_PROP_FONT(-x-system-font, _x_system_font, X, 0, Font, mSystemFont, eCSSType_Value, kFontKTable)
276 #endif
277 CSS_PROP_BACKENDONLY(azimuth, azimuth, Azimuth, 0, Aural, mAzimuth, eCSSType_Value, kAzimuthKTable)
278 CSS_PROP_SHORTHAND(background, background, Background, 0)
279 CSS_PROP_BACKGROUND(background-attachment, background_attachment, BackgroundAttachment, 0, Color, mBackAttachment, eCSSType_Value, kBackgroundAttachmentKTable)
280 CSS_PROP_BACKGROUND(-moz-background-clip, _moz_background_clip, MozBackgroundClip, 0, Color, mBackClip, eCSSType_Value, kBackgroundClipKTable)
281 CSS_PROP_BACKGROUND(background-color, background_color, BackgroundColor, 0, Color, mBackColor, eCSSType_Value, nsnull)
282 CSS_PROP_BACKGROUND(background-image, background_image, BackgroundImage, 0, Color, mBackImage, eCSSType_Value, nsnull)
283 CSS_PROP_BACKGROUND(-moz-background-inline-policy, _moz_background_inline_policy, MozBackgroundInlinePolicy, 0, Color, mBackInlinePolicy, eCSSType_Value, kBackgroundInlinePolicyKTable)
284 CSS_PROP_BACKGROUND(-moz-background-origin, _moz_background_origin, MozBackgroundOrigin, 0, Color, mBackOrigin, eCSSType_Value, kBackgroundOriginKTable)
285 CSS_PROP_BACKGROUND(background-position, background_position, BackgroundPosition, 0, Color, mBackPosition, eCSSType_ValuePair, kBackgroundPositionKTable)
286 CSS_PROP_BACKGROUND(background-repeat, background_repeat, BackgroundRepeat, 0, Color, mBackRepeat, eCSSType_Value, kBackgroundRepeatKTable)
287 CSS_PROP_DISPLAY(-moz-binding, binding, MozBinding, 0, Display, mBinding, eCSSType_Value, nsnull) // XXX bug 3935
288 CSS_PROP_SHORTHAND(border, border, Border, 0)
289 CSS_PROP_SHORTHAND(border-bottom, border_bottom, BorderBottom, 0)
290 CSS_PROP_BORDER(border-bottom-color, border_bottom_color, BorderBottomColor, 0, Margin, mBorderColor.mBottom, eCSSType_Value, kBorderColorKTable)
291 CSS_PROP_BORDER(-moz-border-bottom-colors, border_bottom_colors, MozBorderBottomColors, 0, Margin, mBorderColors.mBottom, eCSSType_ValueList, nsnull)
292 CSS_PROP_BORDER(border-bottom-style, border_bottom_style, BorderBottomStyle, 0, Margin, mBorderStyle.mBottom, eCSSType_Value, kBorderStyleKTable) // on/off will need reflow
293 CSS_PROP_BORDER(border-bottom-width, border_bottom_width, BorderBottomWidth, 0, Margin, mBorderWidth.mBottom, eCSSType_Value, kBorderWidthKTable)
294 CSS_PROP_TABLEBORDER(border-collapse, border_collapse, BorderCollapse, 0, Table, mBorderCollapse, eCSSType_Value, kBorderCollapseKTable)
295 CSS_PROP_SHORTHAND(border-color, border_color, BorderColor, 0)
296 CSS_PROP_SHORTHAND(-moz-border-end, border_end, MozBorderEnd, 0)
297 CSS_PROP_SHORTHAND(-moz-border-end-color, border_end_color, MozBorderEndColor, 0)
298 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
299 CSS_PROP_BORDER(border-end-color-value, border_end_color_value, X, 0, Margin, mBorderEndColor, eCSSType_Value, kBorderColorKTable)
300 #endif
301 CSS_PROP_SHORTHAND(-moz-border-end-style, border_end_style, MozBorderEndStyle, 0)
302 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
303 CSS_PROP_BORDER(border-end-style-value, border_end_style_value, X, 0, Margin, mBorderEndStyle, eCSSType_Value, kBorderStyleKTable)
304 #endif
305 CSS_PROP_SHORTHAND(-moz-border-end-width, border_end_width, MozBorderEndWidth, 0)
306 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
307 CSS_PROP_BORDER(border-end-width-value, border_end_width_value, X, 0, Margin, mBorderEndWidth, eCSSType_Value, kBorderWidthKTable)
308 #endif
309 CSS_PROP_BORDER(-moz-border-image, border_image, MozBorderImage, 0, Margin, mBorderImage, eCSSType_Value, kBorderImageKTable)
310 CSS_PROP_SHORTHAND(border-left, border_left, BorderLeft, 0)
311 CSS_PROP_SHORTHAND(border-left-color, border_left_color, BorderLeftColor, 0)
312 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
313 CSS_PROP_BORDER(border-left-color-value, border_left_color_value, X, 0, Margin, mBorderColor.mLeft, eCSSType_Value, kBorderColorKTable)
314 CSS_PROP_BORDER(border-left-color-ltr-source, border_left_color_ltr_source, X, CSS_PROPERTY_DIRECTIONAL_SOURCE, Margin, mBorderLeftColorLTRSource, eCSSType_Value, kBoxPropSourceKTable)
315 CSS_PROP_BORDER(border-left-color-rtl-source, border_left_color_rtl_source, X, CSS_PROPERTY_DIRECTIONAL_SOURCE, Margin, mBorderLeftColorRTLSource, eCSSType_Value, kBoxPropSourceKTable)
316 #endif
317 CSS_PROP_BORDER(-moz-border-left-colors, border_left_colors, MozBorderLeftColors, 0, Margin, mBorderColors.mLeft, eCSSType_ValueList, nsnull)
318 CSS_PROP_SHORTHAND(border-left-style, border_left_style, BorderLeftStyle, 0) // on/off will need reflow
319 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
320 CSS_PROP_BORDER(border-left-style-value, border_left_style_value, X, 0, Margin, mBorderStyle.mLeft, eCSSType_Value, kBorderStyleKTable)
321 CSS_PROP_BORDER(border-left-style-ltr-source, border_left_style_ltr_source, X, CSS_PROPERTY_DIRECTIONAL_SOURCE, Margin, mBorderLeftStyleLTRSource, eCSSType_Value, kBoxPropSourceKTable)
322 CSS_PROP_BORDER(border-left-style-rtl-source, border_left_style_rtl_source, X, CSS_PROPERTY_DIRECTIONAL_SOURCE, Margin, mBorderLeftStyleRTLSource, eCSSType_Value, kBoxPropSourceKTable)
323 #endif
324 CSS_PROP_SHORTHAND(border-left-width, border_left_width, BorderLeftWidth, 0)
325 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
326 CSS_PROP_BORDER(border-left-width-value, border_left_width_value, X, 0, Margin, mBorderWidth.mLeft, eCSSType_Value, kBorderWidthKTable)
327 CSS_PROP_BORDER(border-left-width-ltr-source, border_left_width_ltr_source, X, CSS_PROPERTY_DIRECTIONAL_SOURCE, Margin, mBorderLeftWidthLTRSource, eCSSType_Value, kBoxPropSourceKTable)
328 CSS_PROP_BORDER(border-left-width-rtl-source, border_left_width_rtl_source, X, CSS_PROPERTY_DIRECTIONAL_SOURCE, Margin, mBorderLeftWidthRTLSource, eCSSType_Value, kBoxPropSourceKTable)
329 #endif
330 CSS_PROP_SHORTHAND(border-right, border_right, BorderRight, 0)
331 CSS_PROP_SHORTHAND(border-right-color, border_right_color, BorderRightColor, 0)
332 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
333 CSS_PROP_BORDER(border-right-color-value, border_right_color_value, X, 0, Margin, mBorderColor.mRight, eCSSType_Value, kBorderColorKTable)
334 CSS_PROP_BORDER(border-right-color-ltr-source, border_right_color_ltr_source, X, CSS_PROPERTY_DIRECTIONAL_SOURCE, Margin, mBorderRightColorLTRSource, eCSSType_Value, kBoxPropSourceKTable)
335 CSS_PROP_BORDER(border-right-color-rtl-source, border_right_color_rtl_source, X, CSS_PROPERTY_DIRECTIONAL_SOURCE, Margin, mBorderRightColorRTLSource, eCSSType_Value, kBoxPropSourceKTable)
336 #endif
337 CSS_PROP_BORDER(-moz-border-right-colors, border_right_colors, MozBorderRightColors, 0, Margin, mBorderColors.mRight, eCSSType_ValueList, nsnull)
338 CSS_PROP_SHORTHAND(border-right-style, border_right_style, BorderRightStyle, 0) // on/off will need reflow
339 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
340 CSS_PROP_BORDER(border-right-style-value, border_right_style_value, X, 0, Margin, mBorderStyle.mRight, eCSSType_Value, kBorderStyleKTable)
341 CSS_PROP_BORDER(border-right-style-ltr-source, border_right_style_ltr_source, X, CSS_PROPERTY_DIRECTIONAL_SOURCE, Margin, mBorderRightStyleLTRSource, eCSSType_Value, kBoxPropSourceKTable)
342 CSS_PROP_BORDER(border-right-style-rtl-source, border_right_style_rtl_source, X, CSS_PROPERTY_DIRECTIONAL_SOURCE, Margin, mBorderRightStyleRTLSource, eCSSType_Value, kBoxPropSourceKTable)
343 #endif
344 CSS_PROP_SHORTHAND(border-right-width, border_right_width, BorderRightWidth, 0)
345 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
346 CSS_PROP_BORDER(border-right-width-value, border_right_width_value, X, 0, Margin, mBorderWidth.mRight, eCSSType_Value, kBorderWidthKTable)
347 CSS_PROP_BORDER(border-right-width-ltr-source, border_right_width_ltr_source, X, CSS_PROPERTY_DIRECTIONAL_SOURCE, Margin, mBorderRightWidthLTRSource, eCSSType_Value, kBoxPropSourceKTable)
348 CSS_PROP_BORDER(border-right-width-rtl-source, border_right_width_rtl_source, X, CSS_PROPERTY_DIRECTIONAL_SOURCE, Margin, mBorderRightWidthRTLSource, eCSSType_Value, kBoxPropSourceKTable)
349 #endif
350 CSS_PROP_TABLEBORDER(border-spacing, border_spacing, BorderSpacing, 0, Table, mBorderSpacing, eCSSType_ValuePair, nsnull) // XXX bug 3935
351 CSS_PROP_SHORTHAND(-moz-border-start, border_start, MozBorderStart, 0)
352 CSS_PROP_SHORTHAND(-moz-border-start-color, border_start_color, MozBorderStartColor, 0)
353 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
354 CSS_PROP_BORDER(border-start-color-value, border_start_color_value, X, 0, Margin, mBorderStartColor, eCSSType_Value, kBorderColorKTable)
355 #endif
356 CSS_PROP_SHORTHAND(-moz-border-start-style, border_start_style, MozBorderStartStyle, 0)
357 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
358 CSS_PROP_BORDER(border-start-style-value, border_start_style_value, X, 0, Margin, mBorderStartStyle, eCSSType_Value, kBorderStyleKTable)
359 #endif
360 CSS_PROP_SHORTHAND(-moz-border-start-width, border_start_width, MozBorderStartWidth, 0)
361 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
362 CSS_PROP_BORDER(border-start-width-value, border_start_width_value, X, 0, Margin, mBorderStartWidth, eCSSType_Value, kBorderWidthKTable)
363 #endif
364 CSS_PROP_SHORTHAND(border-style, border_style, BorderStyle, 0) // on/off will need reflow
365 CSS_PROP_SHORTHAND(border-top, border_top, BorderTop, 0)
366 CSS_PROP_BORDER(border-top-color, border_top_color, BorderTopColor, 0, Margin, mBorderColor.mTop, eCSSType_Value, kBorderColorKTable)
367 CSS_PROP_BORDER(-moz-border-top-colors, border_top_colors, MozBorderTopColors, 0, Margin, mBorderColors.mTop, eCSSType_ValueList, nsnull)
368 CSS_PROP_BORDER(border-top-style, border_top_style, BorderTopStyle, 0, Margin, mBorderStyle.mTop, eCSSType_Value, kBorderStyleKTable) // on/off will need reflow
369 CSS_PROP_BORDER(border-top-width, border_top_width, BorderTopWidth, 0, Margin, mBorderWidth.mTop, eCSSType_Value, kBorderWidthKTable)
370 CSS_PROP_SHORTHAND(border-width, border_width, BorderWidth, 0)
371 CSS_PROP_POSITION(bottom, bottom, Bottom, 0, Position, mOffset.mBottom, eCSSType_Value, nsnull)
372 CSS_PROP_BORDER(-moz-box-shadow, box_shadow, MozBoxShadow, CSS_PROPERTY_VALUE_LIST_USES_COMMAS, Margin, mBoxShadow, eCSSType_ValueList, nsnull)
373 CSS_PROP_POSITION(-moz-box-sizing, box_sizing, MozBoxSizing, 0, Position, mBoxSizing, eCSSType_Value, kBoxSizingKTable) // XXX bug 3935
374 CSS_PROP_TABLEBORDER(caption-side, caption_side, CaptionSide, 0, Table, mCaptionSide, eCSSType_Value, kCaptionSideKTable)
375 CSS_PROP_DISPLAY(clear, clear, Clear, 0, Display, mClear, eCSSType_Value, kClearKTable)
376 CSS_PROP_DISPLAY(clip, clip, Clip, 0, Display, mClip, eCSSType_Rect, nsnull)
377 CSS_PROP_COLOR(color, color, Color, 0, Color, mColor, eCSSType_Value, nsnull)
378 CSS_PROP_COLUMN(-moz-column-count, _moz_column_count, MozColumnCount, 0, Column, mColumnCount, eCSSType_Value, nsnull)
379 CSS_PROP_COLUMN(-moz-column-width, _moz_column_width, MozColumnWidth, 0, Column, mColumnWidth, eCSSType_Value, nsnull)
380 CSS_PROP_COLUMN(-moz-column-gap, _moz_column_gap, MozColumnGap, 0, Column, mColumnGap, eCSSType_Value, nsnull)
381 CSS_PROP_SHORTHAND(-moz-column-rule, _moz_column_rule, MozColumnRule, 0)
382 CSS_PROP_COLUMN(-moz-column-rule-color, _moz_column_rule_color, MozColumnRuleColor, 0, Column, mColumnRuleColor, eCSSType_Value, nsnull)
383 CSS_PROP_COLUMN(-moz-column-rule-style, _moz_column_rule_style, MozColumnRuleStyle, 0, Column, mColumnRuleStyle, eCSSType_Value, kBorderStyleKTable)
384 CSS_PROP_COLUMN(-moz-column-rule-width, _moz_column_rule_width, MozColumnRuleWidth, 0, Column, mColumnRuleWidth, eCSSType_Value, kBorderWidthKTable)
385 CSS_PROP_CONTENT(content, content, Content, 0, Content, mContent, eCSSType_ValueList, kContentKTable)
386 CSS_PROP_CONTENT(counter-increment, counter_increment, CounterIncrement, 0, Content, mCounterIncrement, eCSSType_ValuePairList, nsnull) // XXX bug 137285
387 CSS_PROP_CONTENT(counter-reset, counter_reset, CounterReset, 0, Content, mCounterReset, eCSSType_ValuePairList, nsnull) // XXX bug 137285
388 CSS_PROP_SHORTHAND(cue, cue, Cue, 0)
389 CSS_PROP_BACKENDONLY(cue-after, cue_after, CueAfter, 0, Aural, mCueAfter, eCSSType_Value, nsnull)
390 CSS_PROP_BACKENDONLY(cue-before, cue_before, CueBefore, 0, Aural, mCueBefore, eCSSType_Value, nsnull)
391 CSS_PROP_USERINTERFACE(cursor, cursor, Cursor, CSS_PROPERTY_VALUE_LIST_USES_COMMAS, UserInterface, mCursor, eCSSType_ValueList, kCursorKTable)
392 CSS_PROP_VISIBILITY(direction, direction, Direction, 0, Display, mDirection, eCSSType_Value, kDirectionKTable)
393 CSS_PROP_DISPLAY(display, display, Display, 0, Display, mDisplay, eCSSType_Value, kDisplayKTable)
394 CSS_PROP_BACKENDONLY(elevation, elevation, Elevation, 0, Aural, mElevation, eCSSType_Value, kElevationKTable)
395 CSS_PROP_TABLEBORDER(empty-cells, empty_cells, EmptyCells, 0, Table, mEmptyCells, eCSSType_Value, kEmptyCellsKTable)
396 CSS_PROP_DISPLAY(float, float, CssFloat, 0, Display, mFloat, eCSSType_Value, kFloatKTable)
397 CSS_PROP_BORDER(-moz-float-edge, float_edge, MozFloatEdge, 0, Margin, mFloatEdge, eCSSType_Value, kFloatEdgeKTable) // XXX bug 3935
398 CSS_PROP_SHORTHAND(font, font, Font, 0)
399 CSS_PROP_FONT(font-family, font_family, FontFamily, 0, Font, mFamily, eCSSType_Value, nsnull)
400 CSS_PROP_FONT(font-size, font_size, FontSize, 0, Font, mSize, eCSSType_Value, kFontSizeKTable)
401 CSS_PROP_FONT(font-size-adjust, font_size_adjust, FontSizeAdjust, 0, Font, mSizeAdjust, eCSSType_Value, nsnull)
402 CSS_PROP_BACKENDONLY(font-stretch, font_stretch, FontStretch, 0, Font, mStretch, eCSSType_Value, kFontStretchKTable)
403 CSS_PROP_FONT(font-style, font_style, FontStyle, 0, Font, mStyle, eCSSType_Value, kFontStyleKTable)
404 CSS_PROP_FONT(font-variant, font_variant, FontVariant, 0, Font, mVariant, eCSSType_Value, kFontVariantKTable)
405 CSS_PROP_FONT(font-weight, font_weight, FontWeight, 0, Font, mWeight, eCSSType_Value, kFontWeightKTable)
406 CSS_PROP_UIRESET(-moz-force-broken-image-icon, force_broken_image_icon, MozForceBrokenImageIcon, 0, UserInterface, mForceBrokenImageIcon, eCSSType_Value, nsnull) // bug 58646
407 CSS_PROP_POSITION(height, height, Height, 0, Position, mHeight, eCSSType_Value, nsnull)
408 CSS_PROP_LIST(-moz-image-region, image_region, MozImageRegion, 0, List, mImageRegion, eCSSType_Rect, nsnull)
409 CSS_PROP_UIRESET(ime-mode, ime_mode, ImeMode, 0, UserInterface, mIMEMode, eCSSType_Value, kIMEModeKTable)
410 CSS_PROP_POSITION(left, left, Left, 0, Position, mOffset.mLeft, eCSSType_Value, nsnull)
411 CSS_PROP_TEXT(letter-spacing, letter_spacing, LetterSpacing, 0, Text, mLetterSpacing, eCSSType_Value, nsnull)
412 CSS_PROP_TEXT(line-height, line_height, LineHeight, 0, Text, mLineHeight, eCSSType_Value, nsnull)
413 CSS_PROP_SHORTHAND(list-style, list_style, ListStyle, 0)
414 CSS_PROP_LIST(list-style-image, list_style_image, ListStyleImage, 0, List, mImage, eCSSType_Value, nsnull)
415 CSS_PROP_LIST(list-style-position, list_style_position, ListStylePosition, 0, List, mPosition, eCSSType_Value, kListStylePositionKTable)
416 CSS_PROP_LIST(list-style-type, list_style_type, ListStyleType, 0, List, mType, eCSSType_Value, kListStyleKTable)
417 CSS_PROP_SHORTHAND(margin, margin, Margin, 0)
418 CSS_PROP_MARGIN(margin-bottom, margin_bottom, MarginBottom, 0, Margin, mMargin.mBottom, eCSSType_Value, nsnull)
419 CSS_PROP_SHORTHAND(-moz-margin-end, margin_end, MozMarginEnd, 0)
420 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
421 CSS_PROP_MARGIN(margin-end-value, margin_end_value, X, 0, Margin, mMarginEnd, eCSSType_Value, nsnull)
422 #endif
423 CSS_PROP_SHORTHAND(margin-left, margin_left, MarginLeft, 0)
424 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
425 CSS_PROP_MARGIN(margin-left-value, margin_left_value, X, 0, Margin, mMargin.mLeft, eCSSType_Value, nsnull)
426 CSS_PROP_MARGIN(margin-left-ltr-source, margin_left_ltr_source, X, CSS_PROPERTY_DIRECTIONAL_SOURCE, Margin, mMarginLeftLTRSource, eCSSType_Value, kBoxPropSourceKTable)
427 CSS_PROP_MARGIN(margin-left-rtl-source, margin_left_rtl_source, X, CSS_PROPERTY_DIRECTIONAL_SOURCE, Margin, mMarginLeftRTLSource, eCSSType_Value, kBoxPropSourceKTable)
428 #endif
429 CSS_PROP_SHORTHAND(margin-right, margin_right, MarginRight, 0)
430 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
431 CSS_PROP_MARGIN(margin-right-value, margin_right_value, X, 0, Margin, mMargin.mRight, eCSSType_Value, nsnull)
432 CSS_PROP_MARGIN(margin-right-ltr-source, margin_right_ltr_source, X, CSS_PROPERTY_DIRECTIONAL_SOURCE, Margin, mMarginRightLTRSource, eCSSType_Value, kBoxPropSourceKTable)
433 CSS_PROP_MARGIN(margin-right-rtl-source, margin_right_rtl_source, X, CSS_PROPERTY_DIRECTIONAL_SOURCE, Margin, mMarginRightRTLSource, eCSSType_Value, kBoxPropSourceKTable)
434 #endif
435 CSS_PROP_SHORTHAND(-moz-margin-start, margin_start, MozMarginStart, 0)
436 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
437 CSS_PROP_MARGIN(margin-start-value, margin_start_value, X, 0, Margin, mMarginStart, eCSSType_Value, nsnull)
438 #endif
439 CSS_PROP_MARGIN(margin-top, margin_top, MarginTop, 0, Margin, mMargin.mTop, eCSSType_Value, nsnull)
440 CSS_PROP_CONTENT(marker-offset, marker_offset, MarkerOffset, 0, Content, mMarkerOffset, eCSSType_Value, nsnull)
441 CSS_PROP_BACKENDONLY(marks, marks, Marks, 0, Page, mMarks, eCSSType_Value, kPageMarksKTable)
442 CSS_PROP_POSITION(max-height, max_height, MaxHeight, 0, Position, mMaxHeight, eCSSType_Value, nsnull)
443 CSS_PROP_POSITION(max-width, max_width, MaxWidth, 0, Position, mMaxWidth, eCSSType_Value, kWidthKTable)
444 CSS_PROP_POSITION(min-height, min_height, MinHeight, 0, Position, mMinHeight, eCSSType_Value, nsnull)
445 CSS_PROP_POSITION(min-width, min_width, MinWidth, 0, Position, mMinWidth, eCSSType_Value, kWidthKTable)
446 CSS_PROP_DISPLAY(opacity, opacity, Opacity, 0, Display, mOpacity, eCSSType_Value, nsnull) // XXX bug 3935
447 CSS_PROP_BACKENDONLY(orphans, orphans, Orphans, 0, Breaks, mOrphans, eCSSType_Value, nsnull)
448 CSS_PROP_SHORTHAND(outline, outline, Outline, 0)
449 CSS_PROP_OUTLINE(outline-color, outline_color, OutlineColor, 0, Margin, mOutlineColor, eCSSType_Value, kOutlineColorKTable)
450 CSS_PROP_OUTLINE(outline-style, outline_style, OutlineStyle, 0, Margin, mOutlineStyle, eCSSType_Value, kBorderStyleKTable)
451 CSS_PROP_OUTLINE(outline-width, outline_width, OutlineWidth, 0, Margin, mOutlineWidth, eCSSType_Value, kBorderWidthKTable)
452 CSS_PROP_OUTLINE(outline-offset, outline_offset, OutlineOffset, 0, Margin, mOutlineOffset, eCSSType_Value, nsnull)
453 CSS_PROP_SHORTHAND(overflow, overflow, Overflow, 0)
454 CSS_PROP_DISPLAY(overflow-x, overflow_x, OverflowX, 0, Display, mOverflowX, eCSSType_Value, kOverflowSubKTable)
455 CSS_PROP_DISPLAY(overflow-y, overflow_y, OverflowY, 0, Display, mOverflowY, eCSSType_Value, kOverflowSubKTable)
456 CSS_PROP_SHORTHAND(padding, padding, Padding, 0)
457 CSS_PROP_PADDING(padding-bottom, padding_bottom, PaddingBottom, 0, Margin, mPadding.mBottom, eCSSType_Value, nsnull)
458 CSS_PROP_SHORTHAND(-moz-padding-end, padding_end, MozPaddingEnd, 0)
459 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
460 CSS_PROP_PADDING(padding-end-value, padding_end_value, X, 0, Margin, mPaddingEnd, eCSSType_Value, nsnull)
461 #endif
462 CSS_PROP_SHORTHAND(padding-left, padding_left, PaddingLeft, 0)
463 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
464 CSS_PROP_PADDING(padding-left-value, padding_left_value, X, 0, Margin, mPadding.mLeft, eCSSType_Value, nsnull)
465 CSS_PROP_PADDING(padding-left-ltr-source, padding_left_ltr_source, X, CSS_PROPERTY_DIRECTIONAL_SOURCE, Margin, mPaddingLeftLTRSource, eCSSType_Value, kBoxPropSourceKTable)
466 CSS_PROP_PADDING(padding-left-rtl-source, padding_left_rtl_source, X, CSS_PROPERTY_DIRECTIONAL_SOURCE, Margin, mPaddingLeftRTLSource, eCSSType_Value, kBoxPropSourceKTable)
467 #endif
468 CSS_PROP_SHORTHAND(padding-right, padding_right, PaddingRight, 0)
469 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
470 CSS_PROP_PADDING(padding-right-value, padding_right_value, X, 0, Margin, mPadding.mRight, eCSSType_Value, nsnull)
471 CSS_PROP_PADDING(padding-right-ltr-source, padding_right_ltr_source, X, CSS_PROPERTY_DIRECTIONAL_SOURCE, Margin, mPaddingRightLTRSource, eCSSType_Value, kBoxPropSourceKTable)
472 CSS_PROP_PADDING(padding-right-rtl-source, padding_right_rtl_source, X, CSS_PROPERTY_DIRECTIONAL_SOURCE, Margin, mPaddingRightRTLSource, eCSSType_Value, kBoxPropSourceKTable)
473 #endif
474 CSS_PROP_SHORTHAND(-moz-padding-start, padding_start, MozPaddingStart, 0)
475 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
476 CSS_PROP_PADDING(padding-start-value, padding_start_value, X, 0, Margin, mPaddingStart, eCSSType_Value, nsnull)
477 #endif
478 CSS_PROP_PADDING(padding-top, padding_top, PaddingTop, 0, Margin, mPadding.mTop, eCSSType_Value, nsnull)
479 CSS_PROP_BACKENDONLY(page, page, Page, 0, Breaks, mPage, eCSSType_Value, nsnull)
480 CSS_PROP_DISPLAY(page-break-after, page_break_after, PageBreakAfter, 0, Display, mBreakAfter, eCSSType_Value, kPageBreakKTable) // temp fix for bug 24000
481 CSS_PROP_DISPLAY(page-break-before, page_break_before, PageBreakBefore, 0, Display, mBreakBefore, eCSSType_Value, kPageBreakKTable) // temp fix for bug 24000
482 CSS_PROP_BACKENDONLY(page-break-inside, page_break_inside, PageBreakInside, 0, Breaks, mPageBreakInside, eCSSType_Value, kPageBreakInsideKTable)
483 CSS_PROP_SHORTHAND(pause, pause, Pause, 0)
484 CSS_PROP_BACKENDONLY(pause-after, pause_after, PauseAfter, 0, Aural, mPauseAfter, eCSSType_Value, nsnull)
485 CSS_PROP_BACKENDONLY(pause-before, pause_before, PauseBefore, 0, Aural, mPauseBefore, eCSSType_Value, nsnull)
486 CSS_PROP_BACKENDONLY(pitch, pitch, Pitch, 0, Aural, mPitch, eCSSType_Value, kPitchKTable)
487 CSS_PROP_BACKENDONLY(pitch-range, pitch_range, PitchRange, 0, Aural, mPitchRange, eCSSType_Value, nsnull)
488 CSS_PROP_DISPLAY(position, position, Position, 0, Display, mPosition, eCSSType_Value, kPositionKTable)
489 CSS_PROP_QUOTES(quotes, quotes, Quotes, 0, Content, mQuotes, eCSSType_ValuePairList, nsnull)
490 CSS_PROP_BACKENDONLY(richness, richness, Richness, 0, Aural, mRichness, eCSSType_Value, nsnull)
491 CSS_PROP_POSITION(right, right, Right, 0, Position, mOffset.mRight, eCSSType_Value, nsnull)
492 CSS_PROP_BACKENDONLY(size, size, Size, 0, Page, mSize, eCSSType_ValuePair, kPageSizeKTable)
493 CSS_PROP_BACKENDONLY(speak, speak, Speak, 0, Aural, mSpeak, eCSSType_Value, kSpeakKTable)
494 CSS_PROP_BACKENDONLY(speak-header, speak_header, SpeakHeader, 0, Aural, mSpeakHeader, eCSSType_Value, kSpeakHeaderKTable)
495 CSS_PROP_BACKENDONLY(speak-numeral, speak_numeral, SpeakNumeral, 0, Aural, mSpeakNumeral, eCSSType_Value, kSpeakNumeralKTable)
496 CSS_PROP_BACKENDONLY(speak-punctuation, speak_punctuation, SpeakPunctuation, 0, Aural, mSpeakPunctuation, eCSSType_Value, kSpeakPunctuationKTable)
497 CSS_PROP_BACKENDONLY(speech-rate, speech_rate, SpeechRate, 0, Aural, mSpeechRate, eCSSType_Value, kSpeechRateKTable)
498 CSS_PROP_BACKENDONLY(stress, stress, Stress, 0, Aural, mStress, eCSSType_Value, nsnull)
499 CSS_PROP_TABLE(table-layout, table_layout, TableLayout, 0, Table, mLayout, eCSSType_Value, kTableLayoutKTable)
500 CSS_PROP_TEXT(text-align, text_align, TextAlign, 0, Text, mTextAlign, eCSSType_Value, kTextAlignKTable)
501 CSS_PROP_TEXTRESET(text-decoration, text_decoration, TextDecoration, 0, Text, mDecoration, eCSSType_Value, kTextDecorationKTable)
502 CSS_PROP_TEXT(text-indent, text_indent, TextIndent, 0, Text, mTextIndent, eCSSType_Value, nsnull)
503 CSS_PROP_TEXT(text-shadow, text_shadow, TextShadow, CSS_PROPERTY_VALUE_LIST_USES_COMMAS, Text, mTextShadow, eCSSType_ValueList, nsnull)
504 CSS_PROP_TEXT(text-transform, text_transform, TextTransform, 0, Text, mTextTransform, eCSSType_Value, kTextTransformKTable)
505 CSS_PROP_DISPLAY(-moz-transform, _moz_transform, MozTransform, 0, Display, mTransform, eCSSType_ValueList, kDisplayKTable)
506 CSS_PROP_DISPLAY(-moz-transform-origin, _moz_transform_origin, MozTransformOrigin, 0, Display, mTransformOrigin, eCSSType_ValuePair, kBackgroundPositionKTable)
507 CSS_PROP_POSITION(top, top, Top, 0, Position, mOffset.mTop, eCSSType_Value, nsnull)
508 CSS_PROP_TEXTRESET(unicode-bidi, unicode_bidi, UnicodeBidi, 0, Text, mUnicodeBidi, eCSSType_Value, kUnicodeBidiKTable)
509 CSS_PROP_USERINTERFACE(-moz-user-focus, user_focus, MozUserFocus, 0, UserInterface, mUserFocus, eCSSType_Value, kUserFocusKTable) // XXX bug 3935
510 CSS_PROP_USERINTERFACE(-moz-user-input, user_input, MozUserInput, 0, UserInterface, mUserInput, eCSSType_Value, kUserInputKTable) // XXX ??? // XXX bug 3935
511 CSS_PROP_USERINTERFACE(-moz-user-modify, user_modify, MozUserModify, 0, UserInterface, mUserModify, eCSSType_Value, kUserModifyKTable) // XXX bug 3935
512 CSS_PROP_UIRESET(-moz-user-select, user_select, MozUserSelect, 0, UserInterface, mUserSelect, eCSSType_Value, kUserSelectKTable) // XXX bug 3935
513 CSS_PROP_TEXTRESET(vertical-align, vertical_align, VerticalAlign, 0, Text, mVerticalAlign, eCSSType_Value, kVerticalAlignKTable)
514 CSS_PROP_VISIBILITY(visibility, visibility, Visibility, 0, Display, mVisibility, eCSSType_Value, kVisibilityKTable) // reflow for collapse
515 CSS_PROP_BACKENDONLY(voice-family, voice_family, VoiceFamily, 0, Aural, mVoiceFamily, eCSSType_Value, nsnull)
516 CSS_PROP_BACKENDONLY(volume, volume, Volume, 0, Aural, mVolume, eCSSType_Value, kVolumeKTable)
517 CSS_PROP_TEXT(white-space, white_space, WhiteSpace, 0, Text, mWhiteSpace, eCSSType_Value, kWhitespaceKTable)
518 CSS_PROP_BACKENDONLY(widows, widows, Widows, 0, Breaks, mWidows, eCSSType_Value, nsnull)
519 CSS_PROP_POSITION(width, width, Width, 0, Position, mWidth, eCSSType_Value, kWidthKTable)
520 CSS_PROP_UIRESET(-moz-window-shadow, _moz_window_shadow, MozWindowShadow, 0, UserInterface, mWindowShadow, eCSSType_Value, kWindowShadowKTable)
521 CSS_PROP_TEXT(word-spacing, word_spacing, WordSpacing, 0, Text, mWordSpacing, eCSSType_Value, nsnull)
522 CSS_PROP_TEXT(word-wrap, word_wrap, WordWrap, 0, Text, mWordWrap, eCSSType_Value, kWordwrapKTable)
523 CSS_PROP_POSITION(z-index, z_index, ZIndex, 0, Position, mZIndex, eCSSType_Value, nsnull)
525 CSS_PROP_XUL(-moz-box-align, box_align, MozBoxAlign, 0, XUL, mBoxAlign, eCSSType_Value, kBoxAlignKTable) // XXX bug 3935
526 CSS_PROP_XUL(-moz-box-direction, box_direction, MozBoxDirection, 0, XUL, mBoxDirection, eCSSType_Value, kBoxDirectionKTable) // XXX bug 3935
527 CSS_PROP_XUL(-moz-box-flex, box_flex, MozBoxFlex, 0, XUL, mBoxFlex, eCSSType_Value, nsnull) // XXX bug 3935
528 CSS_PROP_XUL(-moz-box-orient, box_orient, MozBoxOrient, 0, XUL, mBoxOrient, eCSSType_Value, kBoxOrientKTable) // XXX bug 3935
529 CSS_PROP_XUL(-moz-box-pack, box_pack, MozBoxPack, 0, XUL, mBoxPack, eCSSType_Value, kBoxPackKTable) // XXX bug 3935
530 CSS_PROP_XUL(-moz-box-ordinal-group, box_ordinal_group, MozBoxOrdinalGroup, 0, XUL, mBoxOrdinal, eCSSType_Value, nsnull)
531 CSS_PROP_XUL(-moz-stack-sizing, stack_sizing, MozStackSizing, 0, XUL, mStackSizing, eCSSType_Value, kStackSizingKTable)
533 #ifdef MOZ_MATHML
534 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
535 CSS_PROP_FONT(-moz-script-level, script_level, ScriptLevel, 0, Font, mScriptLevel, eCSSType_Value, nsnull)
536 CSS_PROP_FONT(-moz-script-size-multiplier, script_size_multiplier, ScriptSizeMultiplier, 0, Font, mScriptSizeMultiplier, eCSSType_Value, nsnull)
537 CSS_PROP_FONT(-moz-script-min-size, script_min_size, ScriptMinSize, 0, Font, mScriptMinSize, eCSSType_Value, nsnull)
538 #endif
539 #endif
541 #ifdef MOZ_SVG
542 // XXX treat SVG's CSS Properties as internal for now.
543 // Do we want to create an nsIDOMSVGCSS2Properties interface?
544 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
545 CSS_PROP_SVGRESET(clip-path, clip_path, ClipPath, 0, SVG, mClipPath, eCSSType_Value, nsnull)
546 CSS_PROP_SVG(clip-rule, clip_rule, ClipRule, 0, SVG, mClipRule, eCSSType_Value, kFillRuleKTable)
547 CSS_PROP_SVG(color-interpolation, color_interpolation, ColorInterpolation, 0, SVG, mColorInterpolation, eCSSType_Value, kColorInterpolationKTable)
548 CSS_PROP_SVG(color-interpolation-filters, color_interpolation_filters, ColorInterpolationFilters, 0, SVG, mColorInterpolationFilters, eCSSType_Value, kColorInterpolationKTable)
549 CSS_PROP_SVGRESET(dominant-baseline, dominant_baseline, DominantBaseline, 0, SVG, mDominantBaseline, eCSSType_Value, kDominantBaselineKTable)
550 CSS_PROP_SVG(fill, fill, Fill, 0, SVG, mFill, eCSSType_ValuePair, nsnull)
551 CSS_PROP_SVG(fill-opacity, fill_opacity, FillOpacity, 0, SVG, mFillOpacity, eCSSType_Value, nsnull)
552 CSS_PROP_SVG(fill-rule, fill_rule, FillRule, 0, SVG, mFillRule, eCSSType_Value, kFillRuleKTable)
553 CSS_PROP_SVGRESET(filter, filter, Filter, 0, SVG, mFilter, eCSSType_Value, nsnull)
554 CSS_PROP_SVGRESET(flood-color, flood_color, FloodColor, 0, SVG, mFloodColor, eCSSType_Value, nsnull)
555 CSS_PROP_SVGRESET(flood-opacity, flood_opacity, FloodOpacity, 0, SVG, mFloodOpacity, eCSSType_Value, nsnull)
556 CSS_PROP_SVGRESET(lighting-color, lighting_color, LightingColor, 0, SVG, mLightingColor, eCSSType_Value, nsnull)
557 CSS_PROP_SHORTHAND(marker, marker, Marker, 0)
558 CSS_PROP_SVG(marker-end, marker_end, MarkerEnd, 0, SVG, mMarkerEnd, eCSSType_Value, nsnull)
559 CSS_PROP_SVG(marker-mid, marker_mid, MarkerMid, 0, SVG, mMarkerMid, eCSSType_Value, nsnull)
560 CSS_PROP_SVG(marker-start, marker_start, MarkerStart, 0, SVG, mMarkerStart, eCSSType_Value, nsnull)
561 CSS_PROP_SVGRESET(mask, mask, Mask, 0, SVG, mMask, eCSSType_Value, nsnull)
562 CSS_PROP_SVG(pointer-events, pointer_events, PointerEvents, 0, SVG, mPointerEvents, eCSSType_Value, kPointerEventsKTable)
563 CSS_PROP_SVG(shape-rendering, shape_rendering, ShapeRendering, 0, SVG, mShapeRendering, eCSSType_Value, kShapeRenderingKTable)
564 CSS_PROP_SVGRESET(stop-color, stop_color, StopColor, 0, SVG, mStopColor, eCSSType_Value, nsnull)
565 CSS_PROP_SVGRESET(stop-opacity, stop_opacity, StopOpacity, 0, SVG, mStopOpacity, eCSSType_Value, nsnull)
566 CSS_PROP_SVG(stroke, stroke, Stroke, 0, SVG, mStroke, eCSSType_ValuePair, nsnull)
567 CSS_PROP_SVG(stroke-dasharray, stroke_dasharray, StrokeDasharray, CSS_PROPERTY_VALUE_LIST_USES_COMMAS, SVG, mStrokeDasharray, eCSSType_ValueList, nsnull)
568 CSS_PROP_SVG(stroke-dashoffset, stroke_dashoffset, StrokeDashoffset, 0, SVG, mStrokeDashoffset, eCSSType_Value, nsnull)
569 CSS_PROP_SVG(stroke-linecap, stroke_linecap, StrokeLinecap, 0, SVG, mStrokeLinecap, eCSSType_Value, kStrokeLinecapKTable)
570 CSS_PROP_SVG(stroke-linejoin, stroke_linejoin, StrokeLinejoin, 0, SVG, mStrokeLinejoin, eCSSType_Value, kStrokeLinejoinKTable)
571 CSS_PROP_SVG(stroke-miterlimit, stroke_miterlimit, StrokeMiterlimit, 0, SVG, mStrokeMiterlimit, eCSSType_Value, nsnull)
572 CSS_PROP_SVG(stroke-opacity, stroke_opacity, StrokeOpacity, 0, SVG, mStrokeOpacity, eCSSType_Value, nsnull)
573 CSS_PROP_SVG(stroke-width, stroke_width, StrokeWidth, 0, SVG, mStrokeWidth, eCSSType_Value, nsnull)
574 CSS_PROP_SVG(text-anchor, text_anchor, TextAnchor, 0, SVG, mTextAnchor, eCSSType_Value, kTextAnchorKTable)
575 CSS_PROP_SVG(text-rendering, text_rendering, TextRendering, 0, SVG, mTextRendering, eCSSType_Value, kTextRenderingKTable)
576 #endif /* !defined (CSS_PROP_LIST_EXCLUDE_INTERNAL) */
577 #endif
579 // Callers that want information on the properties that are in
580 // the style structs but not in the nsCSS* structs should define
581 // |CSS_PROP_INCLUDE_NOT_CSS|. (Some of these are also in nsRuleData*,
582 // and a distinction might be needed at some point.)
583 // The first 3 parameters don't matter, but some compilers don't like
584 // empty arguments to macros.
585 #ifdef CSS_PROP_INCLUDE_NOT_CSS
586 CSS_PROP_VISIBILITY(X, X, X, 0, Display, mLang, eCSSType_Value, nsnull)
587 CSS_PROP_TABLE(X, X, X, 0, Table, mFrame, eCSSType_Value, nsnull)
588 CSS_PROP_TABLE(X, X, X, 0, Table, mRules, eCSSType_Value, nsnull)
589 CSS_PROP_TABLE(X, X, X, 0, Table, mCols, eCSSType_Value, nsnull)
590 CSS_PROP_TABLE(X, X, X, 0, Table, mSpan, eCSSType_Value, nsnull)
591 #endif /* defined(CSS_PROP_INCLUDE_NOT_CSS) */
593 #ifdef USED_CSS_PROP
595 #undef USED_CSS_PROP
596 #undef CSS_PROP_FONT
597 #undef CSS_PROP_COLOR
598 #undef CSS_PROP_BACKGROUND
599 #undef CSS_PROP_LIST
600 #undef CSS_PROP_POSITION
601 #undef CSS_PROP_TEXT
602 #undef CSS_PROP_TEXTRESET
603 #undef CSS_PROP_DISPLAY
604 #undef CSS_PROP_VISIBILITY
605 #undef CSS_PROP_CONTENT
606 #undef CSS_PROP_QUOTES
607 #undef CSS_PROP_USERINTERFACE
608 #undef CSS_PROP_UIRESET
609 #undef CSS_PROP_TABLE
610 #undef CSS_PROP_TABLEBORDER
611 #undef CSS_PROP_MARGIN
612 #undef CSS_PROP_PADDING
613 #undef CSS_PROP_BORDER
614 #undef CSS_PROP_OUTLINE
615 #undef CSS_PROP_XUL
616 #undef CSS_PROP_COLUMN
617 #undef CSS_PROP_SVG
618 #undef CSS_PROP_SVGRESET
619 #ifdef DEFINED_CSS_PROP_BACKENDONLY
620 #undef CSS_PROP_BACKENDONLY
621 #undef DEFINED_CSS_PROP_BACKENDONLY
622 #endif
624 #else /* !defined(USED_CSS_PROP) */
626 #ifdef DEFINED_CSS_PROP_FONT
627 #undef CSS_PROP_FONT
628 #undef DEFINED_CSS_PROP_FONT
629 #endif
630 #ifdef DEFINED_CSS_PROP_COLOR
631 #undef CSS_PROP_COLOR
632 #undef DEFINED_CSS_PROP_COLOR
633 #endif
634 #ifdef DEFINED_CSS_PROP_BACKGROUND
635 #undef CSS_PROP_BACKGROUND
636 #undef DEFINED_CSS_PROP_BACKGROUND
637 #endif
638 #ifdef DEFINED_CSS_PROP_LIST
639 #undef CSS_PROP_LIST
640 #undef DEFINED_CSS_PROP_LIST
641 #endif
642 #ifdef DEFINED_CSS_PROP_POSITION
643 #undef CSS_PROP_POSITION
644 #undef DEFINED_CSS_PROP_POSITION
645 #endif
646 #ifdef DEFINED_CSS_PROP_TEXT
647 #undef CSS_PROP_TEXT
648 #undef DEFINED_CSS_PROP_TETEXTRESETT
649 #endif
650 #ifdef DEFINED_CSS_PROP_TEXTRESET
651 #undef CSS_PROP_TEXTRESET
652 #undef DEFINED_CSS_PROP_TEDISPLAYTRESET
653 #endif
654 #ifdef DEFINED_CSS_PROP_DISPLAY
655 #undef CSS_PROP_DISPLAY
656 #undef DEFINED_CSS_PROP_DISPLAY
657 #endif
658 #ifdef DEFINED_CSS_PROP_VISIBILITY
659 #undef CSS_PROP_VISIBILITY
660 #undef DEFINED_CSS_PROP_VISIBILITY
661 #endif
662 #ifdef DEFINED_CSS_PROP_CONTENT
663 #undef CSS_PROP_CONTENT
664 #undef DEFINED_CSS_PROP_CONTENT
665 #endif
666 #ifdef DEFINED_CSS_PROP_QUOTES
667 #undef CSS_PROP_QUOTES
668 #undef DEFINED_CSS_PROP_QUOTES
669 #endif
670 #ifdef DEFINED_CSS_PROP_USERINTERFACE
671 #undef CSS_PROP_USERINTERFACE
672 #undef DEFINED_CSS_PROP_USERINTERFACE
673 #endif
674 #ifdef DEFINED_CSS_PROP_UIRESET
675 #undef CSS_PROP_UIRESET
676 #undef DEFINED_CSS_PROP_UIRESET
677 #endif
678 #ifdef DEFINED_CSS_PROP_TABLE
679 #undef CSS_PROP_TABLE
680 #undef DEFINED_CSS_PROP_TABLE
681 #endif
682 #ifdef DEFINED_CSS_PROP_TABLEBORDER
683 #undef CSS_PROP_TABLEBORDER
684 #undef DEFINED_CSS_PROP_TABLEBORDER
685 #endif
686 #ifdef DEFINED_CSS_PROP_MARGIN
687 #undef CSS_PROP_MARGIN
688 #undef DEFINED_CSS_PROP_MARGIN
689 #endif
690 #ifdef DEFINED_CSS_PROP_PADDING
691 #undef CSS_PROP_PADDING
692 #undef DEFINED_CSS_PROP_PADDING
693 #endif
694 #ifdef DEFINED_CSS_PROP_BORDER
695 #undef CSS_PROP_BORDER
696 #undef DEFINED_CSS_PROP_BORDER
697 #endif
698 #ifdef DEFINED_CSS_PROP_OUTLINE
699 #undef CSS_PROP_OUTLINE
700 #undef DEFINED_CSS_PROP_OUTLINE
701 #endif
702 #ifdef DEFINED_CSS_PROP_XUL
703 #undef CSS_PROP_XUL
704 #undef DEFINED_CSS_PROP_XUL
705 #endif
706 #ifdef DEFINED_CSS_PROP_COLUMN
707 #undef CSS_PROP_COLUMN
708 #undef DEFINED_CSS_PROP_COLUMN
709 #endif
710 #ifdef DEFINED_CSS_PROP_SVG
711 #undef CSS_PROP_SVG
712 #undef DEFINED_CSS_PROP_SVG
713 #endif
714 #ifdef DEFINED_CSS_PROP_SVGRESET
715 #undef CSS_PROP_SVGRESET
716 #undef DEFINED_CSS_PROP_SVGRESET
717 #endif
718 #ifdef DEFINED_CSS_PROP_BACKENDONLY
719 #undef CSS_PROP_BACKENDONLY
720 #undef DEFINED_CSS_PROP_BACKENDONLY
721 #endif
723 #endif /* !defined(USED_CSS_PROP) */
725 #ifdef DEFINED_CSS_PROP_NOTIMPLEMENTED
726 #undef CSS_PROP_NOTIMPLEMENTED
727 #undef DEFINED_CSS_PROP_NOTIMPLEMENTED
728 #endif
730 #ifdef DEFINED_CSS_PROP_SHORTHAND
731 #undef CSS_PROP_SHORTHAND
732 #undef DEFINED_CSS_PROP_SHORTHAND
733 #endif