michael@0: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: /* michael@0: * a list of all CSS properties with considerable data about them, for michael@0: * preprocessing michael@0: */ michael@0: michael@0: /****** michael@0: michael@0: This file contains the list of all parsed CSS properties. It is michael@0: designed to be used as inline input through the magic of C michael@0: preprocessing. All entries must be enclosed in the appropriate michael@0: CSS_PROP_* macro which will have cruel and unusual things done to it. michael@0: It is recommended (but not strictly necessary) to keep all entries in michael@0: alphabetical order. michael@0: michael@0: The arguments to CSS_PROP and CSS_PROP_* are: michael@0: michael@0: -. 'name' entries represent a CSS property name and *must* use only michael@0: lowercase characters. michael@0: michael@0: -. 'id' should be the same as 'name' except that all hyphens ('-') michael@0: in 'name' are converted to underscores ('_') in 'id'. For properties michael@0: on a standards track, any '-moz-' prefix is removed in 'id'. This michael@0: lets us do nice things with the macros without having to copy/convert michael@0: strings at runtime. These are the names used for the enum values of michael@0: the nsCSSProperty enumeration defined in nsCSSProps.h. michael@0: michael@0: -. 'method' is designed to be as input for CSS2Properties and similar michael@0: callers. It must always be the same as 'name' except it must use michael@0: InterCaps and all hyphens ('-') must be removed. Callers using this michael@0: parameter must also define the CSS_PROP_PUBLIC_OR_PRIVATE(publicname_, michael@0: privatename_) macro to yield either publicname_ or privatename_. michael@0: The names differ in that publicname_ has Moz prefixes where they are michael@0: used, and also in CssFloat vs. Float. The caller's choice depends on michael@0: whether the use is for internal use such as eCSSProperty_* or michael@0: nsRuleData::ValueFor* or external use such as exposing DOM properties. michael@0: michael@0: -. 'flags', a bitfield containing CSS_PROPERTY_* flags. michael@0: michael@0: -. 'pref' is the name of a pref that controls whether the property michael@0: is enabled. The property is enabled if 'pref' is an empty string, michael@0: or if the boolean property whose name is 'pref' is set to true. michael@0: michael@0: -. 'parsevariant', to be passed to ParseVariant in the parser. michael@0: michael@0: -. 'kwtable', which is either nullptr or the name of the appropriate michael@0: keyword table member of class nsCSSProps, for use in michael@0: nsCSSProps::LookupPropertyValue. michael@0: michael@0: -. 'stylestruct_' [used only for CSS_PROP, not CSS_PROP_*] gives the michael@0: name of the style struct. Can be used to make nsStyle##stylestruct_ michael@0: and eStyleStruct_##stylestruct_ michael@0: michael@0: -. 'stylestructoffset_' [not used for CSS_PROP_BACKENDONLY] gives the michael@0: result of offsetof(nsStyle*, member). Ignored (and generally michael@0: CSS_PROP_NO_OFFSET, or -1) for properties whose animtype_ is michael@0: eStyleAnimType_None. michael@0: michael@0: -. 'animtype_' [not used for CSS_PROP_BACKENDONLY] gives the michael@0: animation type (see nsStyleAnimType) of this property. michael@0: michael@0: CSS_PROP_SHORTHAND only takes 1-5. michael@0: michael@0: ******/ michael@0: michael@0: michael@0: /*************************************************************************/ michael@0: michael@0: michael@0: // All includers must explicitly define CSS_PROP_SHORTHAND if they michael@0: // want it. michael@0: #ifndef CSS_PROP_SHORTHAND michael@0: #define CSS_PROP_SHORTHAND(name_, id_, method_, flags_, pref_) /* nothing */ michael@0: #define DEFINED_CSS_PROP_SHORTHAND michael@0: #endif michael@0: michael@0: #define CSS_PROP_DOMPROP_PREFIXED(name_) \ michael@0: CSS_PROP_PUBLIC_OR_PRIVATE(Moz ## name_, name_) michael@0: michael@0: #define CSS_PROP_NO_OFFSET (-1) michael@0: michael@0: // Callers may define CSS_PROP_LIST_EXCLUDE_INTERNAL if they want to michael@0: // exclude internal properties that are not represented in the DOM (only michael@0: // the DOM style code defines this). michael@0: michael@0: // Callers may also define CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND michael@0: // to exclude properties that are not considered to be components of the 'all' michael@0: // shorthand property. Currently this excludes 'direction' and 'unicode-bidi', michael@0: // as required by the CSS Cascading and Inheritance specification, and any michael@0: // internal properties that cannot be changed by using CSS syntax. For example, michael@0: // the internal '-moz-system-font' property is not excluded, as it is set by the michael@0: // 'font' shorthand, while '-x-lang' is excluded as there is no way to set this michael@0: // internal property from a style sheet. michael@0: michael@0: // A caller who wants all the properties can define the |CSS_PROP| michael@0: // macro. michael@0: #ifdef CSS_PROP michael@0: michael@0: #define USED_CSS_PROP michael@0: #define CSS_PROP_FONT(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, Font, stylestructoffset_, animtype_) michael@0: #define CSS_PROP_COLOR(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, Color, stylestructoffset_, animtype_) michael@0: #define CSS_PROP_BACKGROUND(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, Background, stylestructoffset_, animtype_) michael@0: #define CSS_PROP_LIST(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, List, stylestructoffset_, animtype_) michael@0: #define CSS_PROP_POSITION(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, Position, stylestructoffset_, animtype_) michael@0: #define CSS_PROP_TEXT(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, Text, stylestructoffset_, animtype_) michael@0: #define CSS_PROP_TEXTRESET(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, TextReset, stylestructoffset_, animtype_) michael@0: #define CSS_PROP_DISPLAY(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, Display, stylestructoffset_, animtype_) michael@0: #define CSS_PROP_VISIBILITY(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, Visibility, stylestructoffset_, animtype_) michael@0: #define CSS_PROP_CONTENT(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, Content, stylestructoffset_, animtype_) michael@0: #define CSS_PROP_QUOTES(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, Quotes, stylestructoffset_, animtype_) michael@0: #define CSS_PROP_USERINTERFACE(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, UserInterface, stylestructoffset_, animtype_) michael@0: #define CSS_PROP_UIRESET(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, UIReset, stylestructoffset_, animtype_) michael@0: #define CSS_PROP_TABLE(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, Table, stylestructoffset_, animtype_) michael@0: #define CSS_PROP_TABLEBORDER(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, TableBorder, stylestructoffset_, animtype_) michael@0: #define CSS_PROP_MARGIN(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, Margin, stylestructoffset_, animtype_) michael@0: #define CSS_PROP_PADDING(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, Padding, stylestructoffset_, animtype_) michael@0: #define CSS_PROP_BORDER(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, Border, stylestructoffset_, animtype_) michael@0: #define CSS_PROP_OUTLINE(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, Outline, stylestructoffset_, animtype_) michael@0: #define CSS_PROP_XUL(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, XUL, stylestructoffset_, animtype_) michael@0: #define CSS_PROP_COLUMN(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, Column, stylestructoffset_, animtype_) michael@0: #define CSS_PROP_SVG(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, SVG, stylestructoffset_, animtype_) michael@0: #define CSS_PROP_SVGRESET(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, SVGReset, stylestructoffset_, animtype_) michael@0: #define CSS_PROP_VARIABLES(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, Variables, stylestructoffset_, animtype_) michael@0: michael@0: // For properties that are stored in the CSS backend but are not michael@0: // computed. An includer may define this in addition to CSS_PROP, but michael@0: // otherwise we treat it as the same. michael@0: #ifndef CSS_PROP_BACKENDONLY michael@0: #define CSS_PROP_BACKENDONLY(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_) CSS_PROP(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, BackendOnly, CSS_PROP_NO_OFFSET, eStyleAnimType_None) michael@0: #define DEFINED_CSS_PROP_BACKENDONLY michael@0: #endif michael@0: michael@0: #else /* !defined(CSS_PROP) */ michael@0: michael@0: // An includer who does not define CSS_PROP can define any or all of the michael@0: // per-struct macros that are equivalent to it, and the rest will be michael@0: // ignored. michael@0: michael@0: #ifndef CSS_PROP_FONT michael@0: #define CSS_PROP_FONT(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */ michael@0: #define DEFINED_CSS_PROP_FONT michael@0: #endif michael@0: #ifndef CSS_PROP_COLOR michael@0: #define CSS_PROP_COLOR(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */ michael@0: #define DEFINED_CSS_PROP_COLOR michael@0: #endif michael@0: #ifndef CSS_PROP_BACKGROUND michael@0: #define CSS_PROP_BACKGROUND(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */ michael@0: #define DEFINED_CSS_PROP_BACKGROUND michael@0: #endif michael@0: #ifndef CSS_PROP_LIST michael@0: #define CSS_PROP_LIST(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */ michael@0: #define DEFINED_CSS_PROP_LIST michael@0: #endif michael@0: #ifndef CSS_PROP_POSITION michael@0: #define CSS_PROP_POSITION(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */ michael@0: #define DEFINED_CSS_PROP_POSITION michael@0: #endif michael@0: #ifndef CSS_PROP_TEXT michael@0: #define CSS_PROP_TEXT(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */ michael@0: #define DEFINED_CSS_PROP_TEXT michael@0: #endif michael@0: #ifndef CSS_PROP_TEXTRESET michael@0: #define CSS_PROP_TEXTRESET(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */ michael@0: #define DEFINED_CSS_PROP_TEXTRESET michael@0: #endif michael@0: #ifndef CSS_PROP_DISPLAY michael@0: #define CSS_PROP_DISPLAY(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */ michael@0: #define DEFINED_CSS_PROP_DISPLAY michael@0: #endif michael@0: #ifndef CSS_PROP_VISIBILITY michael@0: #define CSS_PROP_VISIBILITY(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */ michael@0: #define DEFINED_CSS_PROP_VISIBILITY michael@0: #endif michael@0: #ifndef CSS_PROP_CONTENT michael@0: #define CSS_PROP_CONTENT(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */ michael@0: #define DEFINED_CSS_PROP_CONTENT michael@0: #endif michael@0: #ifndef CSS_PROP_QUOTES michael@0: #define CSS_PROP_QUOTES(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */ michael@0: #define DEFINED_CSS_PROP_QUOTES michael@0: #endif michael@0: #ifndef CSS_PROP_USERINTERFACE michael@0: #define CSS_PROP_USERINTERFACE(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */ michael@0: #define DEFINED_CSS_PROP_USERINTERFACE michael@0: #endif michael@0: #ifndef CSS_PROP_UIRESET michael@0: #define CSS_PROP_UIRESET(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */ michael@0: #define DEFINED_CSS_PROP_UIRESET michael@0: #endif michael@0: #ifndef CSS_PROP_TABLE michael@0: #define CSS_PROP_TABLE(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */ michael@0: #define DEFINED_CSS_PROP_TABLE michael@0: #endif michael@0: #ifndef CSS_PROP_TABLEBORDER michael@0: #define CSS_PROP_TABLEBORDER(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */ michael@0: #define DEFINED_CSS_PROP_TABLEBORDER michael@0: #endif michael@0: #ifndef CSS_PROP_MARGIN michael@0: #define CSS_PROP_MARGIN(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */ michael@0: #define DEFINED_CSS_PROP_MARGIN michael@0: #endif michael@0: #ifndef CSS_PROP_PADDING michael@0: #define CSS_PROP_PADDING(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */ michael@0: #define DEFINED_CSS_PROP_PADDING michael@0: #endif michael@0: #ifndef CSS_PROP_BORDER michael@0: #define CSS_PROP_BORDER(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */ michael@0: #define DEFINED_CSS_PROP_BORDER michael@0: #endif michael@0: #ifndef CSS_PROP_OUTLINE michael@0: #define CSS_PROP_OUTLINE(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */ michael@0: #define DEFINED_CSS_PROP_OUTLINE michael@0: #endif michael@0: #ifndef CSS_PROP_XUL michael@0: #define CSS_PROP_XUL(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */ michael@0: #define DEFINED_CSS_PROP_XUL michael@0: #endif michael@0: #ifndef CSS_PROP_COLUMN michael@0: #define CSS_PROP_COLUMN(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */ michael@0: #define DEFINED_CSS_PROP_COLUMN michael@0: #endif michael@0: #ifndef CSS_PROP_SVG michael@0: #define CSS_PROP_SVG(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */ michael@0: #define DEFINED_CSS_PROP_SVG michael@0: #endif michael@0: #ifndef CSS_PROP_SVGRESET michael@0: #define CSS_PROP_SVGRESET(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */ michael@0: #define DEFINED_CSS_PROP_SVGRESET michael@0: #endif michael@0: #ifndef CSS_PROP_VARIABLES michael@0: #define CSS_PROP_VARIABLES(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */ michael@0: #define DEFINED_CSS_PROP_VARIABLES michael@0: #endif michael@0: michael@0: #ifndef CSS_PROP_BACKENDONLY michael@0: #define CSS_PROP_BACKENDONLY(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_) /* nothing */ michael@0: #define DEFINED_CSS_PROP_BACKENDONLY michael@0: #endif michael@0: michael@0: #endif /* !defined(CSS_PROP) */ michael@0: michael@0: /*************************************************************************/ michael@0: michael@0: // For notes XXX bug 3935 below, the names being parsed do not correspond michael@0: // to the constants used internally. It would be nice to bring the michael@0: // constants into line sometime. michael@0: michael@0: // The parser will refuse to parse properties marked with -x-. michael@0: michael@0: // Those marked XXX bug 48973 are CSS2 properties that we support michael@0: // differently from the spec for UI requirements. If we ever michael@0: // support them correctly the old constants need to be renamed and michael@0: // new ones should be entered. michael@0: michael@0: // CSS2.1 section 5.12.1 says that the properties that apply to michael@0: // :first-line are: font properties, color properties, background michael@0: // properties, 'word-spacing', 'letter-spacing', 'text-decoration', michael@0: // 'vertical-align', 'text-transform', and 'line-height'. michael@0: // michael@0: // We also allow 'text-shadow', which was listed in CSS2 (where the michael@0: // property existed). michael@0: michael@0: // CSS2.1 section 5.12.2 says that the properties that apply to michael@0: // :first-letter are: font properties, 'text-decoration', michael@0: // 'text-transform', 'letter-spacing', 'word-spacing' (when michael@0: // appropriate), 'line-height', 'float', 'vertical-align' (only if michael@0: // 'float' is 'none'), margin properties, padding properties, border michael@0: // properties, 'color', and background properties. We also allow michael@0: // 'text-shadow' (see above) and 'box-shadow' (which is like the michael@0: // border properties). michael@0: michael@0: // We include '-moz-background-inline-policy' (css3-background's michael@0: // 'background-break') in both as a background property, although this michael@0: // is somewhat questionable. michael@0: michael@0: CSS_PROP_DISPLAY( michael@0: -moz-appearance, michael@0: appearance, michael@0: CSS_PROP_DOMPROP_PREFIXED(Appearance), michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kAppearanceKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_SHORTHAND( michael@0: -moz-outline-radius, michael@0: _moz_outline_radius, michael@0: CSS_PROP_DOMPROP_PREFIXED(OutlineRadius), michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") michael@0: CSS_PROP_OUTLINE( michael@0: -moz-outline-radius-topleft, michael@0: _moz_outline_radius_topLeft, michael@0: CSS_PROP_DOMPROP_PREFIXED(OutlineRadiusTopleft), michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE | michael@0: CSS_PROPERTY_STORES_CALC | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "", michael@0: 0, michael@0: nullptr, michael@0: offsetof(nsStyleOutline, mOutlineRadius), michael@0: eStyleAnimType_Corner_TopLeft) michael@0: CSS_PROP_OUTLINE( michael@0: -moz-outline-radius-topright, michael@0: _moz_outline_radius_topRight, michael@0: CSS_PROP_DOMPROP_PREFIXED(OutlineRadiusTopright), michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE | michael@0: CSS_PROPERTY_STORES_CALC | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "", michael@0: 0, michael@0: nullptr, michael@0: offsetof(nsStyleOutline, mOutlineRadius), michael@0: eStyleAnimType_Corner_TopRight) michael@0: CSS_PROP_OUTLINE( michael@0: -moz-outline-radius-bottomright, michael@0: _moz_outline_radius_bottomRight, michael@0: CSS_PROP_DOMPROP_PREFIXED(OutlineRadiusBottomright), michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE | michael@0: CSS_PROPERTY_STORES_CALC | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "", michael@0: 0, michael@0: nullptr, michael@0: offsetof(nsStyleOutline, mOutlineRadius), michael@0: eStyleAnimType_Corner_BottomRight) michael@0: CSS_PROP_OUTLINE( michael@0: -moz-outline-radius-bottomleft, michael@0: _moz_outline_radius_bottomLeft, michael@0: CSS_PROP_DOMPROP_PREFIXED(OutlineRadiusBottomleft), michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE | michael@0: CSS_PROPERTY_STORES_CALC | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "", michael@0: 0, michael@0: nullptr, michael@0: offsetof(nsStyleOutline, mOutlineRadius), michael@0: eStyleAnimType_Corner_BottomLeft) michael@0: CSS_PROP_TEXT( michael@0: -moz-tab-size, michael@0: _moz_tab_size, michael@0: CSS_PROP_DOMPROP_PREFIXED(TabSize), michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE, michael@0: "", michael@0: VARIANT_HI, michael@0: nullptr, michael@0: offsetof(nsStyleText, mTabSize), michael@0: eStyleAnimType_None) michael@0: #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL michael@0: CSS_PROP_FONT( michael@0: -x-system-font, michael@0: _x_system_font, michael@0: CSS_PROP_DOMPROP_PREFIXED(SystemFont), michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER, michael@0: "", michael@0: 0, michael@0: kFontKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: #endif // !defined(CSS_PROP_LIST_EXCLUDE_INTERNAL) michael@0: CSS_PROP_SHORTHAND( michael@0: all, michael@0: all, michael@0: All, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "layout.css.all-shorthand.enabled") michael@0: CSS_PROP_SHORTHAND( michael@0: animation, michael@0: animation, michael@0: Animation, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") michael@0: CSS_PROP_DISPLAY( michael@0: animation-delay, michael@0: animation_delay, michael@0: AnimationDelay, michael@0: CSS_PROPERTY_PARSE_VALUE_LIST | michael@0: CSS_PROPERTY_VALUE_LIST_USES_COMMAS, michael@0: "", michael@0: VARIANT_TIME, // used by list parsing michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_DISPLAY( michael@0: animation-direction, michael@0: animation_direction, michael@0: AnimationDirection, michael@0: CSS_PROPERTY_PARSE_VALUE_LIST | michael@0: CSS_PROPERTY_VALUE_LIST_USES_COMMAS, michael@0: "", michael@0: VARIANT_KEYWORD, // used by list parsing michael@0: kAnimationDirectionKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_DISPLAY( michael@0: animation-duration, michael@0: animation_duration, michael@0: AnimationDuration, michael@0: CSS_PROPERTY_PARSE_VALUE_LIST | michael@0: CSS_PROPERTY_VALUE_LIST_USES_COMMAS, michael@0: "", michael@0: VARIANT_TIME | VARIANT_NONNEGATIVE_DIMENSION, // used by list parsing michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_DISPLAY( michael@0: animation-fill-mode, michael@0: animation_fill_mode, michael@0: AnimationFillMode, michael@0: CSS_PROPERTY_PARSE_VALUE_LIST | michael@0: CSS_PROPERTY_VALUE_LIST_USES_COMMAS, michael@0: "", michael@0: VARIANT_KEYWORD, // used by list parsing michael@0: kAnimationFillModeKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_DISPLAY( michael@0: animation-iteration-count, michael@0: animation_iteration_count, michael@0: AnimationIterationCount, michael@0: CSS_PROPERTY_PARSE_VALUE_LIST | michael@0: // nonnegative per michael@0: // http://lists.w3.org/Archives/Public/www-style/2011Mar/0355.html michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE | michael@0: CSS_PROPERTY_VALUE_LIST_USES_COMMAS, michael@0: "", michael@0: VARIANT_KEYWORD | VARIANT_NUMBER, // used by list parsing michael@0: kAnimationIterationCountKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_DISPLAY( michael@0: animation-name, michael@0: animation_name, michael@0: AnimationName, michael@0: CSS_PROPERTY_PARSE_VALUE_LIST | michael@0: CSS_PROPERTY_VALUE_LIST_USES_COMMAS, michael@0: "", michael@0: // FIXME: The spec should say something about 'inherit' and 'initial' michael@0: // not being allowed. michael@0: VARIANT_NONE | VARIANT_IDENTIFIER_NO_INHERIT, // used by list parsing michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_DISPLAY( michael@0: animation-play-state, michael@0: animation_play_state, michael@0: AnimationPlayState, michael@0: CSS_PROPERTY_PARSE_VALUE_LIST | michael@0: CSS_PROPERTY_VALUE_LIST_USES_COMMAS, michael@0: "", michael@0: VARIANT_KEYWORD, // used by list parsing michael@0: kAnimationPlayStateKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_DISPLAY( michael@0: animation-timing-function, michael@0: animation_timing_function, michael@0: AnimationTimingFunction, michael@0: CSS_PROPERTY_PARSE_VALUE_LIST | michael@0: CSS_PROPERTY_VALUE_LIST_USES_COMMAS, michael@0: "", michael@0: VARIANT_KEYWORD | VARIANT_TIMING_FUNCTION, // used by list parsing michael@0: kTransitionTimingFunctionKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_SHORTHAND( michael@0: background, michael@0: background, michael@0: Background, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") michael@0: CSS_PROP_BACKGROUND( michael@0: background-attachment, michael@0: background_attachment, michael@0: BackgroundAttachment, michael@0: CSS_PROPERTY_PARSE_VALUE_LIST | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER | michael@0: CSS_PROPERTY_VALUE_LIST_USES_COMMAS, michael@0: "", michael@0: VARIANT_KEYWORD, // used by list parsing michael@0: kBackgroundAttachmentKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_BACKGROUND( michael@0: background-clip, michael@0: background_clip, michael@0: BackgroundClip, michael@0: CSS_PROPERTY_PARSE_VALUE_LIST | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER | michael@0: CSS_PROPERTY_VALUE_LIST_USES_COMMAS, michael@0: "", michael@0: VARIANT_KEYWORD, // used by list parsing michael@0: kBackgroundOriginKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_BACKGROUND( michael@0: background-color, michael@0: background_color, michael@0: BackgroundColor, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER | michael@0: CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED | michael@0: CSS_PROPERTY_HASHLESS_COLOR_QUIRK, michael@0: "", michael@0: VARIANT_HC, michael@0: nullptr, michael@0: offsetof(nsStyleBackground, mBackgroundColor), michael@0: eStyleAnimType_Color) michael@0: CSS_PROP_BACKGROUND( michael@0: background-image, michael@0: background_image, michael@0: BackgroundImage, michael@0: CSS_PROPERTY_PARSE_VALUE_LIST | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER | michael@0: CSS_PROPERTY_VALUE_LIST_USES_COMMAS | michael@0: CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED | michael@0: CSS_PROPERTY_START_IMAGE_LOADS, michael@0: "", michael@0: VARIANT_IMAGE, // used by list parsing michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_BACKGROUND( michael@0: -moz-background-inline-policy, michael@0: _moz_background_inline_policy, michael@0: CSS_PROP_DOMPROP_PREFIXED(BackgroundInlinePolicy), michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER, michael@0: "", michael@0: VARIANT_HK, michael@0: kBackgroundInlinePolicyKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_BACKGROUND( michael@0: background-blend-mode, michael@0: background_blend_mode, michael@0: BackgroundBlendMode, michael@0: CSS_PROPERTY_PARSE_VALUE_LIST | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER | michael@0: CSS_PROPERTY_VALUE_LIST_USES_COMMAS, michael@0: "layout.css.background-blend-mode.enabled", michael@0: VARIANT_KEYWORD, // used by list parsing michael@0: kBlendModeKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_BACKGROUND( michael@0: background-origin, michael@0: background_origin, michael@0: BackgroundOrigin, michael@0: CSS_PROPERTY_PARSE_VALUE_LIST | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER | michael@0: CSS_PROPERTY_VALUE_LIST_USES_COMMAS, michael@0: "", michael@0: VARIANT_KEYWORD, // used by list parsing michael@0: kBackgroundOriginKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_BACKGROUND( michael@0: background-position, michael@0: background_position, michael@0: BackgroundPosition, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER | michael@0: CSS_PROPERTY_VALUE_LIST_USES_COMMAS | michael@0: CSS_PROPERTY_STORES_CALC, michael@0: "", michael@0: 0, michael@0: kBackgroundPositionKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_Custom) michael@0: CSS_PROP_BACKGROUND( michael@0: background-repeat, michael@0: background_repeat, michael@0: BackgroundRepeat, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER | michael@0: CSS_PROPERTY_VALUE_LIST_USES_COMMAS, michael@0: "", michael@0: VARIANT_KEYWORD, // used by list parsing michael@0: kBackgroundRepeatKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_BACKGROUND( michael@0: background-size, michael@0: background_size, michael@0: BackgroundSize, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER | michael@0: CSS_PROPERTY_VALUE_LIST_USES_COMMAS | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE | michael@0: CSS_PROPERTY_STORES_CALC, michael@0: "", michael@0: 0, michael@0: kBackgroundSizeKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_Custom) michael@0: CSS_PROP_DISPLAY( michael@0: -moz-binding, michael@0: binding, michael@0: CSS_PROP_DOMPROP_PREFIXED(Binding), michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HUO, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) // XXX bug 3935 michael@0: CSS_PROP_SHORTHAND( michael@0: border, michael@0: border, michael@0: Border, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") michael@0: CSS_PROP_SHORTHAND( michael@0: border-bottom, michael@0: border_bottom, michael@0: BorderBottom, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") michael@0: CSS_PROP_BORDER( michael@0: border-bottom-color, michael@0: border_bottom_color, michael@0: BorderBottomColor, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED | michael@0: CSS_PROPERTY_HASHLESS_COLOR_QUIRK, michael@0: "", michael@0: VARIANT_HCK, michael@0: kBorderColorKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_Custom) michael@0: CSS_PROP_BORDER( michael@0: -moz-border-bottom-colors, michael@0: border_bottom_colors, michael@0: CSS_PROP_DOMPROP_PREFIXED(BorderBottomColors), michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED, michael@0: "", michael@0: 0, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_BORDER( michael@0: border-bottom-style, michael@0: border_bottom_style, michael@0: BorderBottomStyle, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER, michael@0: "", michael@0: VARIANT_HK, michael@0: kBorderStyleKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) // on/off will need reflow michael@0: CSS_PROP_BORDER( michael@0: border-bottom-width, michael@0: border_bottom_width, michael@0: BorderBottomWidth, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_UNITLESS_LENGTH_QUIRK | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "", michael@0: VARIANT_HKL | VARIANT_CALC, michael@0: kBorderWidthKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_Custom) michael@0: CSS_PROP_TABLEBORDER( michael@0: border-collapse, michael@0: border_collapse, michael@0: BorderCollapse, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kBorderCollapseKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_SHORTHAND( michael@0: border-color, michael@0: border_color, michael@0: BorderColor, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_HASHLESS_COLOR_QUIRK, michael@0: "") michael@0: CSS_PROP_SHORTHAND( michael@0: -moz-border-end, michael@0: border_end, michael@0: CSS_PROP_DOMPROP_PREFIXED(BorderEnd), michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") michael@0: CSS_PROP_SHORTHAND( michael@0: -moz-border-end-color, michael@0: border_end_color, michael@0: CSS_PROP_DOMPROP_PREFIXED(BorderEndColor), michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") michael@0: #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL michael@0: CSS_PROP_BORDER( michael@0: border-end-color-value, michael@0: border_end_color_value, michael@0: BorderEndColorValue, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER, michael@0: "", michael@0: VARIANT_HCK, // used only internally michael@0: kBorderColorKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: #endif michael@0: CSS_PROP_SHORTHAND( michael@0: -moz-border-end-style, michael@0: border_end_style, michael@0: CSS_PROP_DOMPROP_PREFIXED(BorderEndStyle), michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") michael@0: #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL michael@0: CSS_PROP_BORDER( michael@0: border-end-style-value, michael@0: border_end_style_value, michael@0: BorderEndStyleValue, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER, michael@0: "", michael@0: VARIANT_HK, // used only internally michael@0: kBorderStyleKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: #endif michael@0: CSS_PROP_SHORTHAND( michael@0: -moz-border-end-width, michael@0: border_end_width, michael@0: CSS_PROP_DOMPROP_PREFIXED(BorderEndWidth), michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") michael@0: #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL michael@0: CSS_PROP_BORDER( michael@0: border-end-width-value, michael@0: border_end_width_value, michael@0: BorderEndWidthValue, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER, michael@0: "", michael@0: VARIANT_HKL | VARIANT_CALC, michael@0: kBorderWidthKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: #endif michael@0: CSS_PROP_SHORTHAND( michael@0: border-image, michael@0: border_image, michael@0: BorderImage, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") michael@0: CSS_PROP_BORDER( michael@0: border-image-source, michael@0: border_image_source, michael@0: BorderImageSource, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_START_IMAGE_LOADS, michael@0: "", michael@0: VARIANT_IMAGE | VARIANT_INHERIT, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_BORDER( michael@0: border-image-slice, michael@0: border_image_slice, michael@0: BorderImageSlice, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER, michael@0: "", michael@0: 0, michael@0: kBorderImageSliceKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_BORDER( michael@0: border-image-width, michael@0: border_image_width, michael@0: BorderImageWidth, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER, michael@0: "", michael@0: 0, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_BORDER( michael@0: border-image-outset, michael@0: border_image_outset, michael@0: BorderImageOutset, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER, michael@0: "", michael@0: 0, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_BORDER( michael@0: border-image-repeat, michael@0: border_image_repeat, michael@0: BorderImageRepeat, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER, michael@0: "", michael@0: 0, michael@0: kBorderImageRepeatKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_SHORTHAND( michael@0: border-left, michael@0: border_left, michael@0: BorderLeft, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") michael@0: CSS_PROP_SHORTHAND( michael@0: border-left-color, michael@0: border_left_color, michael@0: BorderLeftColor, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_HASHLESS_COLOR_QUIRK, michael@0: "") michael@0: #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL michael@0: CSS_PROP_BORDER( michael@0: border-left-color-value, michael@0: border_left_color_value, michael@0: BorderLeftColorValue, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED | michael@0: CSS_PROPERTY_REPORT_OTHER_NAME, michael@0: "", michael@0: VARIANT_HCK, // used only internally michael@0: kBorderColorKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_Custom) michael@0: CSS_PROP_BORDER( michael@0: border-left-color-ltr-source, michael@0: border_left_color_ltr_source, michael@0: BorderLeftColorLTRSource, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_DIRECTIONAL_SOURCE | michael@0: CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED, michael@0: "", michael@0: 0, michael@0: kBoxPropSourceKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_BORDER( michael@0: border-left-color-rtl-source, michael@0: border_left_color_rtl_source, michael@0: BorderLeftColorRTLSource, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_DIRECTIONAL_SOURCE | michael@0: CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED, michael@0: "", michael@0: 0, michael@0: kBoxPropSourceKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: #endif michael@0: CSS_PROP_BORDER( michael@0: -moz-border-left-colors, michael@0: border_left_colors, michael@0: CSS_PROP_DOMPROP_PREFIXED(BorderLeftColors), michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED, michael@0: "", michael@0: 0, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_SHORTHAND( michael@0: border-left-style, michael@0: border_left_style, michael@0: BorderLeftStyle, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") // on/off will need reflow michael@0: #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL michael@0: CSS_PROP_BORDER( michael@0: border-left-style-value, michael@0: border_left_style_value, michael@0: BorderLeftStyleValue, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_REPORT_OTHER_NAME, michael@0: "", michael@0: VARIANT_HK, // used only internally michael@0: kBorderStyleKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_BORDER( michael@0: border-left-style-ltr-source, michael@0: border_left_style_ltr_source, michael@0: BorderLeftStyleLTRSource, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_DIRECTIONAL_SOURCE, michael@0: "", michael@0: 0, michael@0: kBoxPropSourceKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_BORDER( michael@0: border-left-style-rtl-source, michael@0: border_left_style_rtl_source, michael@0: BorderLeftStyleRTLSource, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_DIRECTIONAL_SOURCE, michael@0: "", michael@0: 0, michael@0: kBoxPropSourceKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: #endif michael@0: CSS_PROP_SHORTHAND( michael@0: border-left-width, michael@0: border_left_width, michael@0: BorderLeftWidth, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_UNITLESS_LENGTH_QUIRK | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "") michael@0: #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL michael@0: CSS_PROP_BORDER( michael@0: border-left-width-value, michael@0: border_left_width_value, michael@0: BorderLeftWidthValue, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_REPORT_OTHER_NAME, michael@0: "", michael@0: VARIANT_HKL | VARIANT_CALC, michael@0: kBorderWidthKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_Custom) michael@0: CSS_PROP_BORDER( michael@0: border-left-width-ltr-source, michael@0: border_left_width_ltr_source, michael@0: BorderLeftWidthLTRSource, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_DIRECTIONAL_SOURCE, michael@0: "", michael@0: 0, michael@0: kBoxPropSourceKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_BORDER( michael@0: border-left-width-rtl-source, michael@0: border_left_width_rtl_source, michael@0: BorderLeftWidthRTLSource, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_DIRECTIONAL_SOURCE, michael@0: "", michael@0: 0, michael@0: kBoxPropSourceKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: #endif michael@0: CSS_PROP_SHORTHAND( michael@0: border-right, michael@0: border_right, michael@0: BorderRight, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") michael@0: CSS_PROP_SHORTHAND( michael@0: border-right-color, michael@0: border_right_color, michael@0: BorderRightColor, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_HASHLESS_COLOR_QUIRK, michael@0: "") michael@0: #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL michael@0: CSS_PROP_BORDER( michael@0: border-right-color-value, michael@0: border_right_color_value, michael@0: BorderRightColorValue, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED | michael@0: CSS_PROPERTY_REPORT_OTHER_NAME, michael@0: "", michael@0: VARIANT_HCK, // used only internally michael@0: kBorderColorKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_Custom) michael@0: CSS_PROP_BORDER( michael@0: border-right-color-ltr-source, michael@0: border_right_color_ltr_source, michael@0: BorderRightColorLTRSource, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_DIRECTIONAL_SOURCE | michael@0: CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED, michael@0: "", michael@0: 0, michael@0: kBoxPropSourceKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_BORDER( michael@0: border-right-color-rtl-source, michael@0: border_right_color_rtl_source, michael@0: BorderRightColorRTLSource, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_DIRECTIONAL_SOURCE | michael@0: CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED, michael@0: "", michael@0: 0, michael@0: kBoxPropSourceKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: #endif michael@0: CSS_PROP_BORDER( michael@0: -moz-border-right-colors, michael@0: border_right_colors, michael@0: CSS_PROP_DOMPROP_PREFIXED(BorderRightColors), michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED, michael@0: "", michael@0: 0, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_SHORTHAND( michael@0: border-right-style, michael@0: border_right_style, michael@0: BorderRightStyle, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") // on/off will need reflow michael@0: #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL michael@0: CSS_PROP_BORDER( michael@0: border-right-style-value, michael@0: border_right_style_value, michael@0: BorderRightStyleValue, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_REPORT_OTHER_NAME, michael@0: "", michael@0: VARIANT_HK, // used only internally michael@0: kBorderStyleKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_BORDER( michael@0: border-right-style-ltr-source, michael@0: border_right_style_ltr_source, michael@0: BorderRightStyleLTRSource, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_DIRECTIONAL_SOURCE, michael@0: "", michael@0: 0, michael@0: kBoxPropSourceKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_BORDER( michael@0: border-right-style-rtl-source, michael@0: border_right_style_rtl_source, michael@0: BorderRightStyleRTLSource, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_DIRECTIONAL_SOURCE, michael@0: "", michael@0: 0, michael@0: kBoxPropSourceKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: #endif michael@0: CSS_PROP_SHORTHAND( michael@0: border-right-width, michael@0: border_right_width, michael@0: BorderRightWidth, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_UNITLESS_LENGTH_QUIRK | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "") michael@0: #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL michael@0: CSS_PROP_BORDER( michael@0: border-right-width-value, michael@0: border_right_width_value, michael@0: BorderRightWidthValue, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_REPORT_OTHER_NAME, michael@0: "", michael@0: VARIANT_HKL | VARIANT_CALC, michael@0: kBorderWidthKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_Custom) michael@0: CSS_PROP_BORDER( michael@0: border-right-width-ltr-source, michael@0: border_right_width_ltr_source, michael@0: BorderRightWidthLTRSource, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_DIRECTIONAL_SOURCE, michael@0: "", michael@0: 0, michael@0: kBoxPropSourceKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_BORDER( michael@0: border-right-width-rtl-source, michael@0: border_right_width_rtl_source, michael@0: BorderRightWidthRTLSource, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_DIRECTIONAL_SOURCE, michael@0: "", michael@0: 0, michael@0: kBoxPropSourceKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: #endif michael@0: CSS_PROP_TABLEBORDER( michael@0: border-spacing, michael@0: border_spacing, michael@0: BorderSpacing, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE, michael@0: "", michael@0: 0, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_Custom) michael@0: CSS_PROP_SHORTHAND( michael@0: -moz-border-start, michael@0: border_start, michael@0: CSS_PROP_DOMPROP_PREFIXED(BorderStart), michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") michael@0: CSS_PROP_SHORTHAND( michael@0: -moz-border-start-color, michael@0: border_start_color, michael@0: CSS_PROP_DOMPROP_PREFIXED(BorderStartColor), michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") michael@0: #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL michael@0: CSS_PROP_BORDER( michael@0: border-start-color-value, michael@0: border_start_color_value, michael@0: BorderStartColorValue, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER, michael@0: "", michael@0: VARIANT_HCK, // used only internally michael@0: kBorderColorKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: #endif michael@0: CSS_PROP_SHORTHAND( michael@0: -moz-border-start-style, michael@0: border_start_style, michael@0: CSS_PROP_DOMPROP_PREFIXED(BorderStartStyle), michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") michael@0: #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL michael@0: CSS_PROP_BORDER( michael@0: border-start-style-value, michael@0: border_start_style_value, michael@0: BorderStartStyleValue, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER, michael@0: "", michael@0: VARIANT_HK, // used only internally michael@0: kBorderStyleKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: #endif michael@0: CSS_PROP_SHORTHAND( michael@0: -moz-border-start-width, michael@0: border_start_width, michael@0: CSS_PROP_DOMPROP_PREFIXED(BorderStartWidth), michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") michael@0: #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL michael@0: CSS_PROP_BORDER( michael@0: border-start-width-value, michael@0: border_start_width_value, michael@0: BorderStartWidthValue, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER, michael@0: "", michael@0: VARIANT_HKL | VARIANT_CALC, michael@0: kBorderWidthKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: #endif michael@0: CSS_PROP_SHORTHAND( michael@0: border-style, michael@0: border_style, michael@0: BorderStyle, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") // on/off will need reflow michael@0: CSS_PROP_SHORTHAND( michael@0: border-top, michael@0: border_top, michael@0: BorderTop, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") michael@0: CSS_PROP_BORDER( michael@0: border-top-color, michael@0: border_top_color, michael@0: BorderTopColor, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED | michael@0: CSS_PROPERTY_HASHLESS_COLOR_QUIRK, michael@0: "", michael@0: VARIANT_HCK, michael@0: kBorderColorKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_Custom) michael@0: CSS_PROP_BORDER( michael@0: -moz-border-top-colors, michael@0: border_top_colors, michael@0: CSS_PROP_DOMPROP_PREFIXED(BorderTopColors), michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED, michael@0: "", michael@0: 0, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_BORDER( michael@0: border-top-style, michael@0: border_top_style, michael@0: BorderTopStyle, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER, michael@0: "", michael@0: VARIANT_HK, michael@0: kBorderStyleKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) // on/off will need reflow michael@0: CSS_PROP_BORDER( michael@0: border-top-width, michael@0: border_top_width, michael@0: BorderTopWidth, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_UNITLESS_LENGTH_QUIRK | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "", michael@0: VARIANT_HKL | VARIANT_CALC, michael@0: kBorderWidthKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_Custom) michael@0: CSS_PROP_SHORTHAND( michael@0: border-width, michael@0: border_width, michael@0: BorderWidth, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_UNITLESS_LENGTH_QUIRK, michael@0: "") michael@0: CSS_PROP_SHORTHAND( michael@0: border-radius, michael@0: border_radius, michael@0: BorderRadius, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") michael@0: CSS_PROP_BORDER( michael@0: border-top-left-radius, michael@0: border_top_left_radius, michael@0: BorderTopLeftRadius, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE | michael@0: CSS_PROPERTY_STORES_CALC | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "", michael@0: 0, michael@0: nullptr, michael@0: offsetof(nsStyleBorder, mBorderRadius), michael@0: eStyleAnimType_Corner_TopLeft) michael@0: CSS_PROP_BORDER( michael@0: border-top-right-radius, michael@0: border_top_right_radius, michael@0: BorderTopRightRadius, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE | michael@0: CSS_PROPERTY_STORES_CALC | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "", michael@0: 0, michael@0: nullptr, michael@0: offsetof(nsStyleBorder, mBorderRadius), michael@0: eStyleAnimType_Corner_TopRight) michael@0: CSS_PROP_BORDER( michael@0: border-bottom-right-radius, michael@0: border_bottom_right_radius, michael@0: BorderBottomRightRadius, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE | michael@0: CSS_PROPERTY_STORES_CALC | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "", michael@0: 0, michael@0: nullptr, michael@0: offsetof(nsStyleBorder, mBorderRadius), michael@0: eStyleAnimType_Corner_BottomRight) michael@0: CSS_PROP_BORDER( michael@0: border-bottom-left-radius, michael@0: border_bottom_left_radius, michael@0: BorderBottomLeftRadius, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE | michael@0: CSS_PROPERTY_STORES_CALC | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "", michael@0: 0, michael@0: nullptr, michael@0: offsetof(nsStyleBorder, mBorderRadius), michael@0: eStyleAnimType_Corner_BottomLeft) michael@0: CSS_PROP_POSITION( michael@0: bottom, michael@0: bottom, michael@0: Bottom, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_STORES_CALC | michael@0: CSS_PROPERTY_UNITLESS_LENGTH_QUIRK | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "", michael@0: VARIANT_AHLP | VARIANT_CALC, michael@0: nullptr, michael@0: offsetof(nsStylePosition, mOffset), michael@0: eStyleAnimType_Sides_Bottom) michael@0: CSS_PROP_BORDER( michael@0: box-shadow, michael@0: box_shadow, michael@0: BoxShadow, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_VALUE_LIST_USES_COMMAS | michael@0: CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED, michael@0: // NOTE: some components must be nonnegative michael@0: "", michael@0: 0, michael@0: kBoxShadowTypeKTable, michael@0: offsetof(nsStyleBorder, mBoxShadow), michael@0: eStyleAnimType_Shadow) michael@0: CSS_PROP_POSITION( michael@0: box-sizing, michael@0: box_sizing, michael@0: BoxSizing, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kBoxSizingKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_TABLEBORDER( michael@0: caption-side, michael@0: caption_side, michael@0: CaptionSide, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kCaptionSideKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_DISPLAY( michael@0: clear, michael@0: clear, michael@0: Clear, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kClearKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_DISPLAY( michael@0: clip, michael@0: clip, michael@0: Clip, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_UNITLESS_LENGTH_QUIRK, michael@0: "", michael@0: 0, michael@0: nullptr, michael@0: offsetof(nsStyleDisplay, mClip), michael@0: eStyleAnimType_Custom) michael@0: CSS_PROP_COLOR( michael@0: color, michael@0: color, michael@0: Color, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER | michael@0: CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED | michael@0: CSS_PROPERTY_HASHLESS_COLOR_QUIRK, michael@0: "", michael@0: VARIANT_HC, michael@0: nullptr, michael@0: offsetof(nsStyleColor, mColor), michael@0: eStyleAnimType_Color) michael@0: CSS_PROP_SHORTHAND( michael@0: -moz-columns, michael@0: _moz_columns, michael@0: CSS_PROP_DOMPROP_PREFIXED(Columns), michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") michael@0: CSS_PROP_COLUMN( michael@0: -moz-column-count, michael@0: _moz_column_count, michael@0: CSS_PROP_DOMPROP_PREFIXED(ColumnCount), michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: // Need to reject 0 in addition to negatives. If we accept 0, we michael@0: // need to change NS_STYLE_COLUMN_COUNT_AUTO to something else. michael@0: CSS_PROPERTY_VALUE_AT_LEAST_ONE, michael@0: "", michael@0: VARIANT_AHI, michael@0: nullptr, michael@0: offsetof(nsStyleColumn, mColumnCount), michael@0: eStyleAnimType_Custom) michael@0: CSS_PROP_COLUMN( michael@0: -moz-column-fill, michael@0: _moz_column_fill, michael@0: CSS_PROP_DOMPROP_PREFIXED(ColumnFill), michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kColumnFillKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_COLUMN( michael@0: -moz-column-width, michael@0: _moz_column_width, michael@0: CSS_PROP_DOMPROP_PREFIXED(ColumnWidth), michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE, michael@0: "", michael@0: VARIANT_AHL | VARIANT_CALC, michael@0: nullptr, michael@0: offsetof(nsStyleColumn, mColumnWidth), michael@0: eStyleAnimType_Coord) michael@0: CSS_PROP_COLUMN( michael@0: -moz-column-gap, michael@0: _moz_column_gap, michael@0: CSS_PROP_DOMPROP_PREFIXED(ColumnGap), michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE, michael@0: "", michael@0: VARIANT_HL | VARIANT_NORMAL | VARIANT_CALC, michael@0: nullptr, michael@0: offsetof(nsStyleColumn, mColumnGap), michael@0: eStyleAnimType_Coord) michael@0: CSS_PROP_SHORTHAND( michael@0: -moz-column-rule, michael@0: _moz_column_rule, michael@0: CSS_PROP_DOMPROP_PREFIXED(ColumnRule), michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") michael@0: CSS_PROP_COLUMN( michael@0: -moz-column-rule-color, michael@0: _moz_column_rule_color, michael@0: CSS_PROP_DOMPROP_PREFIXED(ColumnRuleColor), michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED, michael@0: "", michael@0: VARIANT_HCK, michael@0: kBorderColorKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_Custom) michael@0: CSS_PROP_COLUMN( michael@0: -moz-column-rule-style, michael@0: _moz_column_rule_style, michael@0: CSS_PROP_DOMPROP_PREFIXED(ColumnRuleStyle), michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kBorderStyleKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_COLUMN( michael@0: -moz-column-rule-width, michael@0: _moz_column_rule_width, michael@0: CSS_PROP_DOMPROP_PREFIXED(ColumnRuleWidth), michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE, michael@0: "", michael@0: VARIANT_HKL | VARIANT_CALC, michael@0: kBorderWidthKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_Custom) michael@0: CSS_PROP_CONTENT( michael@0: content, michael@0: content, michael@0: Content, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_START_IMAGE_LOADS, michael@0: "", michael@0: 0, michael@0: kContentKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL michael@0: CSS_PROP_TEXT( michael@0: -moz-control-character-visibility, michael@0: _moz_control_character_visibility, michael@0: CSS_PROP_DOMPROP_PREFIXED(ControlCharacterVisibility), michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kControlCharacterVisibilityKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: #endif michael@0: CSS_PROP_CONTENT( michael@0: counter-increment, michael@0: counter_increment, michael@0: CounterIncrement, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "", michael@0: 0, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) // XXX bug 137285 michael@0: CSS_PROP_CONTENT( michael@0: counter-reset, michael@0: counter_reset, michael@0: CounterReset, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "", michael@0: 0, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) // XXX bug 137285 michael@0: CSS_PROP_USERINTERFACE( michael@0: cursor, michael@0: cursor, michael@0: Cursor, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_VALUE_LIST_USES_COMMAS | michael@0: CSS_PROPERTY_START_IMAGE_LOADS | michael@0: CSS_PROPERTY_IMAGE_IS_IN_ARRAY_0, michael@0: "", michael@0: 0, michael@0: kCursorKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: #ifndef CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND michael@0: CSS_PROP_VISIBILITY( michael@0: direction, michael@0: direction, michael@0: Direction, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kDirectionKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: #endif // !defined(CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND) michael@0: CSS_PROP_DISPLAY( michael@0: display, michael@0: display, michael@0: Display, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: // This is allowed because we need to make the placeholder michael@0: // pseudo-element an inline-block in the UA stylesheet. It is a block michael@0: // by default. michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER, michael@0: "", michael@0: VARIANT_HK, michael@0: kDisplayKTable, michael@0: offsetof(nsStyleDisplay, mDisplay), michael@0: eStyleAnimType_EnumU8) michael@0: CSS_PROP_TABLEBORDER( michael@0: empty-cells, michael@0: empty_cells, michael@0: EmptyCells, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kEmptyCellsKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_POSITION( michael@0: align-content, michael@0: align_content, michael@0: AlignContent, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kAlignContentKTable, michael@0: offsetof(nsStylePosition, mAlignContent), michael@0: eStyleAnimType_EnumU8) michael@0: CSS_PROP_POSITION( michael@0: align-items, michael@0: align_items, michael@0: AlignItems, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kAlignItemsKTable, michael@0: offsetof(nsStylePosition, mAlignItems), michael@0: eStyleAnimType_EnumU8) michael@0: CSS_PROP_POSITION( michael@0: align-self, michael@0: align_self, michael@0: AlignSelf, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kAlignSelfKTable, michael@0: offsetof(nsStylePosition, mAlignSelf), michael@0: eStyleAnimType_EnumU8) michael@0: CSS_PROP_SHORTHAND( michael@0: flex, michael@0: flex, michael@0: Flex, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") michael@0: CSS_PROP_POSITION( michael@0: flex-basis, michael@0: flex_basis, michael@0: FlexBasis, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE | michael@0: CSS_PROPERTY_STORES_CALC, michael@0: "", michael@0: // NOTE: The parsing implementation for the 'flex' shorthand property has michael@0: // its own code to parse each subproperty. It does not depend on the michael@0: // longhand parsing defined here. michael@0: VARIANT_AHKLP | VARIANT_CALC, michael@0: kWidthKTable, michael@0: offsetof(nsStylePosition, mFlexBasis), michael@0: eStyleAnimType_Coord) michael@0: CSS_PROP_POSITION( michael@0: flex-direction, michael@0: flex_direction, michael@0: FlexDirection, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kFlexDirectionKTable, michael@0: offsetof(nsStylePosition, mFlexDirection), michael@0: eStyleAnimType_EnumU8) michael@0: CSS_PROP_SHORTHAND( michael@0: flex-flow, michael@0: flex_flow, michael@0: FlexFlow, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") michael@0: CSS_PROP_POSITION( michael@0: flex-grow, michael@0: flex_grow, michael@0: FlexGrow, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE, michael@0: "", michael@0: // NOTE: The parsing implementation for the 'flex' shorthand property has michael@0: // its own code to parse each subproperty. It does not depend on the michael@0: // longhand parsing defined here. michael@0: VARIANT_HN, michael@0: nullptr, michael@0: offsetof(nsStylePosition, mFlexGrow), michael@0: eStyleAnimType_float) // float, except animations to/from 0 shouldn't work michael@0: CSS_PROP_POSITION( michael@0: flex-shrink, michael@0: flex_shrink, michael@0: FlexShrink, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE, michael@0: "", michael@0: // NOTE: The parsing implementation for the 'flex' shorthand property has michael@0: // its own code to parse each subproperty. It does not depend on the michael@0: // longhand parsing defined here. michael@0: VARIANT_HN, michael@0: nullptr, michael@0: offsetof(nsStylePosition, mFlexShrink), michael@0: eStyleAnimType_float) // float, except animations to/from 0 shouldn't work michael@0: CSS_PROP_POSITION( michael@0: flex-wrap, michael@0: flex_wrap, michael@0: FlexWrap, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kFlexWrapKTable, michael@0: offsetof(nsStylePosition, mFlexWrap), michael@0: eStyleAnimType_EnumU8) michael@0: CSS_PROP_POSITION( michael@0: order, michael@0: order, michael@0: Order, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HI, michael@0: nullptr, michael@0: offsetof(nsStylePosition, mOrder), michael@0: eStyleAnimType_Custom) // michael@0: CSS_PROP_POSITION( michael@0: justify-content, michael@0: justify_content, michael@0: JustifyContent, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kJustifyContentKTable, michael@0: offsetof(nsStylePosition, mJustifyContent), michael@0: eStyleAnimType_EnumU8) michael@0: CSS_PROP_DISPLAY( michael@0: float, michael@0: float, michael@0: CSS_PROP_PUBLIC_OR_PRIVATE(CssFloat, Float), michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER, michael@0: "", michael@0: VARIANT_HK, michael@0: kFloatKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_BORDER( michael@0: -moz-float-edge, michael@0: float_edge, michael@0: CSS_PROP_DOMPROP_PREFIXED(FloatEdge), michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kFloatEdgeKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) // XXX bug 3935 michael@0: CSS_PROP_SHORTHAND( michael@0: font, michael@0: font, michael@0: Font, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") michael@0: CSS_PROP_FONT( michael@0: font-family, michael@0: font_family, michael@0: FontFamily, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_PARSER_FUNCTION | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER, michael@0: "", michael@0: 0, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_FONT( michael@0: -moz-font-feature-settings, michael@0: font_feature_settings, michael@0: CSS_PROP_DOMPROP_PREFIXED(FontFeatureSettings), michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_PARSER_FUNCTION | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER, michael@0: "", michael@0: 0, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_FONT( michael@0: font-kerning, michael@0: font_kerning, michael@0: FontKerning, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER, michael@0: "layout.css.font-features.enabled", michael@0: VARIANT_HK, michael@0: kFontKerningKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_FONT( michael@0: -moz-font-language-override, michael@0: font_language_override, michael@0: CSS_PROP_DOMPROP_PREFIXED(FontLanguageOverride), michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER, michael@0: "", michael@0: VARIANT_NORMAL | VARIANT_INHERIT | VARIANT_STRING, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_FONT( michael@0: font-size, michael@0: font_size, michael@0: FontSize, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER | michael@0: CSS_PROPERTY_UNITLESS_LENGTH_QUIRK, michael@0: "", michael@0: VARIANT_HKLP | VARIANT_SYSFONT | VARIANT_CALC, michael@0: kFontSizeKTable, michael@0: // Note that mSize is the correct place for *reading* the computed value, michael@0: // but setting it requires setting mFont.size as well. michael@0: offsetof(nsStyleFont, mSize), michael@0: eStyleAnimType_nscoord) michael@0: CSS_PROP_FONT( michael@0: font-size-adjust, michael@0: font_size_adjust, michael@0: FontSizeAdjust, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER, michael@0: "", michael@0: VARIANT_HON | VARIANT_SYSFONT, michael@0: nullptr, michael@0: offsetof(nsStyleFont, mFont.sizeAdjust), michael@0: eStyleAnimType_float) michael@0: CSS_PROP_FONT( michael@0: -moz-osx-font-smoothing, michael@0: osx_font_smoothing, michael@0: CSS_PROP_DOMPROP_PREFIXED(OSXFontSmoothing), michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER, michael@0: "layout.css.osx-font-smoothing.enabled", michael@0: VARIANT_HK, michael@0: kFontSmoothingKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_FONT( michael@0: font-stretch, michael@0: font_stretch, michael@0: FontStretch, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER, michael@0: "", michael@0: VARIANT_HK | VARIANT_SYSFONT, michael@0: kFontStretchKTable, michael@0: offsetof(nsStyleFont, mFont.stretch), michael@0: eStyleAnimType_Custom) michael@0: CSS_PROP_FONT( michael@0: font-style, michael@0: font_style, michael@0: FontStyle, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER, michael@0: "", michael@0: VARIANT_HK | VARIANT_SYSFONT, michael@0: kFontStyleKTable, michael@0: offsetof(nsStyleFont, mFont.style), michael@0: eStyleAnimType_EnumU8) michael@0: CSS_PROP_FONT( michael@0: font-synthesis, michael@0: font_synthesis, michael@0: FontSynthesis, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_PARSER_FUNCTION | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER, michael@0: "layout.css.font-features.enabled", michael@0: 0, michael@0: kFontSynthesisKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_FONT( michael@0: font-variant, michael@0: font_variant, michael@0: FontVariant, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER, michael@0: "", michael@0: VARIANT_HK | VARIANT_SYSFONT, michael@0: kFontVariantKTable, michael@0: offsetof(nsStyleFont, mFont.variant), michael@0: eStyleAnimType_EnumU8) michael@0: CSS_PROP_FONT( michael@0: font-variant-alternates, michael@0: font_variant_alternates, michael@0: FontVariantAlternates, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_PARSER_FUNCTION | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER, michael@0: "layout.css.font-features.enabled", michael@0: VARIANT_HK, michael@0: kFontVariantAlternatesKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_FONT( michael@0: font-variant-caps, michael@0: font_variant_caps, michael@0: FontVariantCaps, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER, michael@0: "layout.css.font-features.enabled", michael@0: VARIANT_HMK, michael@0: kFontVariantCapsKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_FONT( michael@0: font-variant-east-asian, michael@0: font_variant_east_asian, michael@0: FontVariantEastAsian, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_PARSER_FUNCTION | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER, michael@0: "layout.css.font-features.enabled", michael@0: 0, michael@0: kFontVariantEastAsianKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_FONT( michael@0: font-variant-ligatures, michael@0: font_variant_ligatures, michael@0: FontVariantLigatures, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_PARSER_FUNCTION | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER, michael@0: "layout.css.font-features.enabled", michael@0: 0, michael@0: kFontVariantLigaturesKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_FONT( michael@0: font-variant-numeric, michael@0: font_variant_numeric, michael@0: FontVariantNumeric, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_PARSER_FUNCTION | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER, michael@0: "layout.css.font-features.enabled", michael@0: 0, michael@0: kFontVariantNumericKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_FONT( michael@0: font-variant-position, michael@0: font_variant_position, michael@0: FontVariantPosition, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER, michael@0: "layout.css.font-features.enabled", michael@0: VARIANT_HMK, michael@0: kFontVariantPositionKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_FONT( michael@0: font-weight, michael@0: font_weight, michael@0: FontWeight, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_PARSER_FUNCTION | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER, michael@0: // NOTE: This property has range restrictions on interpolation! michael@0: "", michael@0: 0, michael@0: kFontWeightKTable, michael@0: offsetof(nsStyleFont, mFont.weight), michael@0: eStyleAnimType_Custom) michael@0: CSS_PROP_UIRESET( michael@0: -moz-force-broken-image-icon, michael@0: force_broken_image_icon, michael@0: CSS_PROP_DOMPROP_PREFIXED(ForceBrokenImageIcon), michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE, michael@0: "", michael@0: VARIANT_HI, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) // bug 58646 michael@0: CSS_PROP_POSITION( michael@0: grid-auto-flow, michael@0: grid_auto_flow, michael@0: GridAutoFlow, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "layout.css.grid.enabled", michael@0: 0, michael@0: kGridAutoFlowKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_POSITION( michael@0: grid-auto-columns, michael@0: grid_auto_columns, michael@0: GridAutoColumns, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_STORES_CALC, michael@0: "layout.css.grid.enabled", michael@0: 0, michael@0: kGridTrackBreadthKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_POSITION( michael@0: grid-auto-rows, michael@0: grid_auto_rows, michael@0: GridAutoRows, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_STORES_CALC, michael@0: "layout.css.grid.enabled", michael@0: 0, michael@0: kGridTrackBreadthKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_POSITION( michael@0: grid-auto-position, michael@0: grid_auto_position, michael@0: GridAutoPosition, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "layout.css.grid.enabled", michael@0: 0, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_POSITION( michael@0: grid-template-areas, michael@0: grid_template_areas, michael@0: GridTemplateAreas, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "layout.css.grid.enabled", michael@0: 0, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_POSITION( michael@0: grid-template-columns, michael@0: grid_template_columns, michael@0: GridTemplateColumns, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_STORES_CALC | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "layout.css.grid.enabled", michael@0: 0, michael@0: kGridTrackBreadthKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_POSITION( michael@0: grid-template-rows, michael@0: grid_template_rows, michael@0: GridTemplateRows, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_STORES_CALC | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "layout.css.grid.enabled", michael@0: 0, michael@0: kGridTrackBreadthKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_SHORTHAND( michael@0: grid-template, michael@0: grid_template, michael@0: GridTemplate, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "layout.css.grid.enabled") michael@0: CSS_PROP_SHORTHAND( michael@0: grid, michael@0: grid, michael@0: Grid, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "layout.css.grid.enabled") michael@0: CSS_PROP_POSITION( michael@0: grid-column-start, michael@0: grid_column_start, michael@0: GridColumnStart, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "layout.css.grid.enabled", michael@0: 0, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_POSITION( michael@0: grid-column-end, michael@0: grid_column_end, michael@0: GridColumnEnd, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "layout.css.grid.enabled", michael@0: 0, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_POSITION( michael@0: grid-row-start, michael@0: grid_row_start, michael@0: GridRowStart, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "layout.css.grid.enabled", michael@0: 0, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_POSITION( michael@0: grid-row-end, michael@0: grid_row_end, michael@0: GridRowEnd, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "layout.css.grid.enabled", michael@0: 0, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_SHORTHAND( michael@0: grid-column, michael@0: grid_column, michael@0: GridColumn, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "layout.css.grid.enabled") michael@0: CSS_PROP_SHORTHAND( michael@0: grid-row, michael@0: grid_row, michael@0: GridRow, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "layout.css.grid.enabled") michael@0: CSS_PROP_SHORTHAND( michael@0: grid-area, michael@0: grid_area, michael@0: GridArea, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "layout.css.grid.enabled") michael@0: CSS_PROP_POSITION( michael@0: height, michael@0: height, michael@0: Height, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE | michael@0: CSS_PROPERTY_STORES_CALC | michael@0: CSS_PROPERTY_UNITLESS_LENGTH_QUIRK | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "", michael@0: VARIANT_AHLP | VARIANT_CALC, michael@0: nullptr, michael@0: offsetof(nsStylePosition, mHeight), michael@0: eStyleAnimType_Coord) michael@0: CSS_PROP_VISIBILITY( michael@0: image-orientation, michael@0: image_orientation, michael@0: ImageOrientation, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_PARSER_FUNCTION, michael@0: "layout.css.image-orientation.enabled", michael@0: 0, michael@0: kImageOrientationKTable, michael@0: offsetof(nsStyleVisibility, mImageOrientation), michael@0: eStyleAnimType_None) michael@0: CSS_PROP_LIST( michael@0: -moz-image-region, michael@0: image_region, michael@0: CSS_PROP_DOMPROP_PREFIXED(ImageRegion), michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "", michael@0: 0, michael@0: nullptr, michael@0: offsetof(nsStyleList, mImageRegion), michael@0: eStyleAnimType_Custom) michael@0: CSS_PROP_UIRESET( michael@0: ime-mode, michael@0: ime_mode, michael@0: ImeMode, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kIMEModeKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_POSITION( michael@0: left, michael@0: left, michael@0: Left, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_STORES_CALC | michael@0: CSS_PROPERTY_UNITLESS_LENGTH_QUIRK | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "", michael@0: VARIANT_AHLP | VARIANT_CALC, michael@0: nullptr, michael@0: offsetof(nsStylePosition, mOffset), michael@0: eStyleAnimType_Sides_Left) michael@0: CSS_PROP_TEXT( michael@0: letter-spacing, michael@0: letter_spacing, michael@0: LetterSpacing, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER | michael@0: CSS_PROPERTY_UNITLESS_LENGTH_QUIRK, michael@0: "", michael@0: VARIANT_HL | VARIANT_NORMAL | VARIANT_CALC, michael@0: nullptr, michael@0: offsetof(nsStyleText, mLetterSpacing), michael@0: eStyleAnimType_Coord) michael@0: CSS_PROP_TEXT( michael@0: line-height, michael@0: line_height, michael@0: LineHeight, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "", michael@0: VARIANT_HLPN | VARIANT_KEYWORD | VARIANT_NORMAL | VARIANT_SYSFONT, michael@0: kLineHeightKTable, michael@0: offsetof(nsStyleText, mLineHeight), michael@0: eStyleAnimType_Coord) michael@0: CSS_PROP_SHORTHAND( michael@0: list-style, michael@0: list_style, michael@0: ListStyle, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") michael@0: CSS_PROP_LIST( michael@0: list-style-image, michael@0: list_style_image, michael@0: ListStyleImage, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_START_IMAGE_LOADS, michael@0: "", michael@0: VARIANT_HUO, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_LIST( michael@0: list-style-position, michael@0: list_style_position, michael@0: ListStylePosition, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kListStylePositionKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_LIST( michael@0: list-style-type, michael@0: list_style_type, michael@0: ListStyleType, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kListStyleKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_SHORTHAND( michael@0: margin, michael@0: margin, michael@0: Margin, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_UNITLESS_LENGTH_QUIRK | michael@0: CSS_PROPERTY_APPLIES_TO_PAGE_RULE, michael@0: "") michael@0: CSS_PROP_MARGIN( michael@0: margin-bottom, michael@0: margin_bottom, michael@0: MarginBottom, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_STORES_CALC | michael@0: CSS_PROPERTY_UNITLESS_LENGTH_QUIRK | michael@0: CSS_PROPERTY_APPLIES_TO_PAGE_RULE | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "", michael@0: VARIANT_AHLP | VARIANT_CALC, michael@0: nullptr, michael@0: offsetof(nsStyleMargin, mMargin), michael@0: eStyleAnimType_Sides_Bottom) michael@0: CSS_PROP_SHORTHAND( michael@0: -moz-margin-end, michael@0: margin_end, michael@0: CSS_PROP_DOMPROP_PREFIXED(MarginEnd), michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_APPLIES_TO_PAGE_RULE, michael@0: "") michael@0: #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL michael@0: CSS_PROP_MARGIN( michael@0: margin-end-value, michael@0: margin_end_value, michael@0: MarginEndValue, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_STORES_CALC | michael@0: CSS_PROPERTY_APPLIES_TO_PAGE_RULE, michael@0: "", michael@0: VARIANT_AHLP | VARIANT_CALC, // for internal use michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: #endif michael@0: CSS_PROP_SHORTHAND( michael@0: margin-left, michael@0: margin_left, michael@0: MarginLeft, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_UNITLESS_LENGTH_QUIRK | michael@0: CSS_PROPERTY_APPLIES_TO_PAGE_RULE | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "") michael@0: #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL michael@0: CSS_PROP_MARGIN( michael@0: margin-left-value, michael@0: margin_left_value, michael@0: MarginLeftValue, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_REPORT_OTHER_NAME | michael@0: CSS_PROPERTY_STORES_CALC | michael@0: CSS_PROPERTY_APPLIES_TO_PAGE_RULE, michael@0: "", michael@0: VARIANT_AHLP | VARIANT_CALC, // for internal use michael@0: nullptr, michael@0: offsetof(nsStyleMargin, mMargin), michael@0: eStyleAnimType_Sides_Left) michael@0: CSS_PROP_MARGIN( michael@0: margin-left-ltr-source, michael@0: margin_left_ltr_source, michael@0: MarginLeftLTRSource, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_DIRECTIONAL_SOURCE | michael@0: CSS_PROPERTY_APPLIES_TO_PAGE_RULE, michael@0: "", michael@0: 0, michael@0: kBoxPropSourceKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_MARGIN( michael@0: margin-left-rtl-source, michael@0: margin_left_rtl_source, michael@0: MarginLeftRTLSource, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_DIRECTIONAL_SOURCE | michael@0: CSS_PROPERTY_APPLIES_TO_PAGE_RULE, michael@0: "", michael@0: 0, michael@0: kBoxPropSourceKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: #endif michael@0: CSS_PROP_SHORTHAND( michael@0: margin-right, michael@0: margin_right, michael@0: MarginRight, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_UNITLESS_LENGTH_QUIRK | michael@0: CSS_PROPERTY_APPLIES_TO_PAGE_RULE | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "") michael@0: #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL michael@0: CSS_PROP_MARGIN( michael@0: margin-right-value, michael@0: margin_right_value, michael@0: MarginRightValue, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_REPORT_OTHER_NAME | michael@0: CSS_PROPERTY_STORES_CALC | michael@0: CSS_PROPERTY_APPLIES_TO_PAGE_RULE, michael@0: "", michael@0: VARIANT_AHLP | VARIANT_CALC, // for internal use michael@0: nullptr, michael@0: offsetof(nsStyleMargin, mMargin), michael@0: eStyleAnimType_Sides_Right) michael@0: CSS_PROP_MARGIN( michael@0: margin-right-ltr-source, michael@0: margin_right_ltr_source, michael@0: MarginRightLTRSource, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_DIRECTIONAL_SOURCE | michael@0: CSS_PROPERTY_APPLIES_TO_PAGE_RULE, michael@0: "", michael@0: 0, michael@0: kBoxPropSourceKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_MARGIN( michael@0: margin-right-rtl-source, michael@0: margin_right_rtl_source, michael@0: MarginRightRTLSource, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_DIRECTIONAL_SOURCE | michael@0: CSS_PROPERTY_APPLIES_TO_PAGE_RULE, michael@0: "", michael@0: 0, michael@0: kBoxPropSourceKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: #endif michael@0: CSS_PROP_SHORTHAND( michael@0: -moz-margin-start, michael@0: margin_start, michael@0: CSS_PROP_DOMPROP_PREFIXED(MarginStart), michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_APPLIES_TO_PAGE_RULE, michael@0: "") michael@0: #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL michael@0: CSS_PROP_MARGIN( michael@0: margin-start-value, michael@0: margin_start_value, michael@0: MarginStartValue, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_STORES_CALC | michael@0: CSS_PROPERTY_APPLIES_TO_PAGE_RULE, michael@0: "", michael@0: VARIANT_AHLP | VARIANT_CALC, // for internal use michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: #endif michael@0: CSS_PROP_MARGIN( michael@0: margin-top, michael@0: margin_top, michael@0: MarginTop, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_STORES_CALC | michael@0: CSS_PROPERTY_UNITLESS_LENGTH_QUIRK | michael@0: CSS_PROPERTY_APPLIES_TO_PAGE_RULE | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "", michael@0: VARIANT_AHLP | VARIANT_CALC, michael@0: nullptr, michael@0: offsetof(nsStyleMargin, mMargin), michael@0: eStyleAnimType_Sides_Top) michael@0: CSS_PROP_CONTENT( michael@0: marker-offset, michael@0: marker_offset, michael@0: MarkerOffset, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_AHL | VARIANT_CALC, michael@0: nullptr, michael@0: offsetof(nsStyleContent, mMarkerOffset), michael@0: eStyleAnimType_Coord) michael@0: CSS_PROP_BACKENDONLY( michael@0: marks, michael@0: marks, michael@0: Marks, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_PARSER_FUNCTION, michael@0: "", michael@0: 0, michael@0: kPageMarksKTable) michael@0: CSS_PROP_POSITION( michael@0: max-height, michael@0: max_height, michael@0: MaxHeight, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE | michael@0: CSS_PROPERTY_STORES_CALC | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "", michael@0: VARIANT_HLPO | VARIANT_CALC, michael@0: nullptr, michael@0: offsetof(nsStylePosition, mMaxHeight), michael@0: eStyleAnimType_Coord) michael@0: CSS_PROP_POSITION( michael@0: max-width, michael@0: max_width, michael@0: MaxWidth, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE | michael@0: CSS_PROPERTY_STORES_CALC | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "", michael@0: VARIANT_HKLPO | VARIANT_CALC, michael@0: kWidthKTable, michael@0: offsetof(nsStylePosition, mMaxWidth), michael@0: eStyleAnimType_Coord) michael@0: CSS_PROP_POSITION( michael@0: min-height, michael@0: min_height, michael@0: MinHeight, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE | michael@0: CSS_PROPERTY_STORES_CALC | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "", michael@0: VARIANT_HLP | VARIANT_CALC, michael@0: nullptr, michael@0: offsetof(nsStylePosition, mMinHeight), michael@0: eStyleAnimType_Coord) michael@0: CSS_PROP_POSITION( michael@0: min-width, michael@0: min_width, michael@0: MinWidth, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE | michael@0: CSS_PROPERTY_STORES_CALC | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "", michael@0: VARIANT_HKLP | VARIANT_CALC, michael@0: kWidthKTable, michael@0: offsetof(nsStylePosition, mMinWidth), michael@0: eStyleAnimType_Coord) michael@0: CSS_PROP_DISPLAY( michael@0: mix-blend-mode, michael@0: mix_blend_mode, michael@0: MixBlendMode, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_CREATES_STACKING_CONTEXT, michael@0: "layout.css.mix-blend-mode.enabled", michael@0: VARIANT_HK, michael@0: kBlendModeKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_DISPLAY( michael@0: opacity, michael@0: opacity, michael@0: Opacity, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER, michael@0: "", michael@0: VARIANT_HN, michael@0: nullptr, michael@0: offsetof(nsStyleDisplay, mOpacity), michael@0: eStyleAnimType_float) michael@0: CSS_PROP_DISPLAY( michael@0: -moz-orient, michael@0: orient, michael@0: CSS_PROP_DOMPROP_PREFIXED(Orient), michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kOrientKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_BACKENDONLY( michael@0: orphans, michael@0: orphans, michael@0: Orphans, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_AT_LEAST_ONE, michael@0: "", michael@0: VARIANT_HI, michael@0: nullptr) michael@0: CSS_PROP_SHORTHAND( michael@0: outline, michael@0: outline, michael@0: Outline, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") michael@0: CSS_PROP_OUTLINE( michael@0: outline-color, michael@0: outline_color, michael@0: OutlineColor, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED, michael@0: "", michael@0: VARIANT_HCK, michael@0: kOutlineColorKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_Custom) michael@0: CSS_PROP_OUTLINE( michael@0: outline-style, michael@0: outline_style, michael@0: OutlineStyle, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kOutlineStyleKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_OUTLINE( michael@0: outline-width, michael@0: outline_width, michael@0: OutlineWidth, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE, michael@0: "", michael@0: VARIANT_HKL | VARIANT_CALC, michael@0: kBorderWidthKTable, michael@0: offsetof(nsStyleOutline, mOutlineWidth), michael@0: eStyleAnimType_Coord) michael@0: CSS_PROP_OUTLINE( michael@0: outline-offset, michael@0: outline_offset, michael@0: OutlineOffset, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HL | VARIANT_CALC, michael@0: nullptr, michael@0: offsetof(nsStyleOutline, mOutlineOffset), michael@0: eStyleAnimType_nscoord) michael@0: CSS_PROP_SHORTHAND( michael@0: overflow, michael@0: overflow, michael@0: Overflow, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") michael@0: CSS_PROP_DISPLAY( michael@0: overflow-clip-box, michael@0: overflow_clip_box, michael@0: OverflowClipBox, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_ALWAYS_ENABLED_IN_UA_SHEETS | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER, michael@0: "layout.css.overflow-clip-box.enabled", michael@0: VARIANT_HK, michael@0: kOverflowClipBoxKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_DISPLAY( michael@0: overflow-x, michael@0: overflow_x, michael@0: OverflowX, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: // This is required by the UA stylesheet and can't be overridden. michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER, michael@0: "", michael@0: VARIANT_HK, michael@0: kOverflowSubKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_DISPLAY( michael@0: overflow-y, michael@0: overflow_y, michael@0: OverflowY, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: // This is required by the UA stylesheet and can't be overridden. michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER, michael@0: "", michael@0: VARIANT_HK, michael@0: kOverflowSubKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_SHORTHAND( michael@0: padding, michael@0: padding, michael@0: Padding, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_UNITLESS_LENGTH_QUIRK, michael@0: "") michael@0: CSS_PROP_PADDING( michael@0: padding-bottom, michael@0: padding_bottom, michael@0: PaddingBottom, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: // This is required by the UA stylesheet and can't be overridden. michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER | michael@0: CSS_PROPERTY_STORES_CALC | michael@0: CSS_PROPERTY_UNITLESS_LENGTH_QUIRK | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "", michael@0: VARIANT_HLP | VARIANT_CALC, michael@0: nullptr, michael@0: offsetof(nsStylePadding, mPadding), michael@0: eStyleAnimType_Sides_Bottom) michael@0: CSS_PROP_SHORTHAND( michael@0: -moz-padding-end, michael@0: padding_end, michael@0: CSS_PROP_DOMPROP_PREFIXED(PaddingEnd), michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") michael@0: #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL michael@0: CSS_PROP_PADDING( michael@0: padding-end-value, michael@0: padding_end_value, michael@0: PaddingEndValue, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: // This is required by the UA stylesheet and can't be overridden. michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER | michael@0: CSS_PROPERTY_STORES_CALC, michael@0: "", michael@0: VARIANT_HLP | VARIANT_CALC, // for internal use michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: #endif michael@0: CSS_PROP_SHORTHAND( michael@0: padding-left, michael@0: padding_left, michael@0: PaddingLeft, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_UNITLESS_LENGTH_QUIRK | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "") michael@0: #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL michael@0: CSS_PROP_PADDING( michael@0: padding-left-value, michael@0: padding_left_value, michael@0: PaddingLeftValue, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: // This is required by the UA stylesheet and can't be overridden. michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER | michael@0: CSS_PROPERTY_REPORT_OTHER_NAME | michael@0: CSS_PROPERTY_STORES_CALC, michael@0: "", michael@0: VARIANT_HLP | VARIANT_CALC, // for internal use michael@0: nullptr, michael@0: offsetof(nsStylePadding, mPadding), michael@0: eStyleAnimType_Sides_Left) michael@0: CSS_PROP_PADDING( michael@0: padding-left-ltr-source, michael@0: padding_left_ltr_source, michael@0: PaddingLeftLTRSource, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: // This is required by the UA stylesheet and can't be overridden. michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER | michael@0: CSS_PROPERTY_DIRECTIONAL_SOURCE, michael@0: "", michael@0: 0, michael@0: kBoxPropSourceKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_PADDING( michael@0: padding-left-rtl-source, michael@0: padding_left_rtl_source, michael@0: PaddingLeftRTLSource, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: // This is required by the UA stylesheet and can't be overridden. michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER | michael@0: CSS_PROPERTY_DIRECTIONAL_SOURCE, michael@0: "", michael@0: 0, michael@0: kBoxPropSourceKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: #endif michael@0: CSS_PROP_SHORTHAND( michael@0: padding-right, michael@0: padding_right, michael@0: PaddingRight, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_UNITLESS_LENGTH_QUIRK | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "") michael@0: #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL michael@0: CSS_PROP_PADDING( michael@0: padding-right-value, michael@0: padding_right_value, michael@0: PaddingRightValue, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: // This is required by the UA stylesheet and can't be overridden. michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER | michael@0: CSS_PROPERTY_REPORT_OTHER_NAME | michael@0: CSS_PROPERTY_STORES_CALC, michael@0: "", michael@0: VARIANT_HLP | VARIANT_CALC, // for internal use michael@0: nullptr, michael@0: offsetof(nsStylePadding, mPadding), michael@0: eStyleAnimType_Sides_Right) michael@0: CSS_PROP_PADDING( michael@0: padding-right-ltr-source, michael@0: padding_right_ltr_source, michael@0: PaddingRightLTRSource, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: // This is required by the UA stylesheet and can't be overridden. michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER | michael@0: CSS_PROPERTY_DIRECTIONAL_SOURCE, michael@0: "", michael@0: 0, michael@0: kBoxPropSourceKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_PADDING( michael@0: padding-right-rtl-source, michael@0: padding_right_rtl_source, michael@0: PaddingRightRTLSource, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: CSS_PROPERTY_DIRECTIONAL_SOURCE, michael@0: "", michael@0: 0, michael@0: kBoxPropSourceKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: #endif michael@0: CSS_PROP_SHORTHAND( michael@0: -moz-padding-start, michael@0: padding_start, michael@0: CSS_PROP_DOMPROP_PREFIXED(PaddingStart), michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") michael@0: #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL michael@0: CSS_PROP_PADDING( michael@0: padding-start-value, michael@0: padding_start_value, michael@0: PaddingStartValue, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: // This is required by the UA stylesheet and can't be overridden. michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER | michael@0: CSS_PROPERTY_STORES_CALC, michael@0: "", michael@0: VARIANT_HLP | VARIANT_CALC, // for internal use michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: #endif michael@0: CSS_PROP_PADDING( michael@0: padding-top, michael@0: padding_top, michael@0: PaddingTop, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | michael@0: // This is required by the UA stylesheet and can't be overridden. michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER | michael@0: CSS_PROPERTY_STORES_CALC | michael@0: CSS_PROPERTY_UNITLESS_LENGTH_QUIRK | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "", michael@0: VARIANT_HLP | VARIANT_CALC, michael@0: nullptr, michael@0: offsetof(nsStylePadding, mPadding), michael@0: eStyleAnimType_Sides_Top) michael@0: CSS_PROP_BACKENDONLY( michael@0: page, michael@0: page, michael@0: Page, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_AUTO | VARIANT_IDENTIFIER, michael@0: nullptr) michael@0: CSS_PROP_DISPLAY( michael@0: page-break-after, michael@0: page_break_after, michael@0: PageBreakAfter, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kPageBreakKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) // temp fix for bug 24000 michael@0: CSS_PROP_DISPLAY( michael@0: page-break-before, michael@0: page_break_before, michael@0: PageBreakBefore, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kPageBreakKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) // temp fix for bug 24000 michael@0: CSS_PROP_DISPLAY( michael@0: page-break-inside, michael@0: page_break_inside, michael@0: PageBreakInside, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kPageBreakInsideKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_SVG( michael@0: paint-order, michael@0: paint_order, michael@0: PaintOrder, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "svg.paint-order.enabled", michael@0: 0, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_VISIBILITY( michael@0: pointer-events, michael@0: pointer_events, michael@0: PointerEvents, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER, michael@0: "", michael@0: VARIANT_HK, michael@0: kPointerEventsKTable, michael@0: offsetof(nsStyleVisibility, mPointerEvents), michael@0: eStyleAnimType_EnumU8) michael@0: CSS_PROP_DISPLAY( michael@0: position, michael@0: position, michael@0: Position, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: // For position: sticky michael@0: CSS_PROPERTY_CREATES_STACKING_CONTEXT, michael@0: "", michael@0: VARIANT_HK, michael@0: kPositionKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_QUOTES( michael@0: quotes, michael@0: quotes, michael@0: Quotes, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "", michael@0: 0, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_DISPLAY( michael@0: resize, michael@0: resize, michael@0: Resize, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: // This is allowed because the UA stylesheet sets 'resize: both;' on michael@0: // textarea and we need to disable this for the placeholder michael@0: // pseudo-element. michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER, michael@0: "", michael@0: VARIANT_HK, michael@0: kResizeKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_POSITION( michael@0: right, michael@0: right, michael@0: Right, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_STORES_CALC | michael@0: CSS_PROPERTY_UNITLESS_LENGTH_QUIRK | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "", michael@0: VARIANT_AHLP | VARIANT_CALC, michael@0: nullptr, michael@0: offsetof(nsStylePosition, mOffset), michael@0: eStyleAnimType_Sides_Right) michael@0: CSS_PROP_BACKENDONLY( michael@0: size, michael@0: size, michael@0: Size, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "", michael@0: 0, michael@0: kPageSizeKTable) michael@0: CSS_PROP_TABLE( michael@0: table-layout, michael@0: table_layout, michael@0: TableLayout, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kTableLayoutKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_TEXT( michael@0: text-align, michael@0: text_align, michael@0: TextAlign, michael@0: CSS_PROPERTY_PARSE_VALUE | CSS_PROPERTY_VALUE_PARSER_FUNCTION | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER, michael@0: "", michael@0: // When we support aligning on a string, we can parse text-align michael@0: // as a string.... michael@0: VARIANT_HK /* | VARIANT_STRING */, michael@0: kTextAlignKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_TEXT( michael@0: -moz-text-align-last, michael@0: text_align_last, michael@0: CSS_PROP_DOMPROP_PREFIXED(TextAlignLast), michael@0: CSS_PROPERTY_PARSE_VALUE | CSS_PROPERTY_VALUE_PARSER_FUNCTION, michael@0: "", michael@0: VARIANT_HK, michael@0: kTextAlignLastKTable, michael@0: offsetof(nsStyleText, mTextAlignLast), michael@0: eStyleAnimType_None) michael@0: CSS_PROP_SHORTHAND( michael@0: text-decoration, michael@0: text_decoration, michael@0: TextDecoration, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") michael@0: CSS_PROP_TEXT( michael@0: text-combine-upright, michael@0: text_combine_upright, michael@0: TextCombineUpright, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_PARSER_FUNCTION, michael@0: "layout.css.vertical-text.enabled", michael@0: 0, michael@0: kTextCombineUprightKTable, michael@0: offsetof(nsStyleText, mTextCombineUpright), michael@0: eStyleAnimType_EnumU8) michael@0: CSS_PROP_TEXTRESET( michael@0: -moz-text-decoration-color, michael@0: text_decoration_color, michael@0: CSS_PROP_DOMPROP_PREFIXED(TextDecorationColor), michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER | michael@0: CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED, michael@0: "", michael@0: VARIANT_HCK, michael@0: kBorderColorKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_Custom) michael@0: CSS_PROP_TEXTRESET( michael@0: -moz-text-decoration-line, michael@0: text_decoration_line, michael@0: CSS_PROP_DOMPROP_PREFIXED(TextDecorationLine), michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_PARSER_FUNCTION | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER, michael@0: "", michael@0: 0, michael@0: kTextDecorationLineKTable, michael@0: offsetof(nsStyleTextReset, mTextDecorationLine), michael@0: eStyleAnimType_EnumU8) michael@0: CSS_PROP_TEXTRESET( michael@0: -moz-text-decoration-style, michael@0: text_decoration_style, michael@0: CSS_PROP_DOMPROP_PREFIXED(TextDecorationStyle), michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER, michael@0: "", michael@0: VARIANT_HK, michael@0: kTextDecorationStyleKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_Custom) michael@0: CSS_PROP_TEXT( michael@0: text-indent, michael@0: text_indent, michael@0: TextIndent, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_STORES_CALC | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "", michael@0: VARIANT_HLP | VARIANT_CALC, michael@0: nullptr, michael@0: offsetof(nsStyleText, mTextIndent), michael@0: eStyleAnimType_Coord) michael@0: CSS_PROP_TEXT( michael@0: text-orientation, michael@0: text_orientation, michael@0: TextOrientation, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "layout.css.vertical-text.enabled", michael@0: VARIANT_HK, michael@0: kTextOrientationKTable, michael@0: offsetof(nsStyleText, mTextOrientation), michael@0: eStyleAnimType_EnumU8) michael@0: CSS_PROP_TEXTRESET( michael@0: text-overflow, michael@0: text_overflow, michael@0: TextOverflow, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_PARSER_FUNCTION | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER, michael@0: "", michael@0: 0, michael@0: kTextOverflowKTable, michael@0: offsetof(nsStyleTextReset, mTextOverflow), michael@0: eStyleAnimType_None) michael@0: CSS_PROP_TEXT( michael@0: text-shadow, michael@0: text_shadow, michael@0: TextShadow, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER | michael@0: CSS_PROPERTY_VALUE_LIST_USES_COMMAS | michael@0: CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED, michael@0: // NOTE: some components must be nonnegative michael@0: "", michael@0: 0, michael@0: nullptr, michael@0: offsetof(nsStyleText, mTextShadow), michael@0: eStyleAnimType_Shadow) michael@0: CSS_PROP_TEXT( michael@0: -moz-text-size-adjust, michael@0: text_size_adjust, michael@0: CSS_PROP_DOMPROP_PREFIXED(TextSizeAdjust), michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_AUTO | VARIANT_NONE | VARIANT_INHERIT, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_TEXT( michael@0: text-transform, michael@0: text_transform, michael@0: TextTransform, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER, michael@0: "", michael@0: VARIANT_HK, michael@0: kTextTransformKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_DISPLAY( michael@0: transform, michael@0: transform, michael@0: Transform, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH | michael@0: CSS_PROPERTY_CREATES_STACKING_CONTEXT, michael@0: "", michael@0: 0, michael@0: nullptr, michael@0: offsetof(nsStyleDisplay, mSpecifiedTransform), michael@0: eStyleAnimType_Custom) michael@0: CSS_PROP_DISPLAY( michael@0: transform-origin, michael@0: transform_origin, michael@0: TransformOrigin, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_STORES_CALC | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "", michael@0: 0, michael@0: kBackgroundPositionKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_Custom) michael@0: CSS_PROP_DISPLAY( michael@0: perspective-origin, michael@0: perspective_origin, michael@0: PerspectiveOrigin, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_STORES_CALC | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "", michael@0: 0, michael@0: kBackgroundPositionKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_Custom) michael@0: CSS_PROP_DISPLAY( michael@0: perspective, michael@0: perspective, michael@0: Perspective, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_CREATES_STACKING_CONTEXT, michael@0: "", michael@0: VARIANT_NONE | VARIANT_INHERIT | VARIANT_LENGTH | VARIANT_POSITIVE_DIMENSION, michael@0: nullptr, michael@0: offsetof(nsStyleDisplay, mChildPerspective), michael@0: eStyleAnimType_Coord) michael@0: CSS_PROP_DISPLAY( michael@0: transform-style, michael@0: transform_style, michael@0: TransformStyle, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_CREATES_STACKING_CONTEXT, michael@0: "", michael@0: VARIANT_HK, michael@0: kTransformStyleKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_DISPLAY( michael@0: backface-visibility, michael@0: backface_visibility, michael@0: BackfaceVisibility, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kBackfaceVisibilityKTable, michael@0: offsetof(nsStyleDisplay, mBackfaceVisibility), michael@0: eStyleAnimType_None) michael@0: CSS_PROP_POSITION( michael@0: top, michael@0: top, michael@0: Top, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_STORES_CALC | michael@0: CSS_PROPERTY_UNITLESS_LENGTH_QUIRK | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "", michael@0: VARIANT_AHLP | VARIANT_CALC, michael@0: nullptr, michael@0: offsetof(nsStylePosition, mOffset), michael@0: eStyleAnimType_Sides_Top) michael@0: CSS_PROP_DISPLAY( michael@0: touch-action, michael@0: touch_action, michael@0: TouchAction, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_PARSER_FUNCTION, michael@0: "layout.css.touch_action.enabled", michael@0: VARIANT_HK, michael@0: kTouchActionKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_SHORTHAND( michael@0: transition, michael@0: transition, michael@0: Transition, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") michael@0: CSS_PROP_DISPLAY( michael@0: transition-delay, michael@0: transition_delay, michael@0: TransitionDelay, michael@0: CSS_PROPERTY_PARSE_VALUE_LIST | michael@0: CSS_PROPERTY_VALUE_LIST_USES_COMMAS, michael@0: "", michael@0: VARIANT_TIME, // used by list parsing michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_DISPLAY( michael@0: transition-duration, michael@0: transition_duration, michael@0: TransitionDuration, michael@0: CSS_PROPERTY_PARSE_VALUE_LIST | michael@0: CSS_PROPERTY_VALUE_LIST_USES_COMMAS, michael@0: "", michael@0: VARIANT_TIME | VARIANT_NONNEGATIVE_DIMENSION, // used by list parsing michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_DISPLAY( michael@0: transition-property, michael@0: transition_property, michael@0: TransitionProperty, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_VALUE_LIST_USES_COMMAS, michael@0: "", michael@0: VARIANT_IDENTIFIER | VARIANT_NONE | VARIANT_ALL, // used only in shorthand michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_DISPLAY( michael@0: transition-timing-function, michael@0: transition_timing_function, michael@0: TransitionTimingFunction, michael@0: CSS_PROPERTY_PARSE_VALUE_LIST | michael@0: CSS_PROPERTY_VALUE_LIST_USES_COMMAS, michael@0: "", michael@0: VARIANT_KEYWORD | VARIANT_TIMING_FUNCTION, // used by list parsing michael@0: kTransitionTimingFunctionKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: #ifndef CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND michael@0: CSS_PROP_TEXTRESET( michael@0: unicode-bidi, michael@0: unicode_bidi, michael@0: UnicodeBidi, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kUnicodeBidiKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: #endif // !defined(CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND) michael@0: CSS_PROP_USERINTERFACE( michael@0: -moz-user-focus, michael@0: user_focus, michael@0: CSS_PROP_DOMPROP_PREFIXED(UserFocus), michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kUserFocusKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) // XXX bug 3935 michael@0: CSS_PROP_USERINTERFACE( michael@0: -moz-user-input, michael@0: user_input, michael@0: CSS_PROP_DOMPROP_PREFIXED(UserInput), michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kUserInputKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) // XXX ??? // XXX bug 3935 michael@0: CSS_PROP_USERINTERFACE( michael@0: -moz-user-modify, michael@0: user_modify, michael@0: CSS_PROP_DOMPROP_PREFIXED(UserModify), michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kUserModifyKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) // XXX bug 3935 michael@0: CSS_PROP_UIRESET( michael@0: -moz-user-select, michael@0: user_select, michael@0: CSS_PROP_DOMPROP_PREFIXED(UserSelect), michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kUserSelectKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) // XXX bug 3935 michael@0: // NOTE: vertical-align is only supposed to apply to :first-letter when michael@0: // 'float' is 'none', but we don't worry about that since it has no michael@0: // effect otherwise michael@0: CSS_PROP_TEXTRESET( michael@0: vertical-align, michael@0: vertical_align, michael@0: VerticalAlign, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER | michael@0: CSS_PROPERTY_STORES_CALC | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "", michael@0: VARIANT_HKLP | VARIANT_CALC, michael@0: kVerticalAlignKTable, michael@0: offsetof(nsStyleTextReset, mVerticalAlign), michael@0: eStyleAnimType_Coord) michael@0: CSS_PROP_VISIBILITY( michael@0: visibility, michael@0: visibility, michael@0: Visibility, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kVisibilityKTable, michael@0: offsetof(nsStyleVisibility, mVisible), michael@0: eStyleAnimType_EnumU8) // reflow for collapse michael@0: CSS_PROP_TEXT( michael@0: white-space, michael@0: white_space, michael@0: WhiteSpace, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: // This is required by the UA stylesheet and can't be overridden. michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER, michael@0: "", michael@0: VARIANT_HK, michael@0: kWhitespaceKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_BACKENDONLY( michael@0: widows, michael@0: widows, michael@0: Widows, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_AT_LEAST_ONE, michael@0: "", michael@0: VARIANT_HI, michael@0: nullptr) michael@0: CSS_PROP_POSITION( michael@0: width, michael@0: width, michael@0: Width, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE | michael@0: CSS_PROPERTY_STORES_CALC | michael@0: CSS_PROPERTY_UNITLESS_LENGTH_QUIRK | michael@0: CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, michael@0: "", michael@0: VARIANT_AHKLP | VARIANT_CALC, michael@0: kWidthKTable, michael@0: offsetof(nsStylePosition, mWidth), michael@0: eStyleAnimType_Coord) michael@0: CSS_PROP_UIRESET( michael@0: -moz-window-shadow, michael@0: _moz_window_shadow, michael@0: CSS_PROP_DOMPROP_PREFIXED(WindowShadow), michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kWindowShadowKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_TEXT( michael@0: word-break, michael@0: word_break, michael@0: WordBreak, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kWordBreakKTable, michael@0: offsetof(nsStyleText, mWordBreak), michael@0: eStyleAnimType_EnumU8) michael@0: CSS_PROP_TEXT( michael@0: word-spacing, michael@0: word_spacing, michael@0: WordSpacing, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | michael@0: CSS_PROPERTY_APPLIES_TO_PLACEHOLDER | michael@0: CSS_PROPERTY_UNITLESS_LENGTH_QUIRK, michael@0: "", michael@0: VARIANT_HL | VARIANT_NORMAL | VARIANT_CALC, michael@0: nullptr, michael@0: offsetof(nsStyleText, mWordSpacing), michael@0: eStyleAnimType_nscoord) michael@0: CSS_PROP_TEXT( michael@0: word-wrap, michael@0: word_wrap, michael@0: WordWrap, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kWordWrapKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_TEXT( michael@0: -moz-hyphens, michael@0: hyphens, michael@0: CSS_PROP_DOMPROP_PREFIXED(Hyphens), michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kHyphensKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_VISIBILITY( michael@0: writing-mode, michael@0: writing_mode, michael@0: WritingMode, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "layout.css.vertical-text.enabled", michael@0: VARIANT_HK, michael@0: kWritingModeKTable, michael@0: offsetof(nsStyleVisibility, mWritingMode), michael@0: eStyleAnimType_EnumU8) michael@0: CSS_PROP_POSITION( michael@0: z-index, michael@0: z_index, michael@0: ZIndex, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_CREATES_STACKING_CONTEXT, michael@0: "", michael@0: VARIANT_AHI, michael@0: nullptr, michael@0: offsetof(nsStylePosition, mZIndex), michael@0: eStyleAnimType_Coord) michael@0: CSS_PROP_XUL( michael@0: -moz-box-align, michael@0: box_align, michael@0: CSS_PROP_DOMPROP_PREFIXED(BoxAlign), michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kBoxAlignKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) // XXX bug 3935 michael@0: CSS_PROP_XUL( michael@0: -moz-box-direction, michael@0: box_direction, michael@0: CSS_PROP_DOMPROP_PREFIXED(BoxDirection), michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kBoxDirectionKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) // XXX bug 3935 michael@0: CSS_PROP_XUL( michael@0: -moz-box-flex, michael@0: box_flex, michael@0: CSS_PROP_DOMPROP_PREFIXED(BoxFlex), michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE, michael@0: "", michael@0: VARIANT_HN, michael@0: nullptr, michael@0: offsetof(nsStyleXUL, mBoxFlex), michael@0: eStyleAnimType_float) // XXX bug 3935 michael@0: CSS_PROP_XUL( michael@0: -moz-box-orient, michael@0: box_orient, michael@0: CSS_PROP_DOMPROP_PREFIXED(BoxOrient), michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kBoxOrientKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) // XXX bug 3935 michael@0: CSS_PROP_XUL( michael@0: -moz-box-pack, michael@0: box_pack, michael@0: CSS_PROP_DOMPROP_PREFIXED(BoxPack), michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kBoxPackKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) // XXX bug 3935 michael@0: CSS_PROP_XUL( michael@0: -moz-box-ordinal-group, michael@0: box_ordinal_group, michael@0: CSS_PROP_DOMPROP_PREFIXED(BoxOrdinalGroup), michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE, michael@0: "", michael@0: VARIANT_HI, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_XUL( michael@0: -moz-stack-sizing, michael@0: stack_sizing, michael@0: CSS_PROP_DOMPROP_PREFIXED(StackSizing), michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kStackSizingKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: michael@0: #ifndef CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND michael@0: #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL michael@0: CSS_PROP_FONT( michael@0: -moz-script-level, michael@0: script_level, michael@0: ScriptLevel, michael@0: // REVIEW: no range restriction? michael@0: // NOTE: CSSParserImpl::ParseSingleValueProperty only accepts this michael@0: // property when mUnsafeRulesEnabled is set. michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: // script-level can take Auto, Integer and Number values, but only Auto michael@0: // ("increment if parent is not in displaystyle") and Integer michael@0: // ("relative") values can be specified in a style sheet. michael@0: VARIANT_AHI, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_FONT( michael@0: -moz-script-size-multiplier, michael@0: script_size_multiplier, michael@0: ScriptSizeMultiplier, michael@0: // REVIEW: no range restriction? michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE, michael@0: "", michael@0: 0, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_FONT( michael@0: -moz-script-min-size, michael@0: script_min_size, michael@0: ScriptMinSize, michael@0: // REVIEW: no range restriction? michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE, michael@0: "", michael@0: 0, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_FONT( michael@0: -moz-math-variant, michael@0: math_variant, michael@0: MathVariant, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE, michael@0: "", michael@0: VARIANT_HK, michael@0: kMathVariantKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_FONT( michael@0: -moz-math-display, michael@0: math_display, michael@0: MathDisplay, michael@0: // NOTE: CSSParserImpl::ParseSingleValueProperty only accepts this michael@0: // property when mUnsafeRulesEnabled is set. michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kMathDisplayKTable, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: #endif // !defined(CSS_PROP_LIST_EXCLUDE_INTERNAL) michael@0: #endif // !defined(CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND) michael@0: michael@0: CSS_PROP_SVGRESET( michael@0: clip-path, michael@0: clip_path, michael@0: ClipPath, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_CREATES_STACKING_CONTEXT, michael@0: "", michael@0: VARIANT_HUO, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_SVG( michael@0: clip-rule, michael@0: clip_rule, michael@0: ClipRule, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kFillRuleKTable, michael@0: offsetof(nsStyleSVG, mClipRule), michael@0: eStyleAnimType_EnumU8) michael@0: CSS_PROP_SVG( michael@0: color-interpolation, michael@0: color_interpolation, michael@0: ColorInterpolation, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kColorInterpolationKTable, michael@0: offsetof(nsStyleSVG, mColorInterpolation), michael@0: eStyleAnimType_EnumU8) michael@0: CSS_PROP_SVG( michael@0: color-interpolation-filters, michael@0: color_interpolation_filters, michael@0: ColorInterpolationFilters, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kColorInterpolationKTable, michael@0: offsetof(nsStyleSVG, mColorInterpolationFilters), michael@0: eStyleAnimType_EnumU8) michael@0: CSS_PROP_SVGRESET( michael@0: dominant-baseline, michael@0: dominant_baseline, michael@0: DominantBaseline, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kDominantBaselineKTable, michael@0: offsetof(nsStyleSVGReset, mDominantBaseline), michael@0: eStyleAnimType_EnumU8) michael@0: CSS_PROP_SVG( michael@0: fill, michael@0: fill, michael@0: Fill, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "", michael@0: 0, michael@0: kContextPatternKTable, michael@0: offsetof(nsStyleSVG, mFill), michael@0: eStyleAnimType_PaintServer) michael@0: CSS_PROP_SVG( michael@0: fill-opacity, michael@0: fill_opacity, michael@0: FillOpacity, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HN | VARIANT_OPENTYPE_SVG_KEYWORD, michael@0: kContextOpacityKTable, michael@0: offsetof(nsStyleSVG, mFillOpacity), michael@0: eStyleAnimType_float) michael@0: CSS_PROP_SVG( michael@0: fill-rule, michael@0: fill_rule, michael@0: FillRule, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kFillRuleKTable, michael@0: offsetof(nsStyleSVG, mFillRule), michael@0: eStyleAnimType_EnumU8) michael@0: CSS_PROP_SVGRESET( michael@0: filter, michael@0: filter, michael@0: Filter, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_CREATES_STACKING_CONTEXT, michael@0: "", michael@0: 0, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_Custom) michael@0: CSS_PROP_SVGRESET( michael@0: flood-color, michael@0: flood_color, michael@0: FloodColor, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HC, michael@0: nullptr, michael@0: offsetof(nsStyleSVGReset, mFloodColor), michael@0: eStyleAnimType_Color) michael@0: CSS_PROP_SVGRESET( michael@0: flood-opacity, michael@0: flood_opacity, michael@0: FloodOpacity, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HN, michael@0: nullptr, michael@0: offsetof(nsStyleSVGReset, mFloodOpacity), michael@0: eStyleAnimType_float) michael@0: CSS_PROP_SVG( michael@0: image-rendering, michael@0: image_rendering, michael@0: ImageRendering, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kImageRenderingKTable, michael@0: offsetof(nsStyleSVG, mImageRendering), michael@0: eStyleAnimType_EnumU8) michael@0: CSS_PROP_SVGRESET( michael@0: lighting-color, michael@0: lighting_color, michael@0: LightingColor, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HC, michael@0: nullptr, michael@0: offsetof(nsStyleSVGReset, mLightingColor), michael@0: eStyleAnimType_Color) michael@0: CSS_PROP_SHORTHAND( michael@0: marker, michael@0: marker, michael@0: Marker, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "") michael@0: CSS_PROP_SVG( michael@0: marker-end, michael@0: marker_end, michael@0: MarkerEnd, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HUO, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_SVG( michael@0: marker-mid, michael@0: marker_mid, michael@0: MarkerMid, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HUO, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_SVG( michael@0: marker-start, michael@0: marker_start, michael@0: MarkerStart, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HUO, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_SVGRESET( michael@0: mask, michael@0: mask, michael@0: Mask, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_CREATES_STACKING_CONTEXT, michael@0: "", michael@0: VARIANT_HUO, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_SVGRESET( michael@0: mask-type, michael@0: mask_type, michael@0: MaskType, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "layout.css.masking.enabled", michael@0: VARIANT_HK, michael@0: kMaskTypeKTable, michael@0: offsetof(nsStyleSVGReset, mMaskType), michael@0: eStyleAnimType_EnumU8) michael@0: CSS_PROP_SVG( michael@0: shape-rendering, michael@0: shape_rendering, michael@0: ShapeRendering, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kShapeRenderingKTable, michael@0: offsetof(nsStyleSVG, mShapeRendering), michael@0: eStyleAnimType_EnumU8) michael@0: CSS_PROP_SVGRESET( michael@0: stop-color, michael@0: stop_color, michael@0: StopColor, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HC, michael@0: nullptr, michael@0: offsetof(nsStyleSVGReset, mStopColor), michael@0: eStyleAnimType_Color) michael@0: CSS_PROP_SVGRESET( michael@0: stop-opacity, michael@0: stop_opacity, michael@0: StopOpacity, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HN, michael@0: nullptr, michael@0: offsetof(nsStyleSVGReset, mStopOpacity), michael@0: eStyleAnimType_float) michael@0: CSS_PROP_SVG( michael@0: stroke, michael@0: stroke, michael@0: Stroke, michael@0: CSS_PROPERTY_PARSE_FUNCTION, michael@0: "", michael@0: 0, michael@0: kContextPatternKTable, michael@0: offsetof(nsStyleSVG, mStroke), michael@0: eStyleAnimType_PaintServer) michael@0: CSS_PROP_SVG( michael@0: stroke-dasharray, michael@0: stroke_dasharray, michael@0: StrokeDasharray, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_VALUE_LIST_USES_COMMAS, michael@0: // NOTE: Internal values have range restrictions. michael@0: "", michael@0: 0, michael@0: kStrokeContextValueKTable, michael@0: CSS_PROP_NO_OFFSET, /* property stored in 2 separate members */ michael@0: eStyleAnimType_Custom) michael@0: CSS_PROP_SVG( michael@0: stroke-dashoffset, michael@0: stroke_dashoffset, michael@0: StrokeDashoffset, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HLPN | VARIANT_OPENTYPE_SVG_KEYWORD, michael@0: kStrokeContextValueKTable, michael@0: offsetof(nsStyleSVG, mStrokeDashoffset), michael@0: eStyleAnimType_Coord) michael@0: CSS_PROP_SVG( michael@0: stroke-linecap, michael@0: stroke_linecap, michael@0: StrokeLinecap, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kStrokeLinecapKTable, michael@0: offsetof(nsStyleSVG, mStrokeLinecap), michael@0: eStyleAnimType_EnumU8) michael@0: CSS_PROP_SVG( michael@0: stroke-linejoin, michael@0: stroke_linejoin, michael@0: StrokeLinejoin, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kStrokeLinejoinKTable, michael@0: offsetof(nsStyleSVG, mStrokeLinejoin), michael@0: eStyleAnimType_EnumU8) michael@0: CSS_PROP_SVG( michael@0: stroke-miterlimit, michael@0: stroke_miterlimit, michael@0: StrokeMiterlimit, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_AT_LEAST_ONE, michael@0: "", michael@0: VARIANT_HN, michael@0: nullptr, michael@0: offsetof(nsStyleSVG, mStrokeMiterlimit), michael@0: eStyleAnimType_float) michael@0: CSS_PROP_SVG( michael@0: stroke-opacity, michael@0: stroke_opacity, michael@0: StrokeOpacity, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HN | VARIANT_OPENTYPE_SVG_KEYWORD, michael@0: kContextOpacityKTable, michael@0: offsetof(nsStyleSVG, mStrokeOpacity), michael@0: eStyleAnimType_float) michael@0: CSS_PROP_SVG( michael@0: stroke-width, michael@0: stroke_width, michael@0: StrokeWidth, michael@0: CSS_PROPERTY_PARSE_VALUE | michael@0: CSS_PROPERTY_VALUE_NONNEGATIVE, michael@0: "", michael@0: VARIANT_HLPN | VARIANT_OPENTYPE_SVG_KEYWORD, michael@0: kStrokeContextValueKTable, michael@0: offsetof(nsStyleSVG, mStrokeWidth), michael@0: eStyleAnimType_Coord) michael@0: CSS_PROP_SVG( michael@0: text-anchor, michael@0: text_anchor, michael@0: TextAnchor, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kTextAnchorKTable, michael@0: offsetof(nsStyleSVG, mTextAnchor), michael@0: eStyleAnimType_EnumU8) michael@0: CSS_PROP_SVG( michael@0: text-rendering, michael@0: text_rendering, michael@0: TextRendering, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kTextRenderingKTable, michael@0: offsetof(nsStyleSVG, mTextRendering), michael@0: eStyleAnimType_EnumU8) michael@0: CSS_PROP_SVGRESET( michael@0: vector-effect, michael@0: vector_effect, michael@0: VectorEffect, michael@0: CSS_PROPERTY_PARSE_VALUE, michael@0: "", michael@0: VARIANT_HK, michael@0: kVectorEffectKTable, michael@0: offsetof(nsStyleSVGReset, mVectorEffect), michael@0: eStyleAnimType_EnumU8) michael@0: michael@0: CSS_PROP_DISPLAY( michael@0: will-change, michael@0: will_change, michael@0: WillChange, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_VALUE_LIST_USES_COMMAS | michael@0: CSS_PROPERTY_ALWAYS_ENABLED_IN_CHROME_OR_CERTIFIED_APP, michael@0: "layout.css.will-change.enabled", michael@0: 0, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: michael@0: // The shorthands below are essentially aliases, but they require different michael@0: // parsing rules, and are therefore implemented as shorthands. michael@0: CSS_PROP_SHORTHAND( michael@0: -moz-transform, michael@0: _moz_transform, michael@0: MozTransform, michael@0: CSS_PROPERTY_PARSE_FUNCTION | michael@0: CSS_PROPERTY_IS_ALIAS, michael@0: "layout.css.prefixes.transforms") michael@0: michael@0: #ifndef CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND michael@0: #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL michael@0: // We have a few properties that are in style structs but are not stored michael@0: // in style sheets (or nsCSS* structs). Some fields in these property michael@0: // definitions are bogus (e.g., they work for nsRuleData* offsets but michael@0: // not nsCSS* offsets). Callers that care about these bogus fields can michael@0: // define CSS_PROP_STUB_NOT_CSS to define a replacement for these michael@0: // entries. michael@0: #ifdef CSS_PROP_STUB_NOT_CSS michael@0: CSS_PROP_STUB_NOT_CSS michael@0: CSS_PROP_STUB_NOT_CSS michael@0: #else michael@0: CSS_PROP_FONT( michael@0: -x-lang, michael@0: _x_lang, michael@0: Lang, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE, michael@0: "", michael@0: 0, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_TABLE( michael@0: -x-span, michael@0: _x_span, michael@0: Span, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE, michael@0: "", michael@0: 0, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: CSS_PROP_FONT( michael@0: -x-text-zoom, michael@0: _x_text_zoom, michael@0: TextZoom, michael@0: CSS_PROPERTY_PARSE_INACCESSIBLE, michael@0: "", michael@0: 0, michael@0: nullptr, michael@0: CSS_PROP_NO_OFFSET, michael@0: eStyleAnimType_None) michael@0: #endif /* !defined(CSS_PROP_STUB_NOT_CSS) */ michael@0: #endif /* !defined(CSS_PROP_LIST_EXCLUDE_INTERNAL) */ michael@0: #endif /* !defined(CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND) */ michael@0: michael@0: #ifdef USED_CSS_PROP michael@0: michael@0: #undef USED_CSS_PROP michael@0: #undef CSS_PROP_FONT michael@0: #undef CSS_PROP_COLOR michael@0: #undef CSS_PROP_BACKGROUND michael@0: #undef CSS_PROP_LIST michael@0: #undef CSS_PROP_POSITION michael@0: #undef CSS_PROP_TEXT michael@0: #undef CSS_PROP_TEXTRESET michael@0: #undef CSS_PROP_DISPLAY michael@0: #undef CSS_PROP_VISIBILITY michael@0: #undef CSS_PROP_CONTENT michael@0: #undef CSS_PROP_QUOTES michael@0: #undef CSS_PROP_USERINTERFACE michael@0: #undef CSS_PROP_UIRESET michael@0: #undef CSS_PROP_TABLE michael@0: #undef CSS_PROP_TABLEBORDER michael@0: #undef CSS_PROP_MARGIN michael@0: #undef CSS_PROP_PADDING michael@0: #undef CSS_PROP_BORDER michael@0: #undef CSS_PROP_OUTLINE michael@0: #undef CSS_PROP_XUL michael@0: #undef CSS_PROP_COLUMN michael@0: #undef CSS_PROP_SVG michael@0: #undef CSS_PROP_SVGRESET michael@0: #undef CSS_PROP_VARIABLES michael@0: #ifdef DEFINED_CSS_PROP_BACKENDONLY michael@0: #undef CSS_PROP_BACKENDONLY michael@0: #undef DEFINED_CSS_PROP_BACKENDONLY michael@0: #endif michael@0: michael@0: #else /* !defined(USED_CSS_PROP) */ michael@0: michael@0: #ifdef DEFINED_CSS_PROP_FONT michael@0: #undef CSS_PROP_FONT michael@0: #undef DEFINED_CSS_PROP_FONT michael@0: #endif michael@0: #ifdef DEFINED_CSS_PROP_COLOR michael@0: #undef CSS_PROP_COLOR michael@0: #undef DEFINED_CSS_PROP_COLOR michael@0: #endif michael@0: #ifdef DEFINED_CSS_PROP_BACKGROUND michael@0: #undef CSS_PROP_BACKGROUND michael@0: #undef DEFINED_CSS_PROP_BACKGROUND michael@0: #endif michael@0: #ifdef DEFINED_CSS_PROP_LIST michael@0: #undef CSS_PROP_LIST michael@0: #undef DEFINED_CSS_PROP_LIST michael@0: #endif michael@0: #ifdef DEFINED_CSS_PROP_POSITION michael@0: #undef CSS_PROP_POSITION michael@0: #undef DEFINED_CSS_PROP_POSITION michael@0: #endif michael@0: #ifdef DEFINED_CSS_PROP_TEXT michael@0: #undef CSS_PROP_TEXT michael@0: #undef DEFINED_CSS_PROP_TETEXTRESETT michael@0: #endif michael@0: #ifdef DEFINED_CSS_PROP_TEXTRESET michael@0: #undef CSS_PROP_TEXTRESET michael@0: #undef DEFINED_CSS_PROP_TEDISPLAYTRESET michael@0: #endif michael@0: #ifdef DEFINED_CSS_PROP_DISPLAY michael@0: #undef CSS_PROP_DISPLAY michael@0: #undef DEFINED_CSS_PROP_DISPLAY michael@0: #endif michael@0: #ifdef DEFINED_CSS_PROP_VISIBILITY michael@0: #undef CSS_PROP_VISIBILITY michael@0: #undef DEFINED_CSS_PROP_VISIBILITY michael@0: #endif michael@0: #ifdef DEFINED_CSS_PROP_CONTENT michael@0: #undef CSS_PROP_CONTENT michael@0: #undef DEFINED_CSS_PROP_CONTENT michael@0: #endif michael@0: #ifdef DEFINED_CSS_PROP_QUOTES michael@0: #undef CSS_PROP_QUOTES michael@0: #undef DEFINED_CSS_PROP_QUOTES michael@0: #endif michael@0: #ifdef DEFINED_CSS_PROP_USERINTERFACE michael@0: #undef CSS_PROP_USERINTERFACE michael@0: #undef DEFINED_CSS_PROP_USERINTERFACE michael@0: #endif michael@0: #ifdef DEFINED_CSS_PROP_UIRESET michael@0: #undef CSS_PROP_UIRESET michael@0: #undef DEFINED_CSS_PROP_UIRESET michael@0: #endif michael@0: #ifdef DEFINED_CSS_PROP_TABLE michael@0: #undef CSS_PROP_TABLE michael@0: #undef DEFINED_CSS_PROP_TABLE michael@0: #endif michael@0: #ifdef DEFINED_CSS_PROP_TABLEBORDER michael@0: #undef CSS_PROP_TABLEBORDER michael@0: #undef DEFINED_CSS_PROP_TABLEBORDER michael@0: #endif michael@0: #ifdef DEFINED_CSS_PROP_MARGIN michael@0: #undef CSS_PROP_MARGIN michael@0: #undef DEFINED_CSS_PROP_MARGIN michael@0: #endif michael@0: #ifdef DEFINED_CSS_PROP_PADDING michael@0: #undef CSS_PROP_PADDING michael@0: #undef DEFINED_CSS_PROP_PADDING michael@0: #endif michael@0: #ifdef DEFINED_CSS_PROP_BORDER michael@0: #undef CSS_PROP_BORDER michael@0: #undef DEFINED_CSS_PROP_BORDER michael@0: #endif michael@0: #ifdef DEFINED_CSS_PROP_OUTLINE michael@0: #undef CSS_PROP_OUTLINE michael@0: #undef DEFINED_CSS_PROP_OUTLINE michael@0: #endif michael@0: #ifdef DEFINED_CSS_PROP_XUL michael@0: #undef CSS_PROP_XUL michael@0: #undef DEFINED_CSS_PROP_XUL michael@0: #endif michael@0: #ifdef DEFINED_CSS_PROP_COLUMN michael@0: #undef CSS_PROP_COLUMN michael@0: #undef DEFINED_CSS_PROP_COLUMN michael@0: #endif michael@0: #ifdef DEFINED_CSS_PROP_SVG michael@0: #undef CSS_PROP_SVG michael@0: #undef DEFINED_CSS_PROP_SVG michael@0: #endif michael@0: #ifdef DEFINED_CSS_PROP_SVGRESET michael@0: #undef CSS_PROP_SVGRESET michael@0: #undef DEFINED_CSS_PROP_SVGRESET michael@0: #endif michael@0: #ifdef DEFINED_CSS_PROP_VARIABLES michael@0: #undef CSS_PROP_VARIABLES michael@0: #undef DEFINED_CSS_PROP_VARIABLES michael@0: #endif michael@0: #ifdef DEFINED_CSS_PROP_BACKENDONLY michael@0: #undef CSS_PROP_BACKENDONLY michael@0: #undef DEFINED_CSS_PROP_BACKENDONLY michael@0: #endif michael@0: michael@0: #endif /* !defined(USED_CSS_PROP) */ michael@0: michael@0: #ifdef DEFINED_CSS_PROP_SHORTHAND michael@0: #undef CSS_PROP_SHORTHAND michael@0: #undef DEFINED_CSS_PROP_SHORTHAND michael@0: #endif michael@0: michael@0: #undef CSS_PROP_DOMPROP_PREFIXED