LCOV - code coverage report
Current view: top level - layout/style - nsCSSPropList.h (source / functions) Hit Total Coverage
Test: output.info Lines: 370 370 100.0 %
Date: 2017-07-14 16:53:18 Functions: 482 1194 40.4 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
       2             : /* This Source Code Form is subject to the terms of the Mozilla Public
       3             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       4             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
       5             : 
       6             : /*
       7             :  * a list of all CSS properties with considerable data about them, for
       8             :  * preprocessing
       9             :  */
      10             : 
      11             : /******
      12             : 
      13             :   This file contains the list of all parsed CSS properties.  It is
      14             :   designed to be used as inline input through the magic of C
      15             :   preprocessing.  All entries must be enclosed in the appropriate
      16             :   CSS_PROP_* macro which will have cruel and unusual things done to it.
      17             :   It is recommended (but not strictly necessary) to keep all entries in
      18             :   alphabetical order.
      19             : 
      20             :   The arguments to CSS_PROP, CSS_PROP_LOGICAL and CSS_PROP_* are:
      21             : 
      22             :   -. 'name' entries represent a CSS property name and *must* use only
      23             :   lowercase characters.
      24             : 
      25             :   -. 'id' should be the same as 'name' except that all hyphens ('-')
      26             :   in 'name' are converted to underscores ('_') in 'id'. For properties
      27             :   on a standards track, any '-moz-' prefix is removed in 'id'. This
      28             :   lets us do nice things with the macros without having to copy/convert
      29             :   strings at runtime.  These are the names used for the enum values of
      30             :   the nsCSSPropertyID enumeration defined in nsCSSProps.h.
      31             : 
      32             :   -. 'method' is designed to be as input for CSS2Properties and similar
      33             :   callers.  It must always be the same as 'name' except it must use
      34             :   InterCaps and all hyphens ('-') must be removed.  Callers using this
      35             :   parameter must also define the CSS_PROP_PUBLIC_OR_PRIVATE(publicname_,
      36             :   privatename_) macro to yield either publicname_ or privatename_.
      37             :   The names differ in that publicname_ has Moz prefixes where they are
      38             :   used, and also in CssFloat vs. Float.  The caller's choice depends on
      39             :   whether the use is for internal use such as eCSSProperty_* or
      40             :   nsRuleData::ValueFor* or external use such as exposing DOM properties.
      41             : 
      42             :   -. 'flags', a bitfield containing CSS_PROPERTY_* flags.
      43             : 
      44             :   -. 'pref' is the name of a pref that controls whether the property
      45             :   is enabled.  The property is enabled if 'pref' is an empty string,
      46             :   or if the boolean property whose name is 'pref' is set to true.
      47             : 
      48             :   -. 'parsevariant', to be passed to ParseVariant in the parser.
      49             : 
      50             :   -. 'kwtable', which is either nullptr or the name of the appropriate
      51             :   keyword table member of class nsCSSProps, for use in
      52             :   nsCSSProps::LookupPropertyValue.
      53             : 
      54             :   -. 'group_' [used only for CSS_PROP_LOGICAL] is the name of
      55             :   the logical property group that contains the physical properties
      56             :   that can be set by this logical property.  The name must be one
      57             :   from nsCSSPropLogicalGroupList.h.  For example, this would be
      58             :   'BorderColor' for 'border-block-start-color'.
      59             : 
      60             :   -. 'stylestruct_' [used only for CSS_PROP and CSS_PROP_LOGICAL, not
      61             :   CSS_PROP_*] gives the name of the style struct.  Can be used to make
      62             :   nsStyle##stylestruct_ and eStyleStruct_##stylestruct_
      63             : 
      64             :   -. 'stylestructoffset_' gives the result of offsetof(nsStyle*,
      65             :   member).  Ignored (and generally CSS_PROP_NO_OFFSET, or -1) for
      66             :   properties whose animtype_ is eStyleAnimType_None.
      67             : 
      68             :   -. 'animtype_' gives the animation type (see nsStyleAnimType) of this
      69             :   property.
      70             : 
      71             :   CSS_PROP_SHORTHAND only takes 1-5.
      72             : 
      73             :   CSS_PROP_LOGICAL should be used instead of CSS_PROP_struct when
      74             :   defining logical properties (which also must be defined with the
      75             :   CSS_PROPERTY_LOGICAL flag).  Logical shorthand properties should still
      76             :   be defined with CSS_PROP_SHORTHAND.
      77             : 
      78             :  ******/
      79             : 
      80             : 
      81             : /*************************************************************************/
      82             : 
      83             : 
      84             : // All includers must explicitly define CSS_PROP_SHORTHAND if they
      85             : // want it.
      86             : #ifndef CSS_PROP_SHORTHAND
      87             : #define CSS_PROP_SHORTHAND(name_, id_, method_, flags_, pref_) /* nothing */
      88             : #define DEFINED_CSS_PROP_SHORTHAND
      89             : #endif
      90             : 
      91             : #define CSS_PROP_DOMPROP_PREFIXED(name_) \
      92             :   CSS_PROP_PUBLIC_OR_PRIVATE(Moz ## name_, name_)
      93             : 
      94             : #define CSS_PROP_NO_OFFSET (-1)
      95             : 
      96             : // Callers may define CSS_PROP_LIST_EXCLUDE_INTERNAL if they want to
      97             : // exclude internal properties that are not represented in the DOM (only
      98             : // the DOM style code defines this).  All properties defined in an
      99             : // #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL section must have the
     100             : // CSS_PROPERTY_INTERNAL flag set.
     101             : 
     102             : // When capturing all properties by defining CSS_PROP, callers must also
     103             : // define one of the following three macros:
     104             : //
     105             : //   CSS_PROP_LIST_EXCLUDE_LOGICAL
     106             : //     Does not include logical properties (defined with CSS_PROP_LOGICAL,
     107             : //     such as margin-inline-start) when capturing properties to CSS_PROP.
     108             : //
     109             : //   CSS_PROP_LIST_INCLUDE_LOGICAL
     110             : //     Does include logical properties when capturing properties to
     111             : //     CSS_PROP.
     112             : //
     113             : //   CSS_PROP_LOGICAL
     114             : //     Captures logical properties separately to CSS_PROP_LOGICAL.
     115             : //
     116             : // (CSS_PROP_LIST_EXCLUDE_LOGICAL is used for example to ensure
     117             : // gPropertyCountInStruct and gPropertyIndexInStruct do not allocate any
     118             : // storage to logical properties, since the result of the cascade, stored
     119             : // in an nsRuleData, does not need to store both logical and physical
     120             : // property values.)
     121             : 
     122             : // Callers may also define CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND
     123             : // to exclude properties that are not considered to be components of the 'all'
     124             : // shorthand property.  Currently this excludes 'direction' and 'unicode-bidi',
     125             : // as required by the CSS Cascading and Inheritance specification, and any
     126             : // internal properties that cannot be changed by using CSS syntax.  For example,
     127             : // the internal '-moz-system-font' property is not excluded, as it is set by the
     128             : // 'font' shorthand, while '-x-lang' is excluded as there is no way to set this
     129             : // internal property from a style sheet.
     130             : 
     131             : // A caller who wants all the properties can define the |CSS_PROP|
     132             : // macro.
     133             : #ifdef CSS_PROP
     134             : 
     135             : #define USED_CSS_PROP
     136             : #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_)
     137             : #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_)
     138             : #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_)
     139             : #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_)
     140             : #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_)
     141             : #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_)
     142             : #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_)
     143             : #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_)
     144             : #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_)
     145             : #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_)
     146             : #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_)
     147             : #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_)
     148             : #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_)
     149             : #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_)
     150             : #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_)
     151             : #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_)
     152             : #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_)
     153             : #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_)
     154             : #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_)
     155             : #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_)
     156             : #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_)
     157             : #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_)
     158             : #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_)
     159             : #define CSS_PROP_EFFECTS(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, Effects, stylestructoffset_, animtype_)
     160             : 
     161             : // And similarly for logical properties.  An includer can define
     162             : // CSS_PROP_LOGICAL to capture all logical properties, but otherwise they
     163             : // are included in CSS_PROP (as long as CSS_PROP_LIST_INCLUDE_LOGICAL is
     164             : // defined).
     165             : #if defined(CSS_PROP_LOGICAL) && defined(CSS_PROP_LIST_EXCLUDE_LOGICAL) || defined(CSS_PROP_LOGICAL) && defined(CSS_PROP_LIST_INCLUDE_LOGICAL) || defined(CSS_PROP_LIST_EXCLUDE_LOGICAL) && defined(CSS_PROP_LIST_INCLUDE_LOGICAL)
     166             : #error Do not define more than one of CSS_PROP_LOGICAL, CSS_PROP_LIST_EXCLUDE_LOGICAL and CSS_PROP_LIST_INCLUDE_LOGICAL when capturing properties using CSS_PROP.
     167             : #endif
     168             : 
     169             : #ifndef CSS_PROP_LOGICAL
     170             : #ifdef CSS_PROP_LIST_INCLUDE_LOGICAL
     171             : #define CSS_PROP_LOGICAL(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, group_, struct_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, struct_, stylestructoffset_, animtype_)
     172             : #else
     173             : #ifndef CSS_PROP_LIST_EXCLUDE_LOGICAL
     174             : #error Must define exactly one of CSS_PROP_LOGICAL, CSS_PROP_LIST_EXCLUDE_LOGICAL and CSS_PROP_LIST_INCLUDE_LOGICAL when capturing properties using CSS_PROP.
     175             : #endif
     176             : #define CSS_PROP_LOGICAL(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, group_, struct_, stylestructoffset_, animtype_) /* nothing */
     177             : #endif
     178             : #define DEFINED_CSS_PROP_LOGICAL
     179             : #endif
     180             : 
     181             : #else /* !defined(CSS_PROP) */
     182             : 
     183             : // An includer who does not define CSS_PROP can define any or all of the
     184             : // per-struct macros that are equivalent to it, and the rest will be
     185             : // ignored.
     186             : 
     187             : #if defined(CSS_PROP_LIST_EXCLUDE_LOGICAL) || defined(CSS_PROP_LIST_INCLUDE_LOGICAL)
     188             : #error Do not define CSS_PROP_LIST_EXCLUDE_LOGICAL or CSS_PROP_LIST_INCLUDE_LOGICAL when not capturing properties using CSS_PROP.
     189             : #endif
     190             : 
     191             : #ifndef CSS_PROP_FONT
     192             : #define CSS_PROP_FONT(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     193             : #define DEFINED_CSS_PROP_FONT
     194             : #endif
     195             : #ifndef CSS_PROP_COLOR
     196             : #define CSS_PROP_COLOR(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     197             : #define DEFINED_CSS_PROP_COLOR
     198             : #endif
     199             : #ifndef CSS_PROP_BACKGROUND
     200             : #define CSS_PROP_BACKGROUND(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     201             : #define DEFINED_CSS_PROP_BACKGROUND
     202             : #endif
     203             : #ifndef CSS_PROP_LIST
     204             : #define CSS_PROP_LIST(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     205             : #define DEFINED_CSS_PROP_LIST
     206             : #endif
     207             : #ifndef CSS_PROP_POSITION
     208             : #define CSS_PROP_POSITION(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     209             : #define DEFINED_CSS_PROP_POSITION
     210             : #endif
     211             : #ifndef CSS_PROP_TEXT
     212             : #define CSS_PROP_TEXT(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     213             : #define DEFINED_CSS_PROP_TEXT
     214             : #endif
     215             : #ifndef CSS_PROP_TEXTRESET
     216             : #define CSS_PROP_TEXTRESET(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     217             : #define DEFINED_CSS_PROP_TEXTRESET
     218             : #endif
     219             : #ifndef CSS_PROP_DISPLAY
     220             : #define CSS_PROP_DISPLAY(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     221             : #define DEFINED_CSS_PROP_DISPLAY
     222             : #endif
     223             : #ifndef CSS_PROP_VISIBILITY
     224             : #define CSS_PROP_VISIBILITY(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     225             : #define DEFINED_CSS_PROP_VISIBILITY
     226             : #endif
     227             : #ifndef CSS_PROP_CONTENT
     228             : #define CSS_PROP_CONTENT(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     229             : #define DEFINED_CSS_PROP_CONTENT
     230             : #endif
     231             : #ifndef CSS_PROP_USERINTERFACE
     232             : #define CSS_PROP_USERINTERFACE(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     233             : #define DEFINED_CSS_PROP_USERINTERFACE
     234             : #endif
     235             : #ifndef CSS_PROP_UIRESET
     236             : #define CSS_PROP_UIRESET(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     237             : #define DEFINED_CSS_PROP_UIRESET
     238             : #endif
     239             : #ifndef CSS_PROP_TABLE
     240             : #define CSS_PROP_TABLE(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     241             : #define DEFINED_CSS_PROP_TABLE
     242             : #endif
     243             : #ifndef CSS_PROP_TABLEBORDER
     244             : #define CSS_PROP_TABLEBORDER(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     245             : #define DEFINED_CSS_PROP_TABLEBORDER
     246             : #endif
     247             : #ifndef CSS_PROP_MARGIN
     248             : #define CSS_PROP_MARGIN(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     249             : #define DEFINED_CSS_PROP_MARGIN
     250             : #endif
     251             : #ifndef CSS_PROP_PADDING
     252             : #define CSS_PROP_PADDING(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     253             : #define DEFINED_CSS_PROP_PADDING
     254             : #endif
     255             : #ifndef CSS_PROP_BORDER
     256             : #define CSS_PROP_BORDER(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     257             : #define DEFINED_CSS_PROP_BORDER
     258             : #endif
     259             : #ifndef CSS_PROP_OUTLINE
     260             : #define CSS_PROP_OUTLINE(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     261             : #define DEFINED_CSS_PROP_OUTLINE
     262             : #endif
     263             : #ifndef CSS_PROP_XUL
     264             : #define CSS_PROP_XUL(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     265             : #define DEFINED_CSS_PROP_XUL
     266             : #endif
     267             : #ifndef CSS_PROP_COLUMN
     268             : #define CSS_PROP_COLUMN(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     269             : #define DEFINED_CSS_PROP_COLUMN
     270             : #endif
     271             : #ifndef CSS_PROP_SVG
     272             : #define CSS_PROP_SVG(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     273             : #define DEFINED_CSS_PROP_SVG
     274             : #endif
     275             : #ifndef CSS_PROP_SVGRESET
     276             : #define CSS_PROP_SVGRESET(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     277             : #define DEFINED_CSS_PROP_SVGRESET
     278             : #endif
     279             : #ifndef CSS_PROP_VARIABLES
     280             : #define CSS_PROP_VARIABLES(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     281             : #define DEFINED_CSS_PROP_VARIABLES
     282             : #endif
     283             : #ifndef CSS_PROP_EFFECTS
     284             : #define CSS_PROP_EFFECTS(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     285             : #define DEFINED_CSS_PROP_EFFECTS
     286             : #endif
     287             : 
     288             : #ifndef CSS_PROP_LOGICAL
     289             : #define CSS_PROP_LOGICAL(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, group_, struct_, stylestructoffset_, animtype_) /* nothing */
     290             : #define DEFINED_CSS_PROP_LOGICAL
     291             : #endif
     292             : 
     293             : #endif /* !defined(CSS_PROP) */
     294             : 
     295             : /*************************************************************************/
     296             : 
     297             : // For notes XXX bug 3935 below, the names being parsed do not correspond
     298             : // to the constants used internally.  It would be nice to bring the
     299             : // constants into line sometime.
     300             : 
     301             : // The parser will refuse to parse properties marked with -x-.
     302             : 
     303             : // Those marked XXX bug 48973 are CSS2 properties that we support
     304             : // differently from the spec for UI requirements.  If we ever
     305             : // support them correctly the old constants need to be renamed and
     306             : // new ones should be entered.
     307             : 
     308             : // CSS2.1 section 5.12.1 says that the properties that apply to
     309             : // :first-line are: font properties, color properties, background
     310             : // properties, 'word-spacing', 'letter-spacing', 'text-decoration',
     311             : // 'vertical-align', 'text-transform', and 'line-height'.
     312             : //
     313             : // We also allow 'text-shadow', which was listed in CSS2 (where the
     314             : // property existed).
     315             : 
     316             : // CSS2.1 section 5.12.2 says that the properties that apply to
     317             : // :first-letter are: font properties, 'text-decoration',
     318             : // 'text-transform', 'letter-spacing', 'word-spacing' (when
     319             : // appropriate), 'line-height', 'float', 'vertical-align' (only if
     320             : // 'float' is 'none'), margin properties, padding properties, border
     321             : // properties, 'color', and background properties.  We also allow
     322             : // 'text-shadow' (see above) and 'box-shadow' (which is like the
     323             : // border properties).
     324             : 
     325             : // Please keep these sorted by property name, ignoring any "-moz-",
     326             : // "-webkit-" or "-x-" prefix.
     327             : 
     328         568 : CSS_PROP_POSITION(
     329             :     align-content,
     330             :     align_content,
     331             :     AlignContent,
     332             :     CSS_PROPERTY_PARSE_FUNCTION,
     333             :     "",
     334             :     VARIANT_HK,
     335             :     kAutoCompletionAlignJustifyContent,
     336             :     CSS_PROP_NO_OFFSET,
     337             :     eStyleAnimType_Discrete)
     338         568 : CSS_PROP_POSITION(
     339             :     align-items,
     340             :     align_items,
     341             :     AlignItems,
     342             :     CSS_PROPERTY_PARSE_FUNCTION,
     343             :     "",
     344             :     VARIANT_HK,
     345             :     kAutoCompletionAlignItems,
     346             :     CSS_PROP_NO_OFFSET,
     347             :     eStyleAnimType_Discrete)
     348         568 : CSS_PROP_POSITION(
     349             :     align-self,
     350             :     align_self,
     351             :     AlignSelf,
     352             :     CSS_PROPERTY_PARSE_FUNCTION,
     353             :     "",
     354             :     VARIANT_HK,
     355             :     kAutoCompletionAlignJustifySelf,
     356             :     CSS_PROP_NO_OFFSET,
     357             :     eStyleAnimType_Discrete)
     358           3 : CSS_PROP_SHORTHAND(
     359             :     all,
     360             :     all,
     361             :     All,
     362             :     CSS_PROPERTY_PARSE_FUNCTION,
     363             :     "layout.css.all-shorthand.enabled")
     364           3 : CSS_PROP_SHORTHAND(
     365             :     animation,
     366             :     animation,
     367             :     Animation,
     368             :     CSS_PROPERTY_PARSE_FUNCTION,
     369             :     "")
     370           6 : CSS_PROP_DISPLAY(
     371             :     animation-delay,
     372             :     animation_delay,
     373             :     AnimationDelay,
     374             :     CSS_PROPERTY_PARSE_VALUE_LIST |
     375             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     376             :     "",
     377             :     VARIANT_TIME, // used by list parsing
     378             :     nullptr,
     379             :     CSS_PROP_NO_OFFSET,
     380             :     eStyleAnimType_None)
     381           6 : CSS_PROP_DISPLAY(
     382             :     animation-direction,
     383             :     animation_direction,
     384             :     AnimationDirection,
     385             :     CSS_PROPERTY_PARSE_VALUE_LIST |
     386             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     387             :     "",
     388             :     VARIANT_KEYWORD, // used by list parsing
     389             :     kAnimationDirectionKTable,
     390             :     CSS_PROP_NO_OFFSET,
     391             :     eStyleAnimType_None)
     392           6 : CSS_PROP_DISPLAY(
     393             :     animation-duration,
     394             :     animation_duration,
     395             :     AnimationDuration,
     396             :     CSS_PROPERTY_PARSE_VALUE_LIST |
     397             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     398             :     "",
     399             :     VARIANT_TIME | VARIANT_NONNEGATIVE_DIMENSION, // used by list parsing
     400             :     nullptr,
     401             :     CSS_PROP_NO_OFFSET,
     402             :     eStyleAnimType_None)
     403           6 : CSS_PROP_DISPLAY(
     404             :     animation-fill-mode,
     405             :     animation_fill_mode,
     406             :     AnimationFillMode,
     407             :     CSS_PROPERTY_PARSE_VALUE_LIST |
     408             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     409             :     "",
     410             :     VARIANT_KEYWORD, // used by list parsing
     411             :     kAnimationFillModeKTable,
     412             :     CSS_PROP_NO_OFFSET,
     413             :     eStyleAnimType_None)
     414           6 : CSS_PROP_DISPLAY(
     415             :     animation-iteration-count,
     416             :     animation_iteration_count,
     417             :     AnimationIterationCount,
     418             :     CSS_PROPERTY_PARSE_VALUE_LIST |
     419             :         // nonnegative per
     420             :         // http://lists.w3.org/Archives/Public/www-style/2011Mar/0355.html
     421             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
     422             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     423             :     "",
     424             :     VARIANT_KEYWORD | VARIANT_NUMBER, // used by list parsing
     425             :     kAnimationIterationCountKTable,
     426             :     CSS_PROP_NO_OFFSET,
     427             :     eStyleAnimType_None)
     428           6 : CSS_PROP_DISPLAY(
     429             :     animation-name,
     430             :     animation_name,
     431             :     AnimationName,
     432             :     CSS_PROPERTY_PARSE_VALUE_LIST |
     433             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     434             :     "",
     435             :     // FIXME: The spec should say something about 'inherit' and 'initial'
     436             :     // not being allowed.
     437             :     VARIANT_NONE | VARIANT_IDENTIFIER_NO_INHERIT | VARIANT_STRING, // used by list parsing
     438             :     nullptr,
     439             :     CSS_PROP_NO_OFFSET,
     440             :     eStyleAnimType_None)
     441           6 : CSS_PROP_DISPLAY(
     442             :     animation-play-state,
     443             :     animation_play_state,
     444             :     AnimationPlayState,
     445             :     CSS_PROPERTY_PARSE_VALUE_LIST |
     446             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     447             :     "",
     448             :     VARIANT_KEYWORD, // used by list parsing
     449             :     kAnimationPlayStateKTable,
     450             :     CSS_PROP_NO_OFFSET,
     451             :     eStyleAnimType_None)
     452           6 : CSS_PROP_DISPLAY(
     453             :     animation-timing-function,
     454             :     animation_timing_function,
     455             :     AnimationTimingFunction,
     456             :     CSS_PROPERTY_PARSE_VALUE_LIST |
     457             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     458             :     "",
     459             :     VARIANT_KEYWORD | VARIANT_TIMING_FUNCTION, // used by list parsing
     460             :     kTransitionTimingFunctionKTable,
     461             :     CSS_PROP_NO_OFFSET,
     462             :     eStyleAnimType_None)
     463        1348 : CSS_PROP_DISPLAY(
     464             :     -moz-appearance,
     465             :     _moz_appearance,
     466             :     CSS_PROP_DOMPROP_PREFIXED(Appearance),
     467             :     CSS_PROPERTY_PARSE_VALUE,
     468             :     "",
     469             :     VARIANT_HK,
     470             :     kAppearanceKTable,
     471             :     CSS_PROP_NO_OFFSET,
     472             :     eStyleAnimType_Discrete)
     473        1348 : CSS_PROP_DISPLAY(
     474             :     backface-visibility,
     475             :     backface_visibility,
     476             :     BackfaceVisibility,
     477             :     CSS_PROPERTY_PARSE_VALUE,
     478             :     "",
     479             :     VARIANT_HK,
     480             :     kBackfaceVisibilityKTable,
     481             :     offsetof(nsStyleDisplay, mBackfaceVisibility),
     482             :     eStyleAnimType_Discrete)
     483           3 : CSS_PROP_SHORTHAND(
     484             :     background,
     485             :     background,
     486             :     Background,
     487             :     CSS_PROPERTY_PARSE_FUNCTION,
     488             :     "")
     489         402 : CSS_PROP_BACKGROUND(
     490             :     background-attachment,
     491             :     background_attachment,
     492             :     BackgroundAttachment,
     493             :     CSS_PROPERTY_PARSE_VALUE_LIST |
     494             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
     495             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
     496             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     497             :     "",
     498             :     VARIANT_KEYWORD, // used by list parsing
     499             :     kImageLayerAttachmentKTable,
     500             :     CSS_PROP_NO_OFFSET,
     501             :     eStyleAnimType_Discrete)
     502         402 : CSS_PROP_BACKGROUND(
     503             :     background-blend-mode,
     504             :     background_blend_mode,
     505             :     BackgroundBlendMode,
     506             :     CSS_PROPERTY_PARSE_VALUE_LIST |
     507             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
     508             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
     509             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     510             :     "layout.css.background-blend-mode.enabled",
     511             :     VARIANT_KEYWORD, // used by list parsing
     512             :     kBlendModeKTable,
     513             :     CSS_PROP_NO_OFFSET,
     514             :     eStyleAnimType_Discrete)
     515         402 : CSS_PROP_BACKGROUND(
     516             :     background-clip,
     517             :     background_clip,
     518             :     BackgroundClip,
     519             :     CSS_PROPERTY_PARSE_VALUE_LIST |
     520             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
     521             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
     522             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     523             :     "",
     524             :     VARIANT_KEYWORD, // used by list parsing
     525             :     kBackgroundClipKTable,
     526             :     CSS_PROP_NO_OFFSET,
     527             :     eStyleAnimType_Discrete)
     528         403 : CSS_PROP_BACKGROUND(
     529             :     background-color,
     530             :     background_color,
     531             :     BackgroundColor,
     532             :     CSS_PROPERTY_PARSE_VALUE |
     533             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
     534             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
     535             :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED |
     536             :         CSS_PROPERTY_HASHLESS_COLOR_QUIRK,
     537             :     "",
     538             :     VARIANT_HC,
     539             :     nullptr,
     540             :     offsetof(nsStyleBackground, mBackgroundColor),
     541             :     eStyleAnimType_ComplexColor)
     542         402 : CSS_PROP_BACKGROUND(
     543             :     background-image,
     544             :     background_image,
     545             :     BackgroundImage,
     546             :     CSS_PROPERTY_PARSE_VALUE_LIST |
     547             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
     548             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
     549             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
     550             :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED |
     551             :         CSS_PROPERTY_START_IMAGE_LOADS,
     552             :     "",
     553             :     VARIANT_IMAGE, // used by list parsing
     554             :     nullptr,
     555             :     CSS_PROP_NO_OFFSET,
     556             :     eStyleAnimType_Discrete)
     557         402 : CSS_PROP_BACKGROUND(
     558             :     background-origin,
     559             :     background_origin,
     560             :     BackgroundOrigin,
     561             :     CSS_PROPERTY_PARSE_VALUE_LIST |
     562             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
     563             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
     564             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     565             :     "",
     566             :     VARIANT_KEYWORD, // used by list parsing
     567             :     kBackgroundOriginKTable,
     568             :     CSS_PROP_NO_OFFSET,
     569             :     eStyleAnimType_Discrete)
     570           3 : CSS_PROP_SHORTHAND(
     571             :     background-position,
     572             :     background_position,
     573             :     BackgroundPosition,
     574             :     CSS_PROPERTY_PARSE_FUNCTION |
     575             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK,
     576             :     "")
     577         402 : CSS_PROP_BACKGROUND(
     578             :     background-position-x,
     579             :     background_position_x,
     580             :     BackgroundPositionX,
     581             :     CSS_PROPERTY_PARSE_FUNCTION |
     582             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
     583             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
     584             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
     585             :         CSS_PROPERTY_STORES_CALC,
     586             :     "",
     587             :     0,
     588             :     kImageLayerPositionKTable,
     589             :     CSS_PROP_NO_OFFSET,
     590             :     eStyleAnimType_Custom)
     591         402 : CSS_PROP_BACKGROUND(
     592             :     background-position-y,
     593             :     background_position_y,
     594             :     BackgroundPositionY,
     595             :     CSS_PROPERTY_PARSE_FUNCTION |
     596             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
     597             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
     598             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
     599             :         CSS_PROPERTY_STORES_CALC,
     600             :     "",
     601             :     0,
     602             :     kImageLayerPositionKTable,
     603             :     CSS_PROP_NO_OFFSET,
     604             :     eStyleAnimType_Custom)
     605         402 : CSS_PROP_BACKGROUND(
     606             :     background-repeat,
     607             :     background_repeat,
     608             :     BackgroundRepeat,
     609             :     CSS_PROPERTY_PARSE_FUNCTION |
     610             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
     611             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
     612             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     613             :     "",
     614             :     VARIANT_KEYWORD, // used by list parsing
     615             :     kImageLayerRepeatKTable,
     616             :     CSS_PROP_NO_OFFSET,
     617             :     eStyleAnimType_Discrete)
     618         402 : CSS_PROP_BACKGROUND(
     619             :     background-size,
     620             :     background_size,
     621             :     BackgroundSize,
     622             :     CSS_PROPERTY_PARSE_FUNCTION |
     623             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
     624             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
     625             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
     626             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
     627             :         CSS_PROPERTY_STORES_CALC,
     628             :     "",
     629             :     0,
     630             :     kImageLayerSizeKTable,
     631             :     CSS_PROP_NO_OFFSET,
     632             :     eStyleAnimType_Custom)
     633        1348 : CSS_PROP_DISPLAY(
     634             :     -moz-binding,
     635             :     _moz_binding,
     636             :     CSS_PROP_DOMPROP_PREFIXED(Binding),
     637             :     CSS_PROPERTY_PARSE_VALUE,
     638             :     "",
     639             :     VARIANT_HUO,
     640             :     nullptr,
     641             :     CSS_PROP_NO_OFFSET,
     642             :     eStyleAnimType_None) // XXX bug 3935
     643           6 : CSS_PROP_LOGICAL(
     644             :     block-size,
     645             :     block_size,
     646             :     BlockSize,
     647             :     CSS_PROPERTY_PARSE_VALUE |
     648             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
     649             :         CSS_PROPERTY_STORES_CALC |
     650             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
     651             :         CSS_PROPERTY_LOGICAL |
     652             :         CSS_PROPERTY_LOGICAL_AXIS |
     653             :         CSS_PROPERTY_LOGICAL_BLOCK_AXIS,
     654             :     "",
     655             :     VARIANT_AHLP | VARIANT_CALC,
     656             :     nullptr,
     657             :     Size,
     658             :     Position,
     659             :     CSS_PROP_NO_OFFSET,
     660             :     eStyleAnimType_None)
     661           3 : CSS_PROP_SHORTHAND(
     662             :     border,
     663             :     border,
     664             :     Border,
     665             :     CSS_PROPERTY_PARSE_FUNCTION,
     666             :     "")
     667           3 : CSS_PROP_SHORTHAND(
     668             :     border-block-end,
     669             :     border_block_end,
     670             :     BorderBlockEnd,
     671             :     CSS_PROPERTY_PARSE_FUNCTION,
     672             :     "")
     673           6 : CSS_PROP_LOGICAL(
     674             :     border-block-end-color,
     675             :     border_block_end_color,
     676             :     BorderBlockEndColor,
     677             :     CSS_PROPERTY_PARSE_VALUE |
     678             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     679             :         CSS_PROPERTY_LOGICAL |
     680             :         CSS_PROPERTY_LOGICAL_BLOCK_AXIS |
     681             :         CSS_PROPERTY_LOGICAL_END_EDGE,
     682             :     "",
     683             :     VARIANT_HC,
     684             :     nullptr,
     685             :     BorderColor,
     686             :     Border,
     687             :     CSS_PROP_NO_OFFSET,
     688             :     eStyleAnimType_None)
     689           6 : CSS_PROP_LOGICAL(
     690             :     border-block-end-style,
     691             :     border_block_end_style,
     692             :     BorderBlockEndStyle,
     693             :     CSS_PROPERTY_PARSE_VALUE |
     694             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     695             :         CSS_PROPERTY_LOGICAL |
     696             :         CSS_PROPERTY_LOGICAL_BLOCK_AXIS |
     697             :         CSS_PROPERTY_LOGICAL_END_EDGE,
     698             :     "",
     699             :     VARIANT_HK,
     700             :     kBorderStyleKTable,
     701             :     BorderStyle,
     702             :     Border,
     703             :     CSS_PROP_NO_OFFSET,
     704             :     eStyleAnimType_None)
     705           6 : CSS_PROP_LOGICAL(
     706             :     border-block-end-width,
     707             :     border_block_end_width,
     708             :     BorderBlockEndWidth,
     709             :     CSS_PROPERTY_PARSE_VALUE |
     710             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
     711             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     712             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
     713             :         CSS_PROPERTY_LOGICAL |
     714             :         CSS_PROPERTY_LOGICAL_BLOCK_AXIS |
     715             :         CSS_PROPERTY_LOGICAL_END_EDGE,
     716             :     "",
     717             :     VARIANT_HKL | VARIANT_CALC,
     718             :     kBorderWidthKTable,
     719             :     BorderWidth,
     720             :     Border,
     721             :     CSS_PROP_NO_OFFSET,
     722             :     eStyleAnimType_None)
     723           3 : CSS_PROP_SHORTHAND(
     724             :     border-block-start,
     725             :     border_block_start,
     726             :     BorderBlockStart,
     727             :     CSS_PROPERTY_PARSE_FUNCTION,
     728             :     "")
     729           6 : CSS_PROP_LOGICAL(
     730             :     border-block-start-color,
     731             :     border_block_start_color,
     732             :     BorderBlockStartColor,
     733             :     CSS_PROPERTY_PARSE_VALUE |
     734             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     735             :         CSS_PROPERTY_LOGICAL |
     736             :         CSS_PROPERTY_LOGICAL_BLOCK_AXIS,
     737             :     "",
     738             :     VARIANT_HC,
     739             :     nullptr,
     740             :     BorderColor,
     741             :     Border,
     742             :     CSS_PROP_NO_OFFSET,
     743             :     eStyleAnimType_None)
     744           6 : CSS_PROP_LOGICAL(
     745             :     border-block-start-style,
     746             :     border_block_start_style,
     747             :     BorderBlockStartStyle,
     748             :     CSS_PROPERTY_PARSE_VALUE |
     749             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     750             :         CSS_PROPERTY_LOGICAL |
     751             :         CSS_PROPERTY_LOGICAL_BLOCK_AXIS,
     752             :     "",
     753             :     VARIANT_HK,
     754             :     kBorderStyleKTable,
     755             :     BorderStyle,
     756             :     Border,
     757             :     CSS_PROP_NO_OFFSET,
     758             :     eStyleAnimType_None)
     759           6 : CSS_PROP_LOGICAL(
     760             :     border-block-start-width,
     761             :     border_block_start_width,
     762             :     BorderBlockStartWidth,
     763             :     CSS_PROPERTY_PARSE_VALUE |
     764             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
     765             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
     766             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     767             :         CSS_PROPERTY_LOGICAL |
     768             :         CSS_PROPERTY_LOGICAL_BLOCK_AXIS,
     769             :     "",
     770             :     VARIANT_HKL | VARIANT_CALC,
     771             :     kBorderWidthKTable,
     772             :     BorderWidth,
     773             :     Border,
     774             :     CSS_PROP_NO_OFFSET,
     775             :     eStyleAnimType_None)
     776           3 : CSS_PROP_SHORTHAND(
     777             :     border-bottom,
     778             :     border_bottom,
     779             :     BorderBottom,
     780             :     CSS_PROPERTY_PARSE_FUNCTION,
     781             :     "")
     782           6 : CSS_PROP_BORDER(
     783             :     border-bottom-color,
     784             :     border_bottom_color,
     785             :     BorderBottomColor,
     786             :     CSS_PROPERTY_PARSE_VALUE |
     787             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     788             :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED |
     789             :         CSS_PROPERTY_HASHLESS_COLOR_QUIRK,
     790             :     "",
     791             :     VARIANT_HC,
     792             :     nullptr,
     793             :     offsetof(nsStyleBorder, mBorderBottomColor),
     794             :     eStyleAnimType_ComplexColor)
     795           6 : CSS_PROP_BORDER(
     796             :     -moz-border-bottom-colors,
     797             :     _moz_border_bottom_colors,
     798             :     CSS_PROP_DOMPROP_PREFIXED(BorderBottomColors),
     799             :     CSS_PROPERTY_PARSE_FUNCTION |
     800             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     801             :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
     802             :     "",
     803             :     0,
     804             :     nullptr,
     805             :     CSS_PROP_NO_OFFSET,
     806             :     eStyleAnimType_Discrete)
     807           6 : CSS_PROP_BORDER(
     808             :     border-bottom-left-radius,
     809             :     border_bottom_left_radius,
     810             :     BorderBottomLeftRadius,
     811             :     CSS_PROPERTY_PARSE_FUNCTION |
     812             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     813             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
     814             :         CSS_PROPERTY_STORES_CALC,
     815             :     "",
     816             :     0,
     817             :     nullptr,
     818             :     offsetof(nsStyleBorder, mBorderRadius),
     819             :     eStyleAnimType_Corner_BottomLeft)
     820           6 : CSS_PROP_BORDER(
     821             :     border-bottom-right-radius,
     822             :     border_bottom_right_radius,
     823             :     BorderBottomRightRadius,
     824             :     CSS_PROPERTY_PARSE_FUNCTION |
     825             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     826             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
     827             :         CSS_PROPERTY_STORES_CALC,
     828             :     "",
     829             :     0,
     830             :     nullptr,
     831             :     offsetof(nsStyleBorder, mBorderRadius),
     832             :     eStyleAnimType_Corner_BottomRight)
     833           6 : CSS_PROP_BORDER(
     834             :     border-bottom-style,
     835             :     border_bottom_style,
     836             :     BorderBottomStyle,
     837             :     CSS_PROPERTY_PARSE_VALUE |
     838             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
     839             :     "",
     840             :     VARIANT_HK,
     841             :     kBorderStyleKTable,
     842             :     CSS_PROP_NO_OFFSET,
     843             :     eStyleAnimType_Discrete)  // on/off will need reflow
     844           6 : CSS_PROP_BORDER(
     845             :     border-bottom-width,
     846             :     border_bottom_width,
     847             :     BorderBottomWidth,
     848             :     CSS_PROPERTY_PARSE_VALUE |
     849             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
     850             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     851             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
     852             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     853             :     "",
     854             :     VARIANT_HKL | VARIANT_CALC,
     855             :     kBorderWidthKTable,
     856             :     CSS_PROP_NO_OFFSET,
     857             :     eStyleAnimType_Custom)
     858           6 : CSS_PROP_TABLEBORDER(
     859             :     border-collapse,
     860             :     border_collapse,
     861             :     BorderCollapse,
     862             :     CSS_PROPERTY_PARSE_VALUE,
     863             :     "",
     864             :     VARIANT_HK,
     865             :     kBorderCollapseKTable,
     866             :     CSS_PROP_NO_OFFSET,
     867             :     eStyleAnimType_Discrete)
     868           3 : CSS_PROP_SHORTHAND(
     869             :     border-color,
     870             :     border_color,
     871             :     BorderColor,
     872             :     CSS_PROPERTY_PARSE_FUNCTION |
     873             :         CSS_PROPERTY_HASHLESS_COLOR_QUIRK,
     874             :     "")
     875           3 : CSS_PROP_SHORTHAND(
     876             :     border-image,
     877             :     border_image,
     878             :     BorderImage,
     879             :     CSS_PROPERTY_PARSE_FUNCTION,
     880             :     "")
     881         328 : CSS_PROP_BORDER(
     882             :     border-image-outset,
     883             :     border_image_outset,
     884             :     BorderImageOutset,
     885             :     CSS_PROPERTY_PARSE_FUNCTION |
     886             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
     887             :     "",
     888             :     0,
     889             :     nullptr,
     890             :     CSS_PROP_NO_OFFSET,
     891             :     eStyleAnimType_Discrete)
     892         328 : CSS_PROP_BORDER(
     893             :     border-image-repeat,
     894             :     border_image_repeat,
     895             :     BorderImageRepeat,
     896             :     CSS_PROPERTY_PARSE_FUNCTION |
     897             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
     898             :     "",
     899             :     0,
     900             :     kBorderImageRepeatKTable,
     901             :     CSS_PROP_NO_OFFSET,
     902             :     eStyleAnimType_Discrete)
     903         328 : CSS_PROP_BORDER(
     904             :     border-image-slice,
     905             :     border_image_slice,
     906             :     BorderImageSlice,
     907             :     CSS_PROPERTY_PARSE_FUNCTION |
     908             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
     909             :     "",
     910             :     0,
     911             :     kBorderImageSliceKTable,
     912             :     CSS_PROP_NO_OFFSET,
     913             :     eStyleAnimType_Discrete)
     914         328 : CSS_PROP_BORDER(
     915             :     border-image-source,
     916             :     border_image_source,
     917             :     BorderImageSource,
     918             :     CSS_PROPERTY_PARSE_VALUE |
     919             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     920             :         CSS_PROPERTY_START_IMAGE_LOADS,
     921             :     "",
     922             :     VARIANT_IMAGE | VARIANT_INHERIT,
     923             :     nullptr,
     924             :     CSS_PROP_NO_OFFSET,
     925             :     eStyleAnimType_Discrete)
     926         328 : CSS_PROP_BORDER(
     927             :     border-image-width,
     928             :     border_image_width,
     929             :     BorderImageWidth,
     930             :     CSS_PROPERTY_PARSE_FUNCTION |
     931             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
     932             :     "",
     933             :     0,
     934             :     nullptr,
     935             :     CSS_PROP_NO_OFFSET,
     936             :     eStyleAnimType_Discrete)
     937           3 : CSS_PROP_SHORTHAND(
     938             :     border-inline-end,
     939             :     border_inline_end,
     940             :     BorderInlineEnd,
     941             :     CSS_PROPERTY_PARSE_FUNCTION,
     942             :     "")
     943           6 : CSS_PROP_LOGICAL(
     944             :     border-inline-end-color,
     945             :     border_inline_end_color,
     946             :     BorderInlineEndColor,
     947             :     CSS_PROPERTY_PARSE_VALUE |
     948             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     949             :         CSS_PROPERTY_LOGICAL |
     950             :         CSS_PROPERTY_LOGICAL_END_EDGE,
     951             :     "",
     952             :     VARIANT_HC,
     953             :     nullptr,
     954             :     BorderColor,
     955             :     Border,
     956             :     CSS_PROP_NO_OFFSET,
     957             :     eStyleAnimType_None)
     958           6 : CSS_PROP_LOGICAL(
     959             :     border-inline-end-style,
     960             :     border_inline_end_style,
     961             :     BorderInlineEndStyle,
     962             :     CSS_PROPERTY_PARSE_VALUE |
     963             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     964             :         CSS_PROPERTY_LOGICAL |
     965             :         CSS_PROPERTY_LOGICAL_END_EDGE,
     966             :     "",
     967             :     VARIANT_HK,
     968             :     kBorderStyleKTable,
     969             :     BorderStyle,
     970             :     Border,
     971             :     CSS_PROP_NO_OFFSET,
     972             :     eStyleAnimType_None)
     973           6 : CSS_PROP_LOGICAL(
     974             :     border-inline-end-width,
     975             :     border_inline_end_width,
     976             :     BorderInlineEndWidth,
     977             :     CSS_PROPERTY_PARSE_VALUE |
     978             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
     979             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     980             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
     981             :         CSS_PROPERTY_LOGICAL |
     982             :         CSS_PROPERTY_LOGICAL_END_EDGE,
     983             :     "",
     984             :     VARIANT_HKL | VARIANT_CALC,
     985             :     kBorderWidthKTable,
     986             :     BorderWidth,
     987             :     Border,
     988             :     CSS_PROP_NO_OFFSET,
     989             :     eStyleAnimType_None)
     990           3 : CSS_PROP_SHORTHAND(
     991             :     border-inline-start,
     992             :     border_inline_start,
     993             :     BorderInlineStart,
     994             :     CSS_PROPERTY_PARSE_FUNCTION,
     995             :     "")
     996           6 : CSS_PROP_LOGICAL(
     997             :     border-inline-start-color,
     998             :     border_inline_start_color,
     999             :     BorderInlineStartColor,
    1000             :     CSS_PROPERTY_PARSE_VALUE |
    1001             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1002             :         CSS_PROPERTY_LOGICAL,
    1003             :     "",
    1004             :     VARIANT_HC,
    1005             :     nullptr,
    1006             :     BorderColor,
    1007             :     Border,
    1008             :     CSS_PROP_NO_OFFSET,
    1009             :     eStyleAnimType_None)
    1010           6 : CSS_PROP_LOGICAL(
    1011             :     border-inline-start-style,
    1012             :     border_inline_start_style,
    1013             :     BorderInlineStartStyle,
    1014             :     CSS_PROPERTY_PARSE_VALUE |
    1015             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1016             :         CSS_PROPERTY_LOGICAL,
    1017             :     "",
    1018             :     VARIANT_HK,
    1019             :     kBorderStyleKTable,
    1020             :     BorderStyle,
    1021             :     Border,
    1022             :     CSS_PROP_NO_OFFSET,
    1023             :     eStyleAnimType_None)
    1024           6 : CSS_PROP_LOGICAL(
    1025             :     border-inline-start-width,
    1026             :     border_inline_start_width,
    1027             :     BorderInlineStartWidth,
    1028             :     CSS_PROPERTY_PARSE_VALUE |
    1029             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    1030             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
    1031             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1032             :         CSS_PROPERTY_LOGICAL,
    1033             :     "",
    1034             :     VARIANT_HKL | VARIANT_CALC,
    1035             :     kBorderWidthKTable,
    1036             :     BorderWidth,
    1037             :     Border,
    1038             :     CSS_PROP_NO_OFFSET,
    1039             :     eStyleAnimType_None)
    1040           3 : CSS_PROP_SHORTHAND(
    1041             :     border-left,
    1042             :     border_left,
    1043             :     BorderLeft,
    1044             :     CSS_PROPERTY_PARSE_FUNCTION,
    1045             :     "")
    1046           6 : CSS_PROP_BORDER(
    1047             :     border-left-color,
    1048             :     border_left_color,
    1049             :     BorderLeftColor,
    1050             :     CSS_PROPERTY_PARSE_VALUE |
    1051             :         CSS_PROPERTY_HASHLESS_COLOR_QUIRK |
    1052             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1053             :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
    1054             :     "",
    1055             :     VARIANT_HC,
    1056             :     nullptr,
    1057             :     offsetof(nsStyleBorder, mBorderLeftColor),
    1058             :     eStyleAnimType_ComplexColor)
    1059           6 : CSS_PROP_BORDER(
    1060             :     -moz-border-left-colors,
    1061             :     _moz_border_left_colors,
    1062             :     CSS_PROP_DOMPROP_PREFIXED(BorderLeftColors),
    1063             :     CSS_PROPERTY_PARSE_FUNCTION |
    1064             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1065             :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
    1066             :     "",
    1067             :     0,
    1068             :     nullptr,
    1069             :     CSS_PROP_NO_OFFSET,
    1070             :     eStyleAnimType_Discrete)
    1071           6 : CSS_PROP_BORDER(
    1072             :     border-left-style,
    1073             :     border_left_style,
    1074             :     BorderLeftStyle,
    1075             :     CSS_PROPERTY_PARSE_VALUE |
    1076             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
    1077             :     "",
    1078             :     VARIANT_HK,
    1079             :     kBorderStyleKTable,
    1080             :     CSS_PROP_NO_OFFSET,
    1081             :     eStyleAnimType_Discrete)
    1082           6 : CSS_PROP_BORDER(
    1083             :     border-left-width,
    1084             :     border_left_width,
    1085             :     BorderLeftWidth,
    1086             :     CSS_PROPERTY_PARSE_VALUE |
    1087             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
    1088             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    1089             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
    1090             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
    1091             :     "",
    1092             :     VARIANT_HKL | VARIANT_CALC,
    1093             :     kBorderWidthKTable,
    1094             :     CSS_PROP_NO_OFFSET,
    1095             :     eStyleAnimType_Custom)
    1096           3 : CSS_PROP_SHORTHAND(
    1097             :     border-radius,
    1098             :     border_radius,
    1099             :     BorderRadius,
    1100             :     CSS_PROPERTY_PARSE_FUNCTION,
    1101             :     "")
    1102           3 : CSS_PROP_SHORTHAND(
    1103             :     border-right,
    1104             :     border_right,
    1105             :     BorderRight,
    1106             :     CSS_PROPERTY_PARSE_FUNCTION,
    1107             :     "")
    1108           6 : CSS_PROP_BORDER(
    1109             :     border-right-color,
    1110             :     border_right_color,
    1111             :     BorderRightColor,
    1112             :     CSS_PROPERTY_PARSE_VALUE |
    1113             :         CSS_PROPERTY_HASHLESS_COLOR_QUIRK |
    1114             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1115             :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
    1116             :     "",
    1117             :     VARIANT_HC,
    1118             :     nullptr,
    1119             :     offsetof(nsStyleBorder, mBorderRightColor),
    1120             :     eStyleAnimType_ComplexColor)
    1121           6 : CSS_PROP_BORDER(
    1122             :     -moz-border-right-colors,
    1123             :     _moz_border_right_colors,
    1124             :     CSS_PROP_DOMPROP_PREFIXED(BorderRightColors),
    1125             :     CSS_PROPERTY_PARSE_FUNCTION |
    1126             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1127             :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
    1128             :     "",
    1129             :     0,
    1130             :     nullptr,
    1131             :     CSS_PROP_NO_OFFSET,
    1132             :     eStyleAnimType_Discrete)
    1133           6 : CSS_PROP_BORDER(
    1134             :     border-right-style,
    1135             :     border_right_style,
    1136             :     BorderRightStyle,
    1137             :     CSS_PROPERTY_PARSE_VALUE |
    1138             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
    1139             :     "",
    1140             :     VARIANT_HK,
    1141             :     kBorderStyleKTable,
    1142             :     CSS_PROP_NO_OFFSET,
    1143             :     eStyleAnimType_Discrete)
    1144           6 : CSS_PROP_BORDER(
    1145             :     border-right-width,
    1146             :     border_right_width,
    1147             :     BorderRightWidth,
    1148             :     CSS_PROPERTY_PARSE_VALUE |
    1149             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    1150             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
    1151             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
    1152             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
    1153             :     "",
    1154             :     VARIANT_HKL | VARIANT_CALC,
    1155             :     kBorderWidthKTable,
    1156             :     CSS_PROP_NO_OFFSET,
    1157             :     eStyleAnimType_Custom)
    1158           6 : CSS_PROP_TABLEBORDER(
    1159             :     border-spacing,
    1160             :     border_spacing,
    1161             :     BorderSpacing,
    1162             :     CSS_PROPERTY_PARSE_FUNCTION |
    1163             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
    1164             :         CSS_PROPERTY_VALUE_NONNEGATIVE,
    1165             :     "",
    1166             :     0,
    1167             :     nullptr,
    1168             :     CSS_PROP_NO_OFFSET,
    1169             :     eStyleAnimType_Custom)
    1170           3 : CSS_PROP_SHORTHAND(
    1171             :     border-style,
    1172             :     border_style,
    1173             :     BorderStyle,
    1174             :     CSS_PROPERTY_PARSE_FUNCTION,
    1175             :     "")  // on/off will need reflow
    1176           3 : CSS_PROP_SHORTHAND(
    1177             :     border-top,
    1178             :     border_top,
    1179             :     BorderTop,
    1180             :     CSS_PROPERTY_PARSE_FUNCTION,
    1181             :     "")
    1182           6 : CSS_PROP_BORDER(
    1183             :     border-top-color,
    1184             :     border_top_color,
    1185             :     BorderTopColor,
    1186             :     CSS_PROPERTY_PARSE_VALUE |
    1187             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1188             :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED |
    1189             :         CSS_PROPERTY_HASHLESS_COLOR_QUIRK,
    1190             :     "",
    1191             :     VARIANT_HC,
    1192             :     nullptr,
    1193             :     offsetof(nsStyleBorder, mBorderTopColor),
    1194             :     eStyleAnimType_ComplexColor)
    1195           6 : CSS_PROP_BORDER(
    1196             :     -moz-border-top-colors,
    1197             :     _moz_border_top_colors,
    1198             :     CSS_PROP_DOMPROP_PREFIXED(BorderTopColors),
    1199             :     CSS_PROPERTY_PARSE_FUNCTION |
    1200             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1201             :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
    1202             :     "",
    1203             :     0,
    1204             :     nullptr,
    1205             :     CSS_PROP_NO_OFFSET,
    1206             :     eStyleAnimType_Discrete)
    1207           6 : CSS_PROP_BORDER(
    1208             :     border-top-left-radius,
    1209             :     border_top_left_radius,
    1210             :     BorderTopLeftRadius,
    1211             :     CSS_PROPERTY_PARSE_FUNCTION |
    1212             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1213             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    1214             :         CSS_PROPERTY_STORES_CALC,
    1215             :     "",
    1216             :     0,
    1217             :     nullptr,
    1218             :     offsetof(nsStyleBorder, mBorderRadius),
    1219             :     eStyleAnimType_Corner_TopLeft)
    1220           6 : CSS_PROP_BORDER(
    1221             :     border-top-right-radius,
    1222             :     border_top_right_radius,
    1223             :     BorderTopRightRadius,
    1224             :     CSS_PROPERTY_PARSE_FUNCTION |
    1225             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1226             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    1227             :         CSS_PROPERTY_STORES_CALC,
    1228             :     "",
    1229             :     0,
    1230             :     nullptr,
    1231             :     offsetof(nsStyleBorder, mBorderRadius),
    1232             :     eStyleAnimType_Corner_TopRight)
    1233           6 : CSS_PROP_BORDER(
    1234             :     border-top-style,
    1235             :     border_top_style,
    1236             :     BorderTopStyle,
    1237             :     CSS_PROPERTY_PARSE_VALUE |
    1238             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
    1239             :     "",
    1240             :     VARIANT_HK,
    1241             :     kBorderStyleKTable,
    1242             :     CSS_PROP_NO_OFFSET,
    1243             :     eStyleAnimType_Discrete)  // on/off will need reflow
    1244           6 : CSS_PROP_BORDER(
    1245             :     border-top-width,
    1246             :     border_top_width,
    1247             :     BorderTopWidth,
    1248             :     CSS_PROPERTY_PARSE_VALUE |
    1249             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    1250             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1251             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
    1252             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
    1253             :     "",
    1254             :     VARIANT_HKL | VARIANT_CALC,
    1255             :     kBorderWidthKTable,
    1256             :     CSS_PROP_NO_OFFSET,
    1257             :     eStyleAnimType_Custom)
    1258           3 : CSS_PROP_SHORTHAND(
    1259             :     border-width,
    1260             :     border_width,
    1261             :     BorderWidth,
    1262             :     CSS_PROPERTY_PARSE_FUNCTION |
    1263             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK,
    1264             :     "")
    1265           6 : CSS_PROP_POSITION(
    1266             :     bottom,
    1267             :     bottom,
    1268             :     Bottom,
    1269             :     CSS_PROPERTY_PARSE_VALUE |
    1270             :         CSS_PROPERTY_STORES_CALC |
    1271             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
    1272             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
    1273             :     "",
    1274             :     VARIANT_AHLP | VARIANT_CALC,
    1275             :     nullptr,
    1276             :     offsetof(nsStylePosition, mOffset),
    1277             :     eStyleAnimType_Sides_Bottom)
    1278         322 : CSS_PROP_XUL(
    1279             :     -moz-box-align,
    1280             :     _moz_box_align,
    1281             :     CSS_PROP_DOMPROP_PREFIXED(BoxAlign),
    1282             :     CSS_PROPERTY_PARSE_VALUE,
    1283             :     "",
    1284             :     VARIANT_HK,
    1285             :     kBoxAlignKTable,
    1286             :     CSS_PROP_NO_OFFSET,
    1287             :     eStyleAnimType_Discrete) // XXX bug 3935
    1288         328 : CSS_PROP_BORDER(
    1289             :     box-decoration-break,
    1290             :     box_decoration_break,
    1291             :     BoxDecorationBreak,
    1292             :     CSS_PROPERTY_PARSE_VALUE,
    1293             :     "layout.css.box-decoration-break.enabled",
    1294             :     VARIANT_HK,
    1295             :     kBoxDecorationBreakKTable,
    1296             :     CSS_PROP_NO_OFFSET,
    1297             :     eStyleAnimType_Discrete)
    1298         322 : CSS_PROP_XUL(
    1299             :     -moz-box-direction,
    1300             :     _moz_box_direction,
    1301             :     CSS_PROP_DOMPROP_PREFIXED(BoxDirection),
    1302             :     CSS_PROPERTY_PARSE_VALUE,
    1303             :     "",
    1304             :     VARIANT_HK,
    1305             :     kBoxDirectionKTable,
    1306             :     CSS_PROP_NO_OFFSET,
    1307             :     eStyleAnimType_Discrete) // XXX bug 3935
    1308         322 : CSS_PROP_XUL(
    1309             :     -moz-box-flex,
    1310             :     _moz_box_flex,
    1311             :     CSS_PROP_DOMPROP_PREFIXED(BoxFlex),
    1312             :     CSS_PROPERTY_PARSE_VALUE |
    1313             :         CSS_PROPERTY_VALUE_NONNEGATIVE,
    1314             :     "",
    1315             :     VARIANT_HN,
    1316             :     nullptr,
    1317             :     offsetof(nsStyleXUL, mBoxFlex),
    1318             :     eStyleAnimType_float) // XXX bug 3935
    1319         322 : CSS_PROP_XUL(
    1320             :     -moz-box-ordinal-group,
    1321             :     _moz_box_ordinal_group,
    1322             :     CSS_PROP_DOMPROP_PREFIXED(BoxOrdinalGroup),
    1323             :     CSS_PROPERTY_PARSE_VALUE |
    1324             :         CSS_PROPERTY_VALUE_NONNEGATIVE,
    1325             :     "",
    1326             :     VARIANT_HI,
    1327             :     nullptr,
    1328             :     CSS_PROP_NO_OFFSET,
    1329             :     eStyleAnimType_Discrete)
    1330         322 : CSS_PROP_XUL(
    1331             :     -moz-box-orient,
    1332             :     _moz_box_orient,
    1333             :     CSS_PROP_DOMPROP_PREFIXED(BoxOrient),
    1334             :     CSS_PROPERTY_PARSE_VALUE,
    1335             :     "",
    1336             :     VARIANT_HK,
    1337             :     kBoxOrientKTable,
    1338             :     CSS_PROP_NO_OFFSET,
    1339             :     eStyleAnimType_Discrete) // XXX bug 3935
    1340         322 : CSS_PROP_XUL(
    1341             :     -moz-box-pack,
    1342             :     _moz_box_pack,
    1343             :     CSS_PROP_DOMPROP_PREFIXED(BoxPack),
    1344             :     CSS_PROPERTY_PARSE_VALUE,
    1345             :     "",
    1346             :     VARIANT_HK,
    1347             :     kBoxPackKTable,
    1348             :     CSS_PROP_NO_OFFSET,
    1349             :     eStyleAnimType_Discrete) // XXX bug 3935
    1350         180 : CSS_PROP_EFFECTS(
    1351             :     box-shadow,
    1352             :     box_shadow,
    1353             :     BoxShadow,
    1354             :     CSS_PROPERTY_PARSE_FUNCTION |
    1355             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1356             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
    1357             :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
    1358             :         // NOTE: some components must be nonnegative
    1359             :     "",
    1360             :     0,
    1361             :     kBoxShadowTypeKTable,
    1362             :     offsetof(nsStyleEffects, mBoxShadow),
    1363             :     eStyleAnimType_Shadow)
    1364         568 : CSS_PROP_POSITION(
    1365             :     box-sizing,
    1366             :     box_sizing,
    1367             :     BoxSizing,
    1368             :     CSS_PROPERTY_PARSE_VALUE,
    1369             :     "",
    1370             :     VARIANT_HK,
    1371             :     kBoxSizingKTable,
    1372             :     CSS_PROP_NO_OFFSET,
    1373             :     eStyleAnimType_Discrete)
    1374           6 : CSS_PROP_TABLEBORDER(
    1375             :     caption-side,
    1376             :     caption_side,
    1377             :     CaptionSide,
    1378             :     CSS_PROPERTY_PARSE_VALUE,
    1379             :     "",
    1380             :     VARIANT_HK,
    1381             :     kCaptionSideKTable,
    1382             :     CSS_PROP_NO_OFFSET,
    1383             :     eStyleAnimType_Discrete)
    1384        2986 : CSS_PROP_USERINTERFACE(
    1385             :     caret-color,
    1386             :     caret_color,
    1387             :     CaretColor,
    1388             :     CSS_PROPERTY_PARSE_VALUE |
    1389             :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
    1390             :     "",
    1391             :     VARIANT_AUTO | VARIANT_HC,
    1392             :     nullptr,
    1393             :     offsetof(nsStyleUserInterface, mCaretColor),
    1394             :     eStyleAnimType_ComplexColor)
    1395        1348 : CSS_PROP_DISPLAY(
    1396             :     clear,
    1397             :     clear,
    1398             :     Clear,
    1399             :     CSS_PROPERTY_PARSE_VALUE,
    1400             :     "",
    1401             :     VARIANT_HK,
    1402             :     kClearKTable,
    1403             :     CSS_PROP_NO_OFFSET,
    1404             :     eStyleAnimType_Discrete)
    1405         180 : CSS_PROP_EFFECTS(
    1406             :     clip,
    1407             :     clip,
    1408             :     Clip,
    1409             :     CSS_PROPERTY_PARSE_FUNCTION |
    1410             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK,
    1411             :     "",
    1412             :     0,
    1413             :     nullptr,
    1414             :     offsetof(nsStyleEffects, mClip),
    1415             :     eStyleAnimType_Custom)
    1416          66 : CSS_PROP_SVGRESET(
    1417             :     clip-path,
    1418             :     clip_path,
    1419             :     ClipPath,
    1420             :     CSS_PROPERTY_PARSE_VALUE |
    1421             :         CSS_PROPERTY_VALUE_PARSER_FUNCTION |
    1422             :         CSS_PROPERTY_CREATES_STACKING_CONTEXT |
    1423             :         CSS_PROPERTY_STORES_CALC,
    1424             :     "",
    1425             :     0,
    1426             :     nullptr,
    1427             :     CSS_PROP_NO_OFFSET,
    1428             :     eStyleAnimType_Custom)
    1429         138 : CSS_PROP_SVG(
    1430             :     clip-rule,
    1431             :     clip_rule,
    1432             :     ClipRule,
    1433             :     CSS_PROPERTY_PARSE_VALUE,
    1434             :     "",
    1435             :     VARIANT_HK,
    1436             :     kFillRuleKTable,
    1437             :     CSS_PROP_NO_OFFSET,
    1438             :     eStyleAnimType_Discrete)
    1439         587 : CSS_PROP_COLOR(
    1440             :     color,
    1441             :     color,
    1442             :     Color,
    1443             :     CSS_PROPERTY_PARSE_VALUE |
    1444             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    1445             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
    1446             :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED |
    1447             :         CSS_PROPERTY_HASHLESS_COLOR_QUIRK,
    1448             :     "",
    1449             :     VARIANT_HC,
    1450             :     nullptr,
    1451             :     offsetof(nsStyleColor, mColor),
    1452             :     eStyleAnimType_Color)
    1453         290 : CSS_PROP_VISIBILITY(
    1454             :     color-adjust,
    1455             :     color_adjust,
    1456             :     ColorAdjust,
    1457             :     CSS_PROPERTY_PARSE_VALUE,
    1458             :     "layout.css.color-adjust.enabled",
    1459             :     VARIANT_HK,
    1460             :     kColorAdjustKTable,
    1461             :     CSS_PROP_NO_OFFSET,
    1462             :     eStyleAnimType_Discrete)
    1463         138 : CSS_PROP_SVG(
    1464             :     color-interpolation,
    1465             :     color_interpolation,
    1466             :     ColorInterpolation,
    1467             :     CSS_PROPERTY_PARSE_VALUE,
    1468             :     "",
    1469             :     VARIANT_HK,
    1470             :     kColorInterpolationKTable,
    1471             :     CSS_PROP_NO_OFFSET,
    1472             :     eStyleAnimType_Discrete)
    1473         138 : CSS_PROP_SVG(
    1474             :     color-interpolation-filters,
    1475             :     color_interpolation_filters,
    1476             :     ColorInterpolationFilters,
    1477             :     CSS_PROPERTY_PARSE_VALUE,
    1478             :     "",
    1479             :     VARIANT_HK,
    1480             :     kColorInterpolationKTable,
    1481             :     CSS_PROP_NO_OFFSET,
    1482             :     eStyleAnimType_Discrete)
    1483          70 : CSS_PROP_COLUMN(
    1484             :     column-count,
    1485             :     column_count,
    1486             :     ColumnCount,
    1487             :     CSS_PROPERTY_PARSE_VALUE |
    1488             :         // Need to reject 0 in addition to negatives.  If we accept 0, we
    1489             :         // need to change NS_STYLE_COLUMN_COUNT_AUTO to something else.
    1490             :         CSS_PROPERTY_VALUE_AT_LEAST_ONE,
    1491             :     "",
    1492             :     VARIANT_AHI,
    1493             :     nullptr,
    1494             :     offsetof(nsStyleColumn, mColumnCount),
    1495             :     eStyleAnimType_Custom)
    1496          70 : CSS_PROP_COLUMN(
    1497             :     column-fill,
    1498             :     column_fill,
    1499             :     ColumnFill,
    1500             :     CSS_PROPERTY_PARSE_VALUE,
    1501             :     "",
    1502             :     VARIANT_HK,
    1503             :     kColumnFillKTable,
    1504             :     CSS_PROP_NO_OFFSET,
    1505             :     eStyleAnimType_Discrete)
    1506          70 : CSS_PROP_COLUMN(
    1507             :     column-gap,
    1508             :     column_gap,
    1509             :     ColumnGap,
    1510             :     CSS_PROPERTY_PARSE_VALUE |
    1511             :         CSS_PROPERTY_VALUE_NONNEGATIVE,
    1512             :     "",
    1513             :     VARIANT_HL | VARIANT_NORMAL | VARIANT_CALC,
    1514             :     nullptr,
    1515             :     offsetof(nsStyleColumn, mColumnGap),
    1516             :     eStyleAnimType_Coord)
    1517           3 : CSS_PROP_SHORTHAND(
    1518             :     column-rule,
    1519             :     column_rule,
    1520             :     ColumnRule,
    1521             :     CSS_PROPERTY_PARSE_FUNCTION,
    1522             :     "")
    1523          70 : CSS_PROP_COLUMN(
    1524             :     column-rule-color,
    1525             :     column_rule_color,
    1526             :     ColumnRuleColor,
    1527             :     CSS_PROPERTY_PARSE_VALUE |
    1528             :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
    1529             :     "",
    1530             :     VARIANT_HC,
    1531             :     nullptr,
    1532             :     offsetof(nsStyleColumn, mColumnRuleColor),
    1533             :     eStyleAnimType_ComplexColor)
    1534          70 : CSS_PROP_COLUMN(
    1535             :     column-rule-style,
    1536             :     column_rule_style,
    1537             :     ColumnRuleStyle,
    1538             :     CSS_PROPERTY_PARSE_VALUE,
    1539             :     "",
    1540             :     VARIANT_HK,
    1541             :     kBorderStyleKTable,
    1542             :     CSS_PROP_NO_OFFSET,
    1543             :     eStyleAnimType_Discrete)
    1544          70 : CSS_PROP_COLUMN(
    1545             :     column-rule-width,
    1546             :     column_rule_width,
    1547             :     ColumnRuleWidth,
    1548             :     CSS_PROPERTY_PARSE_VALUE |
    1549             :         CSS_PROPERTY_VALUE_NONNEGATIVE,
    1550             :     "",
    1551             :     VARIANT_HKL | VARIANT_CALC,
    1552             :     kBorderWidthKTable,
    1553             :     CSS_PROP_NO_OFFSET,
    1554             :     eStyleAnimType_Custom)
    1555          70 : CSS_PROP_COLUMN(
    1556             :     column-span,
    1557             :     column_span,
    1558             :     ColumnSpan,
    1559             :     CSS_PROPERTY_PARSE_VALUE,
    1560             :     "layout.css.column-span.enabled",
    1561             :     VARIANT_HK,
    1562             :     kColumnSpanKTable,
    1563             :     CSS_PROP_NO_OFFSET,
    1564             :     eStyleAnimType_Discrete)
    1565          70 : CSS_PROP_COLUMN(
    1566             :     column-width,
    1567             :     column_width,
    1568             :     ColumnWidth,
    1569             :     CSS_PROPERTY_PARSE_VALUE |
    1570             :         CSS_PROPERTY_VALUE_NONNEGATIVE,
    1571             :     "",
    1572             :     VARIANT_AHL | VARIANT_CALC,
    1573             :     nullptr,
    1574             :     offsetof(nsStyleColumn, mColumnWidth),
    1575             :     eStyleAnimType_Coord)
    1576           3 : CSS_PROP_SHORTHAND(
    1577             :     columns,
    1578             :     columns,
    1579             :     Columns,
    1580             :     CSS_PROPERTY_PARSE_FUNCTION,
    1581             :     "")
    1582        1348 : CSS_PROP_DISPLAY(
    1583             :     contain,
    1584             :     contain,
    1585             :     Contain,
    1586             :     CSS_PROPERTY_PARSE_VALUE |
    1587             :         CSS_PROPERTY_VALUE_PARSER_FUNCTION |
    1588             :         CSS_PROPERTY_FIXPOS_CB,
    1589             :     "layout.css.contain.enabled",
    1590             :     // Does not affect parsing, but is needed for tab completion in devtools:
    1591             :     VARIANT_HK | VARIANT_NONE,
    1592             :     kContainKTable,
    1593             :     CSS_PROP_NO_OFFSET,
    1594             :     eStyleAnimType_Discrete)
    1595          74 : CSS_PROP_CONTENT(
    1596             :     content,
    1597             :     content,
    1598             :     Content,
    1599             :     CSS_PROPERTY_PARSE_FUNCTION |
    1600             :         CSS_PROPERTY_START_IMAGE_LOADS,
    1601             :     "",
    1602             :     0,
    1603             :     kContentKTable,
    1604             :     CSS_PROP_NO_OFFSET,
    1605             :     eStyleAnimType_Discrete)
    1606             : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
    1607         138 : CSS_PROP_SVG(
    1608             :     // Only intended to be used internally by Mozilla, so prefixed.
    1609             :     -moz-context-properties,
    1610             :     _moz_context_properties,
    1611             :     CSS_PROP_DOMPROP_PREFIXED(ContextProperties),
    1612             :     CSS_PROPERTY_PARSE_FUNCTION |
    1613             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
    1614             :         CSS_PROPERTY_INTERNAL,
    1615             :     "",
    1616             :     0,
    1617             :     nullptr,
    1618             :     CSS_PROP_NO_OFFSET,
    1619             :     eStyleAnimType_None)
    1620          98 : CSS_PROP_TEXT(
    1621             :     -moz-control-character-visibility,
    1622             :     _moz_control_character_visibility,
    1623             :     CSS_PROP_DOMPROP_PREFIXED(ControlCharacterVisibility),
    1624             :     CSS_PROPERTY_INTERNAL |
    1625             :         CSS_PROPERTY_PARSE_VALUE,
    1626             :     "",
    1627             :     VARIANT_HK,
    1628             :     kControlCharacterVisibilityKTable,
    1629             :     CSS_PROP_NO_OFFSET,
    1630             :     eStyleAnimType_None)
    1631             : #endif // CSS_PROP_LIST_EXCLUDE_INTERNAL
    1632          74 : CSS_PROP_CONTENT(
    1633             :     counter-increment,
    1634             :     counter_increment,
    1635             :     CounterIncrement,
    1636             :     CSS_PROPERTY_PARSE_FUNCTION,
    1637             :     "",
    1638             :     0,
    1639             :     nullptr,
    1640             :     CSS_PROP_NO_OFFSET,
    1641             :     eStyleAnimType_Discrete) // XXX bug 137285
    1642          74 : CSS_PROP_CONTENT(
    1643             :     counter-reset,
    1644             :     counter_reset,
    1645             :     CounterReset,
    1646             :     CSS_PROPERTY_PARSE_FUNCTION,
    1647             :     "",
    1648             :     0,
    1649             :     nullptr,
    1650             :     CSS_PROP_NO_OFFSET,
    1651             :     eStyleAnimType_Discrete) // XXX bug 137285
    1652        2986 : CSS_PROP_USERINTERFACE(
    1653             :     cursor,
    1654             :     cursor,
    1655             :     Cursor,
    1656             :     CSS_PROPERTY_PARSE_FUNCTION |
    1657             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
    1658             :         CSS_PROPERTY_START_IMAGE_LOADS |
    1659             :         CSS_PROPERTY_IMAGE_IS_IN_ARRAY_0,
    1660             :     "",
    1661             :     0,
    1662             :     kCursorKTable,
    1663             :     CSS_PROP_NO_OFFSET,
    1664             :     eStyleAnimType_Discrete)
    1665             : #ifndef CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND
    1666         295 : CSS_PROP_VISIBILITY(
    1667             :     direction,
    1668             :     direction,
    1669             :     Direction,
    1670             :     CSS_PROPERTY_PARSE_VALUE,
    1671             :     "",
    1672             :     VARIANT_HK,
    1673             :     kDirectionKTable,
    1674             :     CSS_PROP_NO_OFFSET,
    1675             :     eStyleAnimType_Discrete)
    1676             : #endif // !defined(CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND)
    1677        1348 : CSS_PROP_DISPLAY(
    1678             :     display,
    1679             :     display,
    1680             :     Display,
    1681             :     CSS_PROPERTY_PARSE_VALUE |
    1682             :         // This is allowed because we need to make the placeholder
    1683             :         // pseudo-element an inline-block in the UA stylesheet. It is a block
    1684             :         // by default.
    1685             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
    1686             :     "",
    1687             :     VARIANT_HK,
    1688             :     kDisplayKTable,
    1689             :     offsetof(nsStyleDisplay, mDisplay),
    1690             :     eStyleAnimType_None)
    1691          66 : CSS_PROP_SVGRESET(
    1692             :     dominant-baseline,
    1693             :     dominant_baseline,
    1694             :     DominantBaseline,
    1695             :     CSS_PROPERTY_PARSE_VALUE,
    1696             :     "",
    1697             :     VARIANT_HK,
    1698             :     kDominantBaselineKTable,
    1699             :     CSS_PROP_NO_OFFSET,
    1700             :     eStyleAnimType_Discrete)
    1701           6 : CSS_PROP_TABLEBORDER(
    1702             :     empty-cells,
    1703             :     empty_cells,
    1704             :     EmptyCells,
    1705             :     CSS_PROPERTY_PARSE_VALUE,
    1706             :     "",
    1707             :     VARIANT_HK,
    1708             :     kEmptyCellsKTable,
    1709             :     CSS_PROP_NO_OFFSET,
    1710             :     eStyleAnimType_Discrete)
    1711         138 : CSS_PROP_SVG(
    1712             :     fill,
    1713             :     fill,
    1714             :     Fill,
    1715             :     CSS_PROPERTY_PARSE_FUNCTION,
    1716             :     "",
    1717             :     0,
    1718             :     kContextPatternKTable,
    1719             :     offsetof(nsStyleSVG, mFill),
    1720             :     eStyleAnimType_PaintServer)
    1721         138 : CSS_PROP_SVG(
    1722             :     fill-opacity,
    1723             :     fill_opacity,
    1724             :     FillOpacity,
    1725             :     CSS_PROPERTY_PARSE_VALUE,
    1726             :     "",
    1727             :     VARIANT_HN | VARIANT_KEYWORD,
    1728             :     kContextOpacityKTable,
    1729             :     offsetof(nsStyleSVG, mFillOpacity),
    1730             :     eStyleAnimType_float)
    1731         138 : CSS_PROP_SVG(
    1732             :     fill-rule,
    1733             :     fill_rule,
    1734             :     FillRule,
    1735             :     CSS_PROPERTY_PARSE_VALUE,
    1736             :     "",
    1737             :     VARIANT_HK,
    1738             :     kFillRuleKTable,
    1739             :     CSS_PROP_NO_OFFSET,
    1740             :     eStyleAnimType_Discrete)
    1741         180 : CSS_PROP_EFFECTS(
    1742             :     filter,
    1743             :     filter,
    1744             :     Filter,
    1745             :     CSS_PROPERTY_PARSE_FUNCTION |
    1746             :         CSS_PROPERTY_CREATES_STACKING_CONTEXT |
    1747             :         CSS_PROPERTY_FIXPOS_CB,
    1748             :     "",
    1749             :     0,
    1750             :     nullptr,
    1751             :     CSS_PROP_NO_OFFSET,
    1752             :     eStyleAnimType_Custom)
    1753           3 : CSS_PROP_SHORTHAND(
    1754             :     flex,
    1755             :     flex,
    1756             :     Flex,
    1757             :     CSS_PROPERTY_PARSE_FUNCTION,
    1758             :     "")
    1759         568 : CSS_PROP_POSITION(
    1760             :     flex-basis,
    1761             :     flex_basis,
    1762             :     FlexBasis,
    1763             :     CSS_PROPERTY_PARSE_VALUE |
    1764             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    1765             :         CSS_PROPERTY_STORES_CALC,
    1766             :     "",
    1767             :     // NOTE: The parsing implementation for the 'flex' shorthand property has
    1768             :     // its own code to parse each subproperty. It does not depend on the
    1769             :     // longhand parsing defined here.
    1770             :     VARIANT_AHKLP | VARIANT_CALC,
    1771             :     kWidthKTable,
    1772             :     offsetof(nsStylePosition, mFlexBasis),
    1773             :     eStyleAnimType_Coord)
    1774         568 : CSS_PROP_POSITION(
    1775             :     flex-direction,
    1776             :     flex_direction,
    1777             :     FlexDirection,
    1778             :     CSS_PROPERTY_PARSE_VALUE,
    1779             :     "",
    1780             :     VARIANT_HK,
    1781             :     kFlexDirectionKTable,
    1782             :     CSS_PROP_NO_OFFSET,
    1783             :     eStyleAnimType_Discrete)
    1784           3 : CSS_PROP_SHORTHAND(
    1785             :     flex-flow,
    1786             :     flex_flow,
    1787             :     FlexFlow,
    1788             :     CSS_PROPERTY_PARSE_FUNCTION,
    1789             :     "")
    1790         568 : CSS_PROP_POSITION(
    1791             :     flex-grow,
    1792             :     flex_grow,
    1793             :     FlexGrow,
    1794             :     CSS_PROPERTY_PARSE_VALUE |
    1795             :       CSS_PROPERTY_VALUE_NONNEGATIVE,
    1796             :     "",
    1797             :     // NOTE: The parsing implementation for the 'flex' shorthand property has
    1798             :     // its own code to parse each subproperty. It does not depend on the
    1799             :     // longhand parsing defined here.
    1800             :     VARIANT_HN,
    1801             :     nullptr,
    1802             :     offsetof(nsStylePosition, mFlexGrow),
    1803             :     eStyleAnimType_float)
    1804         568 : CSS_PROP_POSITION(
    1805             :     flex-shrink,
    1806             :     flex_shrink,
    1807             :     FlexShrink,
    1808             :     CSS_PROPERTY_PARSE_VALUE |
    1809             :       CSS_PROPERTY_VALUE_NONNEGATIVE,
    1810             :     "",
    1811             :     // NOTE: The parsing implementation for the 'flex' shorthand property has
    1812             :     // its own code to parse each subproperty. It does not depend on the
    1813             :     // longhand parsing defined here.
    1814             :     VARIANT_HN,
    1815             :     nullptr,
    1816             :     offsetof(nsStylePosition, mFlexShrink),
    1817             :     eStyleAnimType_float)
    1818         568 : CSS_PROP_POSITION(
    1819             :     flex-wrap,
    1820             :     flex_wrap,
    1821             :     FlexWrap,
    1822             :     CSS_PROPERTY_PARSE_VALUE,
    1823             :     "",
    1824             :     VARIANT_HK,
    1825             :     kFlexWrapKTable,
    1826             :     CSS_PROP_NO_OFFSET,
    1827             :     eStyleAnimType_Discrete)
    1828        1348 : CSS_PROP_DISPLAY(
    1829             :     float,
    1830             :     float_,
    1831             :     CSS_PROP_PUBLIC_OR_PRIVATE(CssFloat, Float),
    1832             :     CSS_PROPERTY_PARSE_VALUE |
    1833             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
    1834             :     "",
    1835             :     VARIANT_HK,
    1836             :     kFloatKTable,
    1837             :     CSS_PROP_NO_OFFSET,
    1838             :     eStyleAnimType_Discrete)
    1839         328 : CSS_PROP_BORDER(
    1840             :     -moz-float-edge,
    1841             :     _moz_float_edge,
    1842             :     CSS_PROP_DOMPROP_PREFIXED(FloatEdge),
    1843             :     CSS_PROPERTY_PARSE_VALUE,
    1844             :     "",
    1845             :     VARIANT_HK,
    1846             :     kFloatEdgeKTable,
    1847             :     CSS_PROP_NO_OFFSET,
    1848             :     eStyleAnimType_Discrete) // XXX bug 3935
    1849          66 : CSS_PROP_SVGRESET(
    1850             :     flood-color,
    1851             :     flood_color,
    1852             :     FloodColor,
    1853             :     CSS_PROPERTY_PARSE_VALUE,
    1854             :     "",
    1855             :     VARIANT_HC,
    1856             :     nullptr,
    1857             :     offsetof(nsStyleSVGReset, mFloodColor),
    1858             :     eStyleAnimType_Color)
    1859          66 : CSS_PROP_SVGRESET(
    1860             :     flood-opacity,
    1861             :     flood_opacity,
    1862             :     FloodOpacity,
    1863             :     CSS_PROPERTY_PARSE_VALUE,
    1864             :     "",
    1865             :     VARIANT_HN,
    1866             :     nullptr,
    1867             :     offsetof(nsStyleSVGReset, mFloodOpacity),
    1868             :     eStyleAnimType_float)
    1869           3 : CSS_PROP_SHORTHAND(
    1870             :     font,
    1871             :     font,
    1872             :     Font,
    1873             :     CSS_PROPERTY_PARSE_FUNCTION,
    1874             :     "")
    1875          54 : CSS_PROP_FONT(
    1876             :     font-family,
    1877             :     font_family,
    1878             :     FontFamily,
    1879             :     CSS_PROPERTY_PARSE_VALUE |
    1880             :         CSS_PROPERTY_VALUE_PARSER_FUNCTION |
    1881             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    1882             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
    1883             :     "",
    1884             :     0,
    1885             :     nullptr,
    1886             :     CSS_PROP_NO_OFFSET,
    1887             :     eStyleAnimType_Discrete)
    1888          30 : CSS_PROP_FONT(
    1889             :     font-feature-settings,
    1890             :     font_feature_settings,
    1891             :     FontFeatureSettings,
    1892             :     CSS_PROPERTY_PARSE_VALUE |
    1893             :         CSS_PROPERTY_VALUE_PARSER_FUNCTION |
    1894             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    1895             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
    1896             :     "",
    1897             :     0,
    1898             :     nullptr,
    1899             :     CSS_PROP_NO_OFFSET,
    1900             :     eStyleAnimType_Discrete)
    1901          30 : CSS_PROP_FONT(
    1902             :     font-kerning,
    1903             :     font_kerning,
    1904             :     FontKerning,
    1905             :     CSS_PROPERTY_PARSE_VALUE |
    1906             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    1907             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
    1908             :     "",
    1909             :     VARIANT_HK,
    1910             :     kFontKerningKTable,
    1911             :     CSS_PROP_NO_OFFSET,
    1912             :     eStyleAnimType_Discrete)
    1913          30 : CSS_PROP_FONT(
    1914             :     font-language-override,
    1915             :     font_language_override,
    1916             :     FontLanguageOverride,
    1917             :     CSS_PROPERTY_PARSE_VALUE |
    1918             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    1919             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
    1920             :     "",
    1921             :     VARIANT_NORMAL | VARIANT_INHERIT | VARIANT_STRING,
    1922             :     nullptr,
    1923             :     CSS_PROP_NO_OFFSET,
    1924             :     eStyleAnimType_Discrete)
    1925        1310 : CSS_PROP_FONT(
    1926             :     font-size,
    1927             :     font_size,
    1928             :     FontSize,
    1929             :     CSS_PROPERTY_PARSE_VALUE |
    1930             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    1931             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    1932             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
    1933             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK,
    1934             :     "",
    1935             :     VARIANT_HKLP | VARIANT_SYSFONT | VARIANT_CALC,
    1936             :     kFontSizeKTable,
    1937             :     // Note that mSize is the correct place for *reading* the computed value,
    1938             :     // but setting it requires setting mFont.size as well.
    1939             :     offsetof(nsStyleFont, mSize),
    1940             :     eStyleAnimType_nscoord)
    1941          30 : CSS_PROP_FONT(
    1942             :     font-size-adjust,
    1943             :     font_size_adjust,
    1944             :     FontSizeAdjust,
    1945             :     CSS_PROPERTY_PARSE_VALUE |
    1946             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    1947             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    1948             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
    1949             :     "",
    1950             :     VARIANT_HON | VARIANT_SYSFONT,
    1951             :     nullptr,
    1952             :     offsetof(nsStyleFont, mFont.sizeAdjust),
    1953             :     eStyleAnimType_float)
    1954          30 : CSS_PROP_FONT(
    1955             :     font-stretch,
    1956             :     font_stretch,
    1957             :     FontStretch,
    1958             :     CSS_PROPERTY_PARSE_VALUE |
    1959             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    1960             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
    1961             :     "",
    1962             :     VARIANT_HK | VARIANT_SYSFONT,
    1963             :     kFontStretchKTable,
    1964             :     offsetof(nsStyleFont, mFont.stretch),
    1965             :     eStyleAnimType_Custom)
    1966          30 : CSS_PROP_FONT(
    1967             :     font-style,
    1968             :     font_style,
    1969             :     FontStyle,
    1970             :     CSS_PROPERTY_PARSE_VALUE |
    1971             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    1972             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
    1973             :     "",
    1974             :     VARIANT_HK | VARIANT_SYSFONT,
    1975             :     kFontStyleKTable,
    1976             :     CSS_PROP_NO_OFFSET,
    1977             :     eStyleAnimType_Discrete)
    1978          30 : CSS_PROP_FONT(
    1979             :     font-synthesis,
    1980             :     font_synthesis,
    1981             :     FontSynthesis,
    1982             :     CSS_PROPERTY_PARSE_VALUE |
    1983             :         CSS_PROPERTY_VALUE_PARSER_FUNCTION |
    1984             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    1985             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
    1986             :     "",
    1987             :     0,
    1988             :     kFontSynthesisKTable,
    1989             :     CSS_PROP_NO_OFFSET,
    1990             :     eStyleAnimType_Discrete)
    1991           3 : CSS_PROP_SHORTHAND(
    1992             :     font-variant,
    1993             :     font_variant,
    1994             :     FontVariant,
    1995             :     CSS_PROPERTY_PARSE_FUNCTION,
    1996             :     "")
    1997          30 : CSS_PROP_FONT(
    1998             :     font-variant-alternates,
    1999             :     font_variant_alternates,
    2000             :     FontVariantAlternates,
    2001             :     CSS_PROPERTY_PARSE_VALUE |
    2002             :         CSS_PROPERTY_VALUE_PARSER_FUNCTION |
    2003             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    2004             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
    2005             :     "",
    2006             :     0,
    2007             :     kFontVariantAlternatesKTable,
    2008             :     CSS_PROP_NO_OFFSET,
    2009             :     eStyleAnimType_Discrete)
    2010          30 : CSS_PROP_FONT(
    2011             :     font-variant-caps,
    2012             :     font_variant_caps,
    2013             :     FontVariantCaps,
    2014             :     CSS_PROPERTY_PARSE_VALUE |
    2015             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    2016             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
    2017             :     "",
    2018             :     VARIANT_HMK,
    2019             :     kFontVariantCapsKTable,
    2020             :     CSS_PROP_NO_OFFSET,
    2021             :     eStyleAnimType_Discrete)
    2022          30 : CSS_PROP_FONT(
    2023             :     font-variant-east-asian,
    2024             :     font_variant_east_asian,
    2025             :     FontVariantEastAsian,
    2026             :     CSS_PROPERTY_PARSE_VALUE |
    2027             :         CSS_PROPERTY_VALUE_PARSER_FUNCTION |
    2028             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    2029             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
    2030             :     "",
    2031             :     0,
    2032             :     kFontVariantEastAsianKTable,
    2033             :     CSS_PROP_NO_OFFSET,
    2034             :     eStyleAnimType_Discrete)
    2035          30 : CSS_PROP_FONT(
    2036             :     font-variant-ligatures,
    2037             :     font_variant_ligatures,
    2038             :     FontVariantLigatures,
    2039             :     CSS_PROPERTY_PARSE_VALUE |
    2040             :         CSS_PROPERTY_VALUE_PARSER_FUNCTION |
    2041             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    2042             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
    2043             :     "",
    2044             :     0,
    2045             :     kFontVariantLigaturesKTable,
    2046             :     CSS_PROP_NO_OFFSET,
    2047             :     eStyleAnimType_Discrete)
    2048          30 : CSS_PROP_FONT(
    2049             :     font-variant-numeric,
    2050             :     font_variant_numeric,
    2051             :     FontVariantNumeric,
    2052             :     CSS_PROPERTY_PARSE_VALUE |
    2053             :         CSS_PROPERTY_VALUE_PARSER_FUNCTION |
    2054             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    2055             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
    2056             :     "",
    2057             :     0,
    2058             :     kFontVariantNumericKTable,
    2059             :     CSS_PROP_NO_OFFSET,
    2060             :     eStyleAnimType_Discrete)
    2061          30 : CSS_PROP_FONT(
    2062             :     font-variant-position,
    2063             :     font_variant_position,
    2064             :     FontVariantPosition,
    2065             :     CSS_PROPERTY_PARSE_VALUE |
    2066             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    2067             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
    2068             :     "",
    2069             :     VARIANT_HMK,
    2070             :     kFontVariantPositionKTable,
    2071             :     CSS_PROP_NO_OFFSET,
    2072             :     eStyleAnimType_Discrete)
    2073          30 : CSS_PROP_FONT(
    2074             :     font-variation-settings,
    2075             :     font_variation_settings,
    2076             :     FontVariationSettings,
    2077             :     CSS_PROPERTY_PARSE_VALUE |
    2078             :         CSS_PROPERTY_VALUE_PARSER_FUNCTION |
    2079             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
    2080             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    2081             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
    2082             :     "layout.css.font-variations.enabled",
    2083             :     0,
    2084             :     nullptr,
    2085             :     CSS_PROP_NO_OFFSET,
    2086             :     eStyleAnimType_Custom)
    2087        1310 : CSS_PROP_FONT(
    2088             :     font-weight,
    2089             :     font_weight,
    2090             :     FontWeight,
    2091             :     CSS_PROPERTY_PARSE_VALUE |
    2092             :         CSS_PROPERTY_VALUE_PARSER_FUNCTION |
    2093             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    2094             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
    2095             :         // NOTE: This property has range restrictions on interpolation!
    2096             :     "",
    2097             :     0,
    2098             :     kFontWeightKTable,
    2099             :     offsetof(nsStyleFont, mFont.weight),
    2100             :     eStyleAnimType_Custom)
    2101          24 : CSS_PROP_UIRESET(
    2102             :     -moz-force-broken-image-icon,
    2103             :     _moz_force_broken_image_icon,
    2104             :     CSS_PROP_DOMPROP_PREFIXED(ForceBrokenImageIcon),
    2105             :     CSS_PROPERTY_PARSE_VALUE |
    2106             :         CSS_PROPERTY_VALUE_NONNEGATIVE,
    2107             :     "",
    2108             :     VARIANT_HI,
    2109             :     nullptr,
    2110             :     CSS_PROP_NO_OFFSET,
    2111             :     eStyleAnimType_Discrete) // bug 58646
    2112           3 : CSS_PROP_SHORTHAND(
    2113             :     grid,
    2114             :     grid,
    2115             :     Grid,
    2116             :     CSS_PROPERTY_PARSE_FUNCTION,
    2117             :     "layout.css.grid.enabled")
    2118           3 : CSS_PROP_SHORTHAND(
    2119             :     grid-area,
    2120             :     grid_area,
    2121             :     GridArea,
    2122             :     CSS_PROPERTY_PARSE_FUNCTION,
    2123             :     "layout.css.grid.enabled")
    2124         568 : CSS_PROP_POSITION(
    2125             :     grid-auto-columns,
    2126             :     grid_auto_columns,
    2127             :     GridAutoColumns,
    2128             :     CSS_PROPERTY_PARSE_FUNCTION |
    2129             :         CSS_PROPERTY_STORES_CALC |
    2130             :         CSS_PROPERTY_ENABLED_IN_UA_SHEETS,
    2131             :     "layout.css.grid.enabled",
    2132             :     0,
    2133             :     kGridTrackBreadthKTable,
    2134             :     CSS_PROP_NO_OFFSET,
    2135             :     eStyleAnimType_Discrete)
    2136         568 : CSS_PROP_POSITION(
    2137             :     grid-auto-flow,
    2138             :     grid_auto_flow,
    2139             :     GridAutoFlow,
    2140             :     CSS_PROPERTY_PARSE_FUNCTION |
    2141             :         CSS_PROPERTY_ENABLED_IN_UA_SHEETS,
    2142             :     "layout.css.grid.enabled",
    2143             :     0,
    2144             :     kGridAutoFlowKTable,
    2145             :     CSS_PROP_NO_OFFSET,
    2146             :     eStyleAnimType_Discrete)
    2147         568 : CSS_PROP_POSITION(
    2148             :     grid-auto-rows,
    2149             :     grid_auto_rows,
    2150             :     GridAutoRows,
    2151             :     CSS_PROPERTY_PARSE_FUNCTION |
    2152             :         CSS_PROPERTY_STORES_CALC |
    2153             :         CSS_PROPERTY_ENABLED_IN_UA_SHEETS,
    2154             :     "layout.css.grid.enabled",
    2155             :     0,
    2156             :     kGridTrackBreadthKTable,
    2157             :     CSS_PROP_NO_OFFSET,
    2158             :     eStyleAnimType_Discrete)
    2159           3 : CSS_PROP_SHORTHAND(
    2160             :     grid-column,
    2161             :     grid_column,
    2162             :     GridColumn,
    2163             :     CSS_PROPERTY_PARSE_FUNCTION,
    2164             :     "layout.css.grid.enabled")
    2165         568 : CSS_PROP_POSITION(
    2166             :     grid-column-end,
    2167             :     grid_column_end,
    2168             :     GridColumnEnd,
    2169             :     CSS_PROPERTY_PARSE_FUNCTION,
    2170             :     "layout.css.grid.enabled",
    2171             :     0,
    2172             :     nullptr,
    2173             :     CSS_PROP_NO_OFFSET,
    2174             :     eStyleAnimType_Discrete)
    2175        1032 : CSS_PROP_POSITION(
    2176             :     grid-column-gap,
    2177             :     grid_column_gap,
    2178             :     GridColumnGap,
    2179             :     CSS_PROPERTY_PARSE_VALUE |
    2180             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    2181             :         CSS_PROPERTY_ENABLED_IN_UA_SHEETS,
    2182             :     "layout.css.grid.enabled",
    2183             :     VARIANT_HLP | VARIANT_CALC,
    2184             :     nullptr,
    2185             :     offsetof(nsStylePosition, mGridColumnGap),
    2186             :     eStyleAnimType_Coord)
    2187         568 : CSS_PROP_POSITION(
    2188             :     grid-column-start,
    2189             :     grid_column_start,
    2190             :     GridColumnStart,
    2191             :     CSS_PROPERTY_PARSE_FUNCTION,
    2192             :     "layout.css.grid.enabled",
    2193             :     0,
    2194             :     nullptr,
    2195             :     CSS_PROP_NO_OFFSET,
    2196             :     eStyleAnimType_Discrete)
    2197           3 : CSS_PROP_SHORTHAND(
    2198             :     grid-gap,
    2199             :     grid_gap,
    2200             :     GridGap,
    2201             :     CSS_PROPERTY_PARSE_FUNCTION,
    2202             :     "layout.css.grid.enabled")
    2203           3 : CSS_PROP_SHORTHAND(
    2204             :     grid-row,
    2205             :     grid_row,
    2206             :     GridRow,
    2207             :     CSS_PROPERTY_PARSE_FUNCTION,
    2208             :     "layout.css.grid.enabled")
    2209         568 : CSS_PROP_POSITION(
    2210             :     grid-row-end,
    2211             :     grid_row_end,
    2212             :     GridRowEnd,
    2213             :     CSS_PROPERTY_PARSE_FUNCTION,
    2214             :     "layout.css.grid.enabled",
    2215             :     0,
    2216             :     nullptr,
    2217             :     CSS_PROP_NO_OFFSET,
    2218             :     eStyleAnimType_Discrete)
    2219        1032 : CSS_PROP_POSITION(
    2220             :     grid-row-gap,
    2221             :     grid_row_gap,
    2222             :     GridRowGap,
    2223             :     CSS_PROPERTY_PARSE_VALUE |
    2224             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    2225             :         CSS_PROPERTY_ENABLED_IN_UA_SHEETS,
    2226             :     "layout.css.grid.enabled",
    2227             :     VARIANT_HLP | VARIANT_CALC,
    2228             :     nullptr,
    2229             :     offsetof(nsStylePosition, mGridRowGap),
    2230             :     eStyleAnimType_Coord)
    2231         568 : CSS_PROP_POSITION(
    2232             :     grid-row-start,
    2233             :     grid_row_start,
    2234             :     GridRowStart,
    2235             :     CSS_PROPERTY_PARSE_FUNCTION,
    2236             :     "layout.css.grid.enabled",
    2237             :     0,
    2238             :     nullptr,
    2239             :     CSS_PROP_NO_OFFSET,
    2240             :     eStyleAnimType_Discrete)
    2241           3 : CSS_PROP_SHORTHAND(
    2242             :     grid-template,
    2243             :     grid_template,
    2244             :     GridTemplate,
    2245             :     CSS_PROPERTY_PARSE_FUNCTION,
    2246             :     "layout.css.grid.enabled")
    2247         568 : CSS_PROP_POSITION(
    2248             :     grid-template-areas,
    2249             :     grid_template_areas,
    2250             :     GridTemplateAreas,
    2251             :     CSS_PROPERTY_PARSE_FUNCTION |
    2252             :         CSS_PROPERTY_ENABLED_IN_UA_SHEETS,
    2253             :     "layout.css.grid.enabled",
    2254             :     0,
    2255             :     nullptr,
    2256             :     CSS_PROP_NO_OFFSET,
    2257             :     eStyleAnimType_Discrete)
    2258         568 : CSS_PROP_POSITION(
    2259             :     grid-template-columns,
    2260             :     grid_template_columns,
    2261             :     GridTemplateColumns,
    2262             :     CSS_PROPERTY_PARSE_FUNCTION |
    2263             :         CSS_PROPERTY_STORES_CALC |
    2264             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
    2265             :         CSS_PROPERTY_ENABLED_IN_UA_SHEETS,
    2266             :     "layout.css.grid.enabled",
    2267             :     0,
    2268             :     kGridTrackBreadthKTable,
    2269             :     CSS_PROP_NO_OFFSET,
    2270             :     eStyleAnimType_Discrete)
    2271         568 : CSS_PROP_POSITION(
    2272             :     grid-template-rows,
    2273             :     grid_template_rows,
    2274             :     GridTemplateRows,
    2275             :     CSS_PROPERTY_PARSE_FUNCTION |
    2276             :         CSS_PROPERTY_STORES_CALC |
    2277             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
    2278             :         CSS_PROPERTY_ENABLED_IN_UA_SHEETS,
    2279             :     "layout.css.grid.enabled",
    2280             :     0,
    2281             :     kGridTrackBreadthKTable,
    2282             :     CSS_PROP_NO_OFFSET,
    2283             :     eStyleAnimType_Discrete)
    2284         568 : CSS_PROP_POSITION(
    2285             :     height,
    2286             :     height,
    2287             :     Height,
    2288             :     CSS_PROPERTY_PARSE_VALUE |
    2289             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    2290             :         CSS_PROPERTY_STORES_CALC |
    2291             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
    2292             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
    2293             :     "",
    2294             :     VARIANT_AHKLP | VARIANT_CALC,
    2295             :     kWidthKTable,
    2296             :     offsetof(nsStylePosition, mHeight),
    2297             :     eStyleAnimType_Coord)
    2298          98 : CSS_PROP_TEXT(
    2299             :     hyphens,
    2300             :     hyphens,
    2301             :     Hyphens,
    2302             :     CSS_PROPERTY_PARSE_VALUE,
    2303             :     "",
    2304             :     VARIANT_HK,
    2305             :     kHyphensKTable,
    2306             :     CSS_PROP_NO_OFFSET,
    2307             :     eStyleAnimType_Discrete)
    2308         248 : CSS_PROP_TEXTRESET(
    2309             :     initial-letter,
    2310             :     initial_letter,
    2311             :     InitialLetter,
    2312             :     CSS_PROPERTY_PARSE_FUNCTION |
    2313             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
    2314             :     "layout.css.initial-letter.enabled",
    2315             :     0,
    2316             :     nullptr,
    2317             :     CSS_PROP_NO_OFFSET,
    2318             :     eStyleAnimType_Discrete)
    2319         290 : CSS_PROP_VISIBILITY(
    2320             :     image-orientation,
    2321             :     image_orientation,
    2322             :     ImageOrientation,
    2323             :     CSS_PROPERTY_PARSE_VALUE |
    2324             :         CSS_PROPERTY_VALUE_PARSER_FUNCTION,
    2325             :     "layout.css.image-orientation.enabled",
    2326             :     0,
    2327             :     kImageOrientationKTable,
    2328             :     offsetof(nsStyleVisibility, mImageOrientation),
    2329             :     eStyleAnimType_Discrete)
    2330         266 : CSS_PROP_LIST(
    2331             :     -moz-image-region,
    2332             :     _moz_image_region,
    2333             :     CSS_PROP_DOMPROP_PREFIXED(ImageRegion),
    2334             :     CSS_PROPERTY_PARSE_FUNCTION,
    2335             :     "",
    2336             :     0,
    2337             :     nullptr,
    2338             :     offsetof(nsStyleList, mImageRegion),
    2339             :     eStyleAnimType_Custom)
    2340         290 : CSS_PROP_VISIBILITY(
    2341             :     image-rendering,
    2342             :     image_rendering,
    2343             :     ImageRendering,
    2344             :     CSS_PROPERTY_PARSE_VALUE,
    2345             :     "",
    2346             :     VARIANT_HK,
    2347             :     kImageRenderingKTable,
    2348             :     CSS_PROP_NO_OFFSET,
    2349             :     eStyleAnimType_Discrete)
    2350          24 : CSS_PROP_UIRESET(
    2351             :     ime-mode,
    2352             :     ime_mode,
    2353             :     ImeMode,
    2354             :     CSS_PROPERTY_PARSE_VALUE,
    2355             :     "",
    2356             :     VARIANT_HK,
    2357             :     kIMEModeKTable,
    2358             :     CSS_PROP_NO_OFFSET,
    2359             :     eStyleAnimType_Discrete)
    2360           6 : CSS_PROP_LOGICAL(
    2361             :     inline-size,
    2362             :     inline_size,
    2363             :     InlineSize,
    2364             :     CSS_PROPERTY_PARSE_VALUE |
    2365             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    2366             :         CSS_PROPERTY_STORES_CALC |
    2367             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
    2368             :         CSS_PROPERTY_LOGICAL |
    2369             :         CSS_PROPERTY_LOGICAL_AXIS,
    2370             :     "",
    2371             :     VARIANT_AHKLP | VARIANT_CALC,
    2372             :     kWidthKTable,
    2373             :     Size,
    2374             :     Position,
    2375             :     CSS_PROP_NO_OFFSET,
    2376             :     eStyleAnimType_None)
    2377        1348 : CSS_PROP_DISPLAY(
    2378             :     isolation,
    2379             :     isolation,
    2380             :     Isolation,
    2381             :     CSS_PROPERTY_PARSE_VALUE |
    2382             :         CSS_PROPERTY_CREATES_STACKING_CONTEXT,
    2383             :     "layout.css.isolation.enabled",
    2384             :     VARIANT_HK,
    2385             :     kIsolationKTable,
    2386             :     CSS_PROP_NO_OFFSET,
    2387             :     eStyleAnimType_Discrete)
    2388         568 : CSS_PROP_POSITION(
    2389             :     justify-content,
    2390             :     justify_content,
    2391             :     JustifyContent,
    2392             :     CSS_PROPERTY_PARSE_FUNCTION,
    2393             :     "",
    2394             :     VARIANT_HK,
    2395             :     kAutoCompletionAlignJustifyContent,
    2396             :     CSS_PROP_NO_OFFSET,
    2397             :     eStyleAnimType_Discrete)
    2398         568 : CSS_PROP_POSITION(
    2399             :     justify-items,
    2400             :     justify_items,
    2401             :     JustifyItems,
    2402             :     CSS_PROPERTY_PARSE_FUNCTION,
    2403             :     "",
    2404             :     VARIANT_HK,
    2405             :     // for auto-completion we use same values as justify-self:
    2406             :     kAutoCompletionAlignJustifySelf,
    2407             :     CSS_PROP_NO_OFFSET,
    2408             :     eStyleAnimType_Discrete)
    2409         568 : CSS_PROP_POSITION(
    2410             :     justify-self,
    2411             :     justify_self,
    2412             :     JustifySelf,
    2413             :     CSS_PROPERTY_PARSE_FUNCTION,
    2414             :     "",
    2415             :     VARIANT_HK,
    2416             :     kAutoCompletionAlignJustifySelf,
    2417             :     CSS_PROP_NO_OFFSET,
    2418             :     eStyleAnimType_Discrete)
    2419             : #ifndef CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND
    2420             : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
    2421          30 : CSS_PROP_FONT(
    2422             :     -x-lang,
    2423             :     _x_lang,
    2424             :     Lang,
    2425             :     CSS_PROPERTY_INTERNAL |
    2426             :         CSS_PROPERTY_PARSE_INACCESSIBLE,
    2427             :     "",
    2428             :     0,
    2429             :     nullptr,
    2430             :     CSS_PROP_NO_OFFSET,
    2431             :     eStyleAnimType_None)
    2432             : #endif // CSS_PROP_LIST_EXCLUDE_INTERNAL
    2433             : #endif // CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND
    2434           6 : CSS_PROP_POSITION(
    2435             :     left,
    2436             :     left,
    2437             :     Left,
    2438             :     CSS_PROPERTY_PARSE_VALUE |
    2439             :         CSS_PROPERTY_STORES_CALC |
    2440             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
    2441             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
    2442             :     "",
    2443             :     VARIANT_AHLP | VARIANT_CALC,
    2444             :     nullptr,
    2445             :     offsetof(nsStylePosition, mOffset),
    2446             :     eStyleAnimType_Sides_Left)
    2447          98 : CSS_PROP_TEXT(
    2448             :     letter-spacing,
    2449             :     letter_spacing,
    2450             :     LetterSpacing,
    2451             :     CSS_PROPERTY_PARSE_VALUE |
    2452             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    2453             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
    2454             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK,
    2455             :     "",
    2456             :     VARIANT_HL | VARIANT_NORMAL | VARIANT_CALC,
    2457             :     nullptr,
    2458             :     offsetof(nsStyleText, mLetterSpacing),
    2459             :     eStyleAnimType_Coord)
    2460          66 : CSS_PROP_SVGRESET(
    2461             :     lighting-color,
    2462             :     lighting_color,
    2463             :     LightingColor,
    2464             :     CSS_PROPERTY_PARSE_VALUE,
    2465             :     "",
    2466             :     VARIANT_HC,
    2467             :     nullptr,
    2468             :     offsetof(nsStyleSVGReset, mLightingColor),
    2469             :     eStyleAnimType_Color)
    2470          98 : CSS_PROP_TEXT(
    2471             :     line-height,
    2472             :     line_height,
    2473             :     LineHeight,
    2474             :     CSS_PROPERTY_PARSE_VALUE |
    2475             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    2476             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    2477             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
    2478             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
    2479             :     "",
    2480             :     VARIANT_HLPN | VARIANT_KEYWORD | VARIANT_NORMAL | VARIANT_SYSFONT | VARIANT_CALC,
    2481             :     kLineHeightKTable,
    2482             :     offsetof(nsStyleText, mLineHeight),
    2483             :     eStyleAnimType_Coord)
    2484           3 : CSS_PROP_SHORTHAND(
    2485             :     list-style,
    2486             :     list_style,
    2487             :     ListStyle,
    2488             :     CSS_PROPERTY_PARSE_FUNCTION,
    2489             :     "")
    2490         266 : CSS_PROP_LIST(
    2491             :     list-style-image,
    2492             :     list_style_image,
    2493             :     ListStyleImage,
    2494             :     CSS_PROPERTY_PARSE_VALUE |
    2495             :         CSS_PROPERTY_START_IMAGE_LOADS,
    2496             :     "",
    2497             :     VARIANT_HUO,
    2498             :     nullptr,
    2499             :     CSS_PROP_NO_OFFSET,
    2500             :     eStyleAnimType_Discrete)
    2501         266 : CSS_PROP_LIST(
    2502             :     list-style-position,
    2503             :     list_style_position,
    2504             :     ListStylePosition,
    2505             :     CSS_PROPERTY_PARSE_VALUE,
    2506             :     "",
    2507             :     VARIANT_HK,
    2508             :     kListStylePositionKTable,
    2509             :     CSS_PROP_NO_OFFSET,
    2510             :     eStyleAnimType_Discrete)
    2511         266 : CSS_PROP_LIST(
    2512             :     list-style-type,
    2513             :     list_style_type,
    2514             :     ListStyleType,
    2515             :     CSS_PROPERTY_PARSE_VALUE |
    2516             :         CSS_PROPERTY_VALUE_PARSER_FUNCTION,
    2517             :     "",
    2518             :     0,
    2519             :     nullptr,
    2520             :     CSS_PROP_NO_OFFSET,
    2521             :     eStyleAnimType_Discrete)
    2522           3 : CSS_PROP_SHORTHAND(
    2523             :     margin,
    2524             :     margin,
    2525             :     Margin,
    2526             :     CSS_PROPERTY_PARSE_FUNCTION |
    2527             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
    2528             :         CSS_PROPERTY_APPLIES_TO_PAGE_RULE,
    2529             :     "")
    2530           6 : CSS_PROP_LOGICAL(
    2531             :     margin-block-end,
    2532             :     margin_block_end,
    2533             :     MarginBlockEnd,
    2534             :     CSS_PROPERTY_PARSE_VALUE |
    2535             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    2536             :         CSS_PROPERTY_STORES_CALC |
    2537             :         CSS_PROPERTY_APPLIES_TO_PAGE_RULE |
    2538             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
    2539             :         CSS_PROPERTY_LOGICAL |
    2540             :         CSS_PROPERTY_LOGICAL_BLOCK_AXIS |
    2541             :         CSS_PROPERTY_LOGICAL_END_EDGE,
    2542             :     "",
    2543             :     VARIANT_AHLP | VARIANT_CALC,
    2544             :     nullptr,
    2545             :     Margin,
    2546             :     Margin,
    2547             :     CSS_PROP_NO_OFFSET,
    2548             :     eStyleAnimType_None)
    2549           6 : CSS_PROP_LOGICAL(
    2550             :     margin-block-start,
    2551             :     margin_block_start,
    2552             :     MarginBlockStart,
    2553             :     CSS_PROPERTY_PARSE_VALUE |
    2554             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    2555             :         CSS_PROPERTY_STORES_CALC |
    2556             :         CSS_PROPERTY_APPLIES_TO_PAGE_RULE |
    2557             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
    2558             :         CSS_PROPERTY_LOGICAL |
    2559             :         CSS_PROPERTY_LOGICAL_BLOCK_AXIS,
    2560             :     "",
    2561             :     VARIANT_AHLP | VARIANT_CALC,
    2562             :     nullptr,
    2563             :     Margin,
    2564             :     Margin,
    2565             :     CSS_PROP_NO_OFFSET,
    2566             :     eStyleAnimType_None)
    2567           6 : CSS_PROP_MARGIN(
    2568             :     margin-bottom,
    2569             :     margin_bottom,
    2570             :     MarginBottom,
    2571             :     CSS_PROPERTY_PARSE_VALUE |
    2572             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    2573             :         CSS_PROPERTY_STORES_CALC |
    2574             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
    2575             :         CSS_PROPERTY_APPLIES_TO_PAGE_RULE |
    2576             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
    2577             :     "",
    2578             :     VARIANT_AHLP | VARIANT_CALC,
    2579             :     nullptr,
    2580             :     offsetof(nsStyleMargin, mMargin),
    2581             :     eStyleAnimType_Sides_Bottom)
    2582           6 : CSS_PROP_LOGICAL(
    2583             :     margin-inline-end,
    2584             :     margin_inline_end,
    2585             :     MarginInlineEnd,
    2586             :     CSS_PROPERTY_PARSE_VALUE |
    2587             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    2588             :         CSS_PROPERTY_STORES_CALC |
    2589             :         CSS_PROPERTY_APPLIES_TO_PAGE_RULE |
    2590             :         CSS_PROPERTY_LOGICAL |
    2591             :         CSS_PROPERTY_LOGICAL_END_EDGE,
    2592             :     "",
    2593             :     VARIANT_AHLP | VARIANT_CALC,
    2594             :     nullptr,
    2595             :     Margin,
    2596             :     Margin,
    2597             :     CSS_PROP_NO_OFFSET,
    2598             :     eStyleAnimType_None)
    2599           6 : CSS_PROP_LOGICAL(
    2600             :     margin-inline-start,
    2601             :     margin_inline_start,
    2602             :     MarginInlineStart,
    2603             :     CSS_PROPERTY_PARSE_VALUE |
    2604             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    2605             :         CSS_PROPERTY_STORES_CALC |
    2606             :         CSS_PROPERTY_APPLIES_TO_PAGE_RULE |
    2607             :         CSS_PROPERTY_LOGICAL,
    2608             :     "",
    2609             :     VARIANT_AHLP | VARIANT_CALC,
    2610             :     nullptr,
    2611             :     Margin,
    2612             :     Margin,
    2613             :     CSS_PROP_NO_OFFSET,
    2614             :     eStyleAnimType_None)
    2615           6 : CSS_PROP_MARGIN(
    2616             :     margin-left,
    2617             :     margin_left,
    2618             :     MarginLeft,
    2619             :     CSS_PROPERTY_PARSE_VALUE |
    2620             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
    2621             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    2622             :         CSS_PROPERTY_STORES_CALC |
    2623             :         CSS_PROPERTY_APPLIES_TO_PAGE_RULE |
    2624             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
    2625             :     "",
    2626             :     VARIANT_AHLP | VARIANT_CALC,
    2627             :     nullptr,
    2628             :     offsetof(nsStyleMargin, mMargin),
    2629             :     eStyleAnimType_Sides_Left)
    2630           6 : CSS_PROP_MARGIN(
    2631             :     margin-right,
    2632             :     margin_right,
    2633             :     MarginRight,
    2634             :     CSS_PROPERTY_PARSE_VALUE |
    2635             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
    2636             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    2637             :         CSS_PROPERTY_STORES_CALC |
    2638             :         CSS_PROPERTY_APPLIES_TO_PAGE_RULE |
    2639             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
    2640             :     "",
    2641             :     VARIANT_AHLP | VARIANT_CALC,
    2642             :     nullptr,
    2643             :     offsetof(nsStyleMargin, mMargin),
    2644             :     eStyleAnimType_Sides_Right)
    2645           6 : CSS_PROP_MARGIN(
    2646             :     margin-top,
    2647             :     margin_top,
    2648             :     MarginTop,
    2649             :     CSS_PROPERTY_PARSE_VALUE |
    2650             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    2651             :         CSS_PROPERTY_STORES_CALC |
    2652             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
    2653             :         CSS_PROPERTY_APPLIES_TO_PAGE_RULE |
    2654             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
    2655             :     "",
    2656             :     VARIANT_AHLP | VARIANT_CALC,
    2657             :     nullptr,
    2658             :     offsetof(nsStyleMargin, mMargin),
    2659             :     eStyleAnimType_Sides_Top)
    2660           3 : CSS_PROP_SHORTHAND(
    2661             :     marker,
    2662             :     marker,
    2663             :     Marker,
    2664             :     CSS_PROPERTY_PARSE_FUNCTION,
    2665             :     "")
    2666         138 : CSS_PROP_SVG(
    2667             :     marker-end,
    2668             :     marker_end,
    2669             :     MarkerEnd,
    2670             :     CSS_PROPERTY_PARSE_VALUE,
    2671             :     "",
    2672             :     VARIANT_HUO,
    2673             :     nullptr,
    2674             :     CSS_PROP_NO_OFFSET,
    2675             :     eStyleAnimType_Discrete)
    2676         138 : CSS_PROP_SVG(
    2677             :     marker-mid,
    2678             :     marker_mid,
    2679             :     MarkerMid,
    2680             :     CSS_PROPERTY_PARSE_VALUE,
    2681             :     "",
    2682             :     VARIANT_HUO,
    2683             :     nullptr,
    2684             :     CSS_PROP_NO_OFFSET,
    2685             :     eStyleAnimType_Discrete)
    2686         138 : CSS_PROP_SVG(
    2687             :     marker-start,
    2688             :     marker_start,
    2689             :     MarkerStart,
    2690             :     CSS_PROPERTY_PARSE_VALUE,
    2691             :     "",
    2692             :     VARIANT_HUO,
    2693             :     nullptr,
    2694             :     CSS_PROP_NO_OFFSET,
    2695             :     eStyleAnimType_Discrete)
    2696             : #ifndef MOZ_ENABLE_MASK_AS_SHORTHAND
    2697             : CSS_PROP_SVGRESET(
    2698             :     mask,
    2699             :     mask,
    2700             :     Mask,
    2701             :     CSS_PROPERTY_PARSE_VALUE |
    2702             :       CSS_PROPERTY_CREATES_STACKING_CONTEXT,
    2703             :     "",
    2704             :     VARIANT_HUO,
    2705             :     nullptr,
    2706             :     CSS_PROP_NO_OFFSET,
    2707             :     eStyleAnimType_Discrete)
    2708             : #else
    2709           3 : CSS_PROP_SHORTHAND(
    2710             :     mask,
    2711             :     mask,
    2712             :     Mask,
    2713             :     CSS_PROPERTY_PARSE_FUNCTION,
    2714             :     "")
    2715          66 : CSS_PROP_SVGRESET(
    2716             :     mask-clip,
    2717             :     mask_clip,
    2718             :     MaskClip,
    2719             :     CSS_PROPERTY_PARSE_VALUE_LIST |
    2720             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
    2721             :     "",
    2722             :     VARIANT_KEYWORD, // used by list parsing
    2723             :     kMaskClipKTable,
    2724             :     CSS_PROP_NO_OFFSET,
    2725             :     eStyleAnimType_Discrete)
    2726          66 : CSS_PROP_SVGRESET(
    2727             :     mask-composite,
    2728             :     mask_composite,
    2729             :     MaskComposite,
    2730             :     CSS_PROPERTY_PARSE_VALUE_LIST |
    2731             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
    2732             :     "",
    2733             :     VARIANT_KEYWORD, // used by list parsing
    2734             :     kImageLayerCompositeKTable,
    2735             :     CSS_PROP_NO_OFFSET,
    2736             :     eStyleAnimType_Discrete)
    2737          66 : CSS_PROP_SVGRESET(
    2738             :     mask-image,
    2739             :     mask_image,
    2740             :     MaskImage,
    2741             :     CSS_PROPERTY_PARSE_VALUE_LIST |
    2742             :         CSS_PROPERTY_CREATES_STACKING_CONTEXT |
    2743             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
    2744             :         CSS_PROPERTY_START_IMAGE_LOADS,
    2745             :     "",
    2746             :     VARIANT_IMAGE, // used by list parsing
    2747             :     nullptr,
    2748             :     CSS_PROP_NO_OFFSET,
    2749             :     eStyleAnimType_Discrete)
    2750          66 : CSS_PROP_SVGRESET(
    2751             :     mask-mode,
    2752             :     mask_mode,
    2753             :     MaskMode,
    2754             :     CSS_PROPERTY_PARSE_VALUE_LIST |
    2755             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
    2756             :     "",
    2757             :     VARIANT_KEYWORD, // used by list parsing
    2758             :     kImageLayerModeKTable,
    2759             :     CSS_PROP_NO_OFFSET,
    2760             :     eStyleAnimType_Discrete)
    2761          66 : CSS_PROP_SVGRESET(
    2762             :     mask-origin,
    2763             :     mask_origin,
    2764             :     MaskOrigin,
    2765             :     CSS_PROPERTY_PARSE_VALUE_LIST |
    2766             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
    2767             :     "",
    2768             :     VARIANT_KEYWORD, // used by list parsing
    2769             :     kMaskOriginKTable,
    2770             :     CSS_PROP_NO_OFFSET,
    2771             :     eStyleAnimType_Discrete)
    2772           3 : CSS_PROP_SHORTHAND(
    2773             :     mask-position,
    2774             :     mask_position,
    2775             :     MaskPosition,
    2776             :     CSS_PROPERTY_PARSE_FUNCTION |
    2777             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK,
    2778             :     "")
    2779          66 : CSS_PROP_SVGRESET(
    2780             :     mask-position-x,
    2781             :     mask_position_x,
    2782             :     MaskPositionX,
    2783             :     CSS_PROPERTY_PARSE_FUNCTION |
    2784             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
    2785             :         CSS_PROPERTY_STORES_CALC,
    2786             :     "",
    2787             :     0,
    2788             :     kImageLayerPositionKTable,
    2789             :     CSS_PROP_NO_OFFSET,
    2790             :     eStyleAnimType_Custom)
    2791          66 : CSS_PROP_SVGRESET(
    2792             :     mask-position-y,
    2793             :     mask_position_y,
    2794             :     MaskPositionY,
    2795             :     CSS_PROPERTY_PARSE_FUNCTION |
    2796             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
    2797             :         CSS_PROPERTY_STORES_CALC,
    2798             :     "",
    2799             :     0,
    2800             :     kImageLayerPositionKTable,
    2801             :     CSS_PROP_NO_OFFSET,
    2802             :     eStyleAnimType_Custom)
    2803          66 : CSS_PROP_SVGRESET(
    2804             :     mask-repeat,
    2805             :     mask_repeat,
    2806             :     MaskRepeat,
    2807             :     CSS_PROPERTY_PARSE_FUNCTION |
    2808             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
    2809             :     "",
    2810             :     VARIANT_KEYWORD, // used by list parsing
    2811             :     kImageLayerRepeatKTable,
    2812             :     CSS_PROP_NO_OFFSET,
    2813             :     eStyleAnimType_Discrete)
    2814          66 : CSS_PROP_SVGRESET(
    2815             :     mask-size,
    2816             :     mask_size,
    2817             :     MaskSize,
    2818             :     CSS_PROPERTY_PARSE_FUNCTION |
    2819             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
    2820             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    2821             :         CSS_PROPERTY_STORES_CALC,
    2822             :     "",
    2823             :     0,
    2824             :     kImageLayerSizeKTable,
    2825             :     CSS_PROP_NO_OFFSET,
    2826             :     eStyleAnimType_Custom)
    2827             : #endif // MOZ_ENABLE_MASK_AS_SHORTHAND
    2828          66 : CSS_PROP_SVGRESET(
    2829             :     mask-type,
    2830             :     mask_type,
    2831             :     MaskType,
    2832             :     CSS_PROPERTY_PARSE_VALUE,
    2833             :     "",
    2834             :     VARIANT_HK,
    2835             :     kMaskTypeKTable,
    2836             :     CSS_PROP_NO_OFFSET,
    2837             :     eStyleAnimType_Discrete)
    2838             : #ifndef CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND
    2839             : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
    2840        1310 : CSS_PROP_FONT(
    2841             :     -moz-math-display,
    2842             :     _moz_math_display,
    2843             :     MathDisplay,
    2844             :     CSS_PROPERTY_INTERNAL |
    2845             :         CSS_PROPERTY_ENABLED_IN_UA_SHEETS |
    2846             :         CSS_PROPERTY_PARSE_VALUE,
    2847             :     "",
    2848             :     VARIANT_HK,
    2849             :     kMathDisplayKTable,
    2850             :     CSS_PROP_NO_OFFSET,
    2851             :     eStyleAnimType_None)
    2852        1310 : CSS_PROP_FONT(
    2853             :     -moz-math-variant,
    2854             :     _moz_math_variant,
    2855             :     MathVariant,
    2856             :     CSS_PROPERTY_INTERNAL |
    2857             :         CSS_PROPERTY_PARSE_INACCESSIBLE,
    2858             :     "",
    2859             :     VARIANT_HK,
    2860             :     kMathVariantKTable,
    2861             :     CSS_PROP_NO_OFFSET,
    2862             :     eStyleAnimType_None)
    2863             : #endif // CSS_PROP_LIST_EXCLUDE_INTERNAL
    2864             : #endif // CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND
    2865           6 : CSS_PROP_LOGICAL(
    2866             :     max-block-size,
    2867             :     max_block_size,
    2868             :     MaxBlockSize,
    2869             :     CSS_PROPERTY_PARSE_VALUE |
    2870             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    2871             :         CSS_PROPERTY_STORES_CALC |
    2872             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
    2873             :         CSS_PROPERTY_LOGICAL |
    2874             :         CSS_PROPERTY_LOGICAL_AXIS |
    2875             :         CSS_PROPERTY_LOGICAL_BLOCK_AXIS,
    2876             :     "",
    2877             :     VARIANT_HLPO | VARIANT_CALC,
    2878             :     nullptr,
    2879             :     MaxSize,
    2880             :     Position,
    2881             :     CSS_PROP_NO_OFFSET,
    2882             :     eStyleAnimType_None)
    2883         568 : CSS_PROP_POSITION(
    2884             :     max-height,
    2885             :     max_height,
    2886             :     MaxHeight,
    2887             :     CSS_PROPERTY_PARSE_VALUE |
    2888             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    2889             :         CSS_PROPERTY_STORES_CALC |
    2890             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK,
    2891             :     "",
    2892             :     VARIANT_HKLPO | VARIANT_CALC,
    2893             :     kWidthKTable,
    2894             :     offsetof(nsStylePosition, mMaxHeight),
    2895             :     eStyleAnimType_Coord)
    2896           6 : CSS_PROP_LOGICAL(
    2897             :     max-inline-size,
    2898             :     max_inline_size,
    2899             :     MaxInlineSize,
    2900             :     CSS_PROPERTY_PARSE_VALUE |
    2901             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    2902             :         CSS_PROPERTY_STORES_CALC |
    2903             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
    2904             :         CSS_PROPERTY_LOGICAL |
    2905             :         CSS_PROPERTY_LOGICAL_AXIS,
    2906             :     "",
    2907             :     VARIANT_HKLPO | VARIANT_CALC,
    2908             :     kWidthKTable,
    2909             :     MaxSize,
    2910             :     Position,
    2911             :     CSS_PROP_NO_OFFSET,
    2912             :     eStyleAnimType_None)
    2913         568 : CSS_PROP_POSITION(
    2914             :     max-width,
    2915             :     max_width,
    2916             :     MaxWidth,
    2917             :     CSS_PROPERTY_PARSE_VALUE |
    2918             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    2919             :         CSS_PROPERTY_STORES_CALC |
    2920             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK,
    2921             :     "",
    2922             :     VARIANT_HKLPO | VARIANT_CALC,
    2923             :     kWidthKTable,
    2924             :     offsetof(nsStylePosition, mMaxWidth),
    2925             :     eStyleAnimType_Coord)
    2926           6 : CSS_PROP_LOGICAL(
    2927             :     min-block-size,
    2928             :     min_block_size,
    2929             :     MinBlockSize,
    2930             :     CSS_PROPERTY_PARSE_VALUE |
    2931             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    2932             :         CSS_PROPERTY_STORES_CALC |
    2933             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
    2934             :         CSS_PROPERTY_LOGICAL |
    2935             :         CSS_PROPERTY_LOGICAL_AXIS |
    2936             :         CSS_PROPERTY_LOGICAL_BLOCK_AXIS,
    2937             :     "",
    2938             :     VARIANT_AHLP | VARIANT_CALC,
    2939             :     nullptr,
    2940             :     MinSize,
    2941             :     Position,
    2942             :     CSS_PROP_NO_OFFSET,
    2943             :     eStyleAnimType_None)
    2944             : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
    2945          30 : CSS_PROP_FONT(
    2946             :     -moz-min-font-size-ratio,
    2947             :     _moz_min_font_size_ratio,
    2948             :     CSS_PROP_DOMPROP_PREFIXED(MinFontSizeRatio),
    2949             :     CSS_PROPERTY_INTERNAL |
    2950             :         CSS_PROPERTY_PARSE_VALUE |
    2951             :         CSS_PROPERTY_ENABLED_IN_UA_SHEETS,
    2952             :     "",
    2953             :     VARIANT_INHERIT | VARIANT_PERCENT,
    2954             :     nullptr,
    2955             :     offsetof(nsStyleFont, mMinFontSizeRatio),
    2956             :     eStyleAnimType_None)
    2957             : #endif // CSS_PROP_LIST_EXCLUDE_INTERNAL
    2958         568 : CSS_PROP_POSITION(
    2959             :     min-height,
    2960             :     min_height,
    2961             :     MinHeight,
    2962             :     CSS_PROPERTY_PARSE_VALUE |
    2963             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    2964             :         CSS_PROPERTY_STORES_CALC |
    2965             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK,
    2966             :     "",
    2967             :     VARIANT_AHKLP | VARIANT_CALC,
    2968             :     kWidthKTable,
    2969             :     offsetof(nsStylePosition, mMinHeight),
    2970             :     eStyleAnimType_Coord)
    2971           6 : CSS_PROP_LOGICAL(
    2972             :     min-inline-size,
    2973             :     min_inline_size,
    2974             :     MinInlineSize,
    2975             :     CSS_PROPERTY_PARSE_VALUE |
    2976             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    2977             :         CSS_PROPERTY_STORES_CALC |
    2978             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
    2979             :         CSS_PROPERTY_LOGICAL |
    2980             :         CSS_PROPERTY_LOGICAL_AXIS,
    2981             :     "",
    2982             :     VARIANT_AHKLP | VARIANT_CALC,
    2983             :     kWidthKTable,
    2984             :     MinSize,
    2985             :     Position,
    2986             :     CSS_PROP_NO_OFFSET,
    2987             :     eStyleAnimType_None)
    2988         572 : CSS_PROP_POSITION(
    2989             :     min-width,
    2990             :     min_width,
    2991             :     MinWidth,
    2992             :     CSS_PROPERTY_PARSE_VALUE |
    2993             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    2994             :         CSS_PROPERTY_STORES_CALC |
    2995             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK,
    2996             :     "",
    2997             :     VARIANT_AHKLP | VARIANT_CALC,
    2998             :     kWidthKTable,
    2999             :     offsetof(nsStylePosition, mMinWidth),
    3000             :     eStyleAnimType_Coord)
    3001         180 : CSS_PROP_EFFECTS(
    3002             :     mix-blend-mode,
    3003             :     mix_blend_mode,
    3004             :     MixBlendMode,
    3005             :     CSS_PROPERTY_PARSE_VALUE |
    3006             :         CSS_PROPERTY_CREATES_STACKING_CONTEXT,
    3007             :     "layout.css.mix-blend-mode.enabled",
    3008             :     VARIANT_HK,
    3009             :     kBlendModeKTable,
    3010             :     CSS_PROP_NO_OFFSET,
    3011             :     eStyleAnimType_Discrete)
    3012         568 : CSS_PROP_POSITION(
    3013             :     object-fit,
    3014             :     object_fit,
    3015             :     ObjectFit,
    3016             :     CSS_PROPERTY_PARSE_VALUE,
    3017             :     "",
    3018             :     VARIANT_HK,
    3019             :     kObjectFitKTable,
    3020             :     CSS_PROP_NO_OFFSET,
    3021             :     eStyleAnimType_Discrete)
    3022         568 : CSS_PROP_POSITION(
    3023             :     object-position,
    3024             :     object_position,
    3025             :     ObjectPosition,
    3026             :     CSS_PROPERTY_PARSE_FUNCTION |
    3027             :         CSS_PROPERTY_STORES_CALC,
    3028             :     "",
    3029             :     0,
    3030             :     kImageLayerPositionKTable,
    3031             :     offsetof(nsStylePosition, mObjectPosition),
    3032             :     eStyleAnimType_Custom)
    3033           6 : CSS_PROP_LOGICAL(
    3034             :     offset-block-end,
    3035             :     offset_block_end,
    3036             :     OffsetBlockEnd,
    3037             :     CSS_PROPERTY_PARSE_VALUE |
    3038             :         CSS_PROPERTY_STORES_CALC |
    3039             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
    3040             :         CSS_PROPERTY_LOGICAL |
    3041             :         CSS_PROPERTY_LOGICAL_BLOCK_AXIS |
    3042             :         CSS_PROPERTY_LOGICAL_END_EDGE,
    3043             :     "",
    3044             :     VARIANT_AHLP | VARIANT_CALC,
    3045             :     nullptr,
    3046             :     Offset,
    3047             :     Position,
    3048             :     CSS_PROP_NO_OFFSET,
    3049             :     eStyleAnimType_None)
    3050           6 : CSS_PROP_LOGICAL(
    3051             :     offset-block-start,
    3052             :     offset_block_start,
    3053             :     OffsetBlockStart,
    3054             :     CSS_PROPERTY_PARSE_VALUE |
    3055             :         CSS_PROPERTY_STORES_CALC |
    3056             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
    3057             :         CSS_PROPERTY_LOGICAL |
    3058             :         CSS_PROPERTY_LOGICAL_BLOCK_AXIS,
    3059             :     "",
    3060             :     VARIANT_AHLP | VARIANT_CALC,
    3061             :     nullptr,
    3062             :     Offset,
    3063             :     Position,
    3064             :     CSS_PROP_NO_OFFSET,
    3065             :     eStyleAnimType_None)
    3066           6 : CSS_PROP_LOGICAL(
    3067             :     offset-inline-end,
    3068             :     offset_inline_end,
    3069             :     OffsetInlineEnd,
    3070             :     CSS_PROPERTY_PARSE_VALUE |
    3071             :         CSS_PROPERTY_STORES_CALC |
    3072             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
    3073             :         CSS_PROPERTY_LOGICAL |
    3074             :         CSS_PROPERTY_LOGICAL_END_EDGE,
    3075             :     "",
    3076             :     VARIANT_AHLP | VARIANT_CALC,
    3077             :     nullptr,
    3078             :     Offset,
    3079             :     Position,
    3080             :     CSS_PROP_NO_OFFSET,
    3081             :     eStyleAnimType_None)
    3082           6 : CSS_PROP_LOGICAL(
    3083             :     offset-inline-start,
    3084             :     offset_inline_start,
    3085             :     OffsetInlineStart,
    3086             :     CSS_PROPERTY_PARSE_VALUE |
    3087             :         CSS_PROPERTY_STORES_CALC |
    3088             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
    3089             :         CSS_PROPERTY_LOGICAL,
    3090             :     "",
    3091             :     VARIANT_AHLP | VARIANT_CALC,
    3092             :     nullptr,
    3093             :     Offset,
    3094             :     Position,
    3095             :     CSS_PROP_NO_OFFSET,
    3096             :     eStyleAnimType_None)
    3097         180 : CSS_PROP_EFFECTS(
    3098             :     opacity,
    3099             :     opacity,
    3100             :     Opacity,
    3101             :     CSS_PROPERTY_PARSE_VALUE |
    3102             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
    3103             :         CSS_PROPERTY_CAN_ANIMATE_ON_COMPOSITOR |
    3104             :         CSS_PROPERTY_CREATES_STACKING_CONTEXT,
    3105             :     "",
    3106             :     VARIANT_HN,
    3107             :     nullptr,
    3108             :     offsetof(nsStyleEffects, mOpacity),
    3109             :     eStyleAnimType_float)
    3110         568 : CSS_PROP_POSITION(
    3111             :     order,
    3112             :     order,
    3113             :     Order,
    3114             :     CSS_PROPERTY_PARSE_VALUE,
    3115             :     "",
    3116             :     VARIANT_HI,
    3117             :     nullptr,
    3118             :     offsetof(nsStylePosition, mOrder),
    3119             :     eStyleAnimType_Custom) // <integer>
    3120        1348 : CSS_PROP_DISPLAY(
    3121             :     -moz-orient,
    3122             :     _moz_orient,
    3123             :     CSS_PROP_DOMPROP_PREFIXED(Orient),
    3124             :     CSS_PROPERTY_PARSE_VALUE,
    3125             :     "",
    3126             :     VARIANT_HK,
    3127             :     kOrientKTable,
    3128             :     CSS_PROP_NO_OFFSET,
    3129             :     eStyleAnimType_Discrete)
    3130          30 : CSS_PROP_FONT(
    3131             :     -moz-osx-font-smoothing,
    3132             :     _moz_osx_font_smoothing,
    3133             :     CSS_PROP_DOMPROP_PREFIXED(OsxFontSmoothing),
    3134             :     CSS_PROPERTY_PARSE_VALUE |
    3135             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    3136             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
    3137             :     "layout.css.osx-font-smoothing.enabled",
    3138             :     VARIANT_HK,
    3139             :     kFontSmoothingKTable,
    3140             :     CSS_PROP_NO_OFFSET,
    3141             :     eStyleAnimType_Discrete)
    3142           3 : CSS_PROP_SHORTHAND(
    3143             :     outline,
    3144             :     outline,
    3145             :     Outline,
    3146             :     CSS_PROPERTY_PARSE_FUNCTION,
    3147             :     "")
    3148          58 : CSS_PROP_OUTLINE(
    3149             :     outline-color,
    3150             :     outline_color,
    3151             :     OutlineColor,
    3152             :     CSS_PROPERTY_PARSE_VALUE |
    3153             :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
    3154             :     "",
    3155             :     VARIANT_HC,
    3156             :     nullptr,
    3157             :     offsetof(nsStyleOutline, mOutlineColor),
    3158             :     eStyleAnimType_ComplexColor)
    3159          58 : CSS_PROP_OUTLINE(
    3160             :     outline-offset,
    3161             :     outline_offset,
    3162             :     OutlineOffset,
    3163             :     CSS_PROPERTY_PARSE_VALUE,
    3164             :     "",
    3165             :     VARIANT_HL | VARIANT_CALC,
    3166             :     nullptr,
    3167             :     offsetof(nsStyleOutline, mOutlineOffset),
    3168             :     eStyleAnimType_nscoord)
    3169           3 : CSS_PROP_SHORTHAND(
    3170             :     -moz-outline-radius,
    3171             :     _moz_outline_radius,
    3172             :     CSS_PROP_DOMPROP_PREFIXED(OutlineRadius),
    3173             :     CSS_PROPERTY_PARSE_FUNCTION,
    3174             :     "")
    3175           6 : CSS_PROP_OUTLINE(
    3176             :     -moz-outline-radius-bottomleft,
    3177             :     _moz_outline_radius_bottomleft,
    3178             :     CSS_PROP_DOMPROP_PREFIXED(OutlineRadiusBottomleft),
    3179             :     CSS_PROPERTY_PARSE_FUNCTION |
    3180             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    3181             :         CSS_PROPERTY_STORES_CALC,
    3182             :     "",
    3183             :     0,
    3184             :     nullptr,
    3185             :     offsetof(nsStyleOutline, mOutlineRadius),
    3186             :     eStyleAnimType_Corner_BottomLeft)
    3187           6 : CSS_PROP_OUTLINE(
    3188             :     -moz-outline-radius-bottomright,
    3189             :     _moz_outline_radius_bottomright,
    3190             :     CSS_PROP_DOMPROP_PREFIXED(OutlineRadiusBottomright),
    3191             :     CSS_PROPERTY_PARSE_FUNCTION |
    3192             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    3193             :         CSS_PROPERTY_STORES_CALC,
    3194             :     "",
    3195             :     0,
    3196             :     nullptr,
    3197             :     offsetof(nsStyleOutline, mOutlineRadius),
    3198             :     eStyleAnimType_Corner_BottomRight)
    3199           6 : CSS_PROP_OUTLINE(
    3200             :     -moz-outline-radius-topleft,
    3201             :     _moz_outline_radius_topleft,
    3202             :     CSS_PROP_DOMPROP_PREFIXED(OutlineRadiusTopleft),
    3203             :     CSS_PROPERTY_PARSE_FUNCTION |
    3204             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    3205             :         CSS_PROPERTY_STORES_CALC,
    3206             :     "",
    3207             :     0,
    3208             :     nullptr,
    3209             :     offsetof(nsStyleOutline, mOutlineRadius),
    3210             :     eStyleAnimType_Corner_TopLeft)
    3211           6 : CSS_PROP_OUTLINE(
    3212             :     -moz-outline-radius-topright,
    3213             :     _moz_outline_radius_topright,
    3214             :     CSS_PROP_DOMPROP_PREFIXED(OutlineRadiusTopright),
    3215             :     CSS_PROPERTY_PARSE_FUNCTION |
    3216             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    3217             :         CSS_PROPERTY_STORES_CALC,
    3218             :     "",
    3219             :     0,
    3220             :     nullptr,
    3221             :     offsetof(nsStyleOutline, mOutlineRadius),
    3222             :     eStyleAnimType_Corner_TopRight)
    3223          58 : CSS_PROP_OUTLINE(
    3224             :     outline-style,
    3225             :     outline_style,
    3226             :     OutlineStyle,
    3227             :     CSS_PROPERTY_PARSE_VALUE,
    3228             :     "",
    3229             :     VARIANT_HK,
    3230             :     kOutlineStyleKTable,
    3231             :     CSS_PROP_NO_OFFSET,
    3232             :     eStyleAnimType_Discrete)
    3233          58 : CSS_PROP_OUTLINE(
    3234             :     outline-width,
    3235             :     outline_width,
    3236             :     OutlineWidth,
    3237             :     CSS_PROPERTY_PARSE_VALUE |
    3238             :         CSS_PROPERTY_VALUE_NONNEGATIVE,
    3239             :     "",
    3240             :     VARIANT_HKL | VARIANT_CALC,
    3241             :     kBorderWidthKTable,
    3242             :     offsetof(nsStyleOutline, mOutlineWidth),
    3243             :     eStyleAnimType_nscoord)
    3244           3 : CSS_PROP_SHORTHAND(
    3245             :     overflow,
    3246             :     overflow,
    3247             :     Overflow,
    3248             :     CSS_PROPERTY_PARSE_FUNCTION,
    3249             :     "")
    3250        1348 : CSS_PROP_DISPLAY(
    3251             :     overflow-clip-box,
    3252             :     overflow_clip_box,
    3253             :     OverflowClipBox,
    3254             :     CSS_PROPERTY_PARSE_VALUE |
    3255             :         CSS_PROPERTY_ENABLED_IN_UA_SHEETS |
    3256             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
    3257             :     "layout.css.overflow-clip-box.enabled",
    3258             :     VARIANT_HK,
    3259             :     kOverflowClipBoxKTable,
    3260             :     CSS_PROP_NO_OFFSET,
    3261             :     eStyleAnimType_Discrete)
    3262        1348 : CSS_PROP_DISPLAY(
    3263             :     overflow-x,
    3264             :     overflow_x,
    3265             :     OverflowX,
    3266             :     CSS_PROPERTY_PARSE_VALUE |
    3267             :         // This is required by the UA stylesheet and can't be overridden.
    3268             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
    3269             :     "",
    3270             :     VARIANT_HK,
    3271             :     kOverflowSubKTable,
    3272             :     CSS_PROP_NO_OFFSET,
    3273             :     eStyleAnimType_Discrete)
    3274        1348 : CSS_PROP_DISPLAY(
    3275             :     overflow-y,
    3276             :     overflow_y,
    3277             :     OverflowY,
    3278             :     CSS_PROPERTY_PARSE_VALUE |
    3279             :         // This is required by the UA stylesheet and can't be overridden.
    3280             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
    3281             :     "",
    3282             :     VARIANT_HK,
    3283             :     kOverflowSubKTable,
    3284             :     CSS_PROP_NO_OFFSET,
    3285             :     eStyleAnimType_Discrete)
    3286           3 : CSS_PROP_SHORTHAND(
    3287             :     padding,
    3288             :     padding,
    3289             :     Padding,
    3290             :     CSS_PROPERTY_PARSE_FUNCTION |
    3291             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK,
    3292             :     "")
    3293           6 : CSS_PROP_LOGICAL(
    3294             :     padding-block-end,
    3295             :     padding_block_end,
    3296             :     PaddingBlockEnd,
    3297             :     CSS_PROPERTY_PARSE_VALUE |
    3298             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    3299             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    3300             :         // This is required by the UA stylesheet and can't be overridden.
    3301             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
    3302             :         CSS_PROPERTY_STORES_CALC |
    3303             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
    3304             :         CSS_PROPERTY_LOGICAL |
    3305             :         CSS_PROPERTY_LOGICAL_BLOCK_AXIS |
    3306             :         CSS_PROPERTY_LOGICAL_END_EDGE,
    3307             :     "",
    3308             :     VARIANT_HLP | VARIANT_CALC,
    3309             :     nullptr,
    3310             :     Padding,
    3311             :     Padding,
    3312             :     CSS_PROP_NO_OFFSET,
    3313             :     eStyleAnimType_None)
    3314           6 : CSS_PROP_LOGICAL(
    3315             :     padding-block-start,
    3316             :     padding_block_start,
    3317             :     PaddingBlockStart,
    3318             :     CSS_PROPERTY_PARSE_VALUE |
    3319             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    3320             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    3321             :         // This is required by the UA stylesheet and can't be overridden.
    3322             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
    3323             :         CSS_PROPERTY_STORES_CALC |
    3324             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
    3325             :         CSS_PROPERTY_LOGICAL |
    3326             :         CSS_PROPERTY_LOGICAL_BLOCK_AXIS,
    3327             :     "",
    3328             :     VARIANT_HLP | VARIANT_CALC,
    3329             :     nullptr,
    3330             :     Padding,
    3331             :     Padding,
    3332             :     CSS_PROP_NO_OFFSET,
    3333             :     eStyleAnimType_None)
    3334           6 : CSS_PROP_PADDING(
    3335             :     padding-bottom,
    3336             :     padding_bottom,
    3337             :     PaddingBottom,
    3338             :     CSS_PROPERTY_PARSE_VALUE |
    3339             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    3340             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    3341             :         // This is required by the UA stylesheet and can't be overridden.
    3342             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
    3343             :         CSS_PROPERTY_STORES_CALC |
    3344             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
    3345             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
    3346             :     "",
    3347             :     VARIANT_HLP | VARIANT_CALC,
    3348             :     nullptr,
    3349             :     offsetof(nsStylePadding, mPadding),
    3350             :     eStyleAnimType_Sides_Bottom)
    3351           6 : CSS_PROP_LOGICAL(
    3352             :     padding-inline-end,
    3353             :     padding_inline_end,
    3354             :     PaddingInlineEnd,
    3355             :     CSS_PROPERTY_PARSE_VALUE |
    3356             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    3357             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    3358             :         // This is required by the UA stylesheet and can't be overridden.
    3359             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
    3360             :         CSS_PROPERTY_STORES_CALC |
    3361             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
    3362             :         CSS_PROPERTY_LOGICAL |
    3363             :         CSS_PROPERTY_LOGICAL_END_EDGE,
    3364             :     "",
    3365             :     VARIANT_HLP | VARIANT_CALC,
    3366             :     nullptr,
    3367             :     Padding,
    3368             :     Padding,
    3369             :     CSS_PROP_NO_OFFSET,
    3370             :     eStyleAnimType_None)
    3371           6 : CSS_PROP_LOGICAL(
    3372             :     padding-inline-start,
    3373             :     padding_inline_start,
    3374             :     PaddingInlineStart,
    3375             :     CSS_PROPERTY_PARSE_VALUE |
    3376             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    3377             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    3378             :         // This is required by the UA stylesheet and can't be overridden.
    3379             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
    3380             :         CSS_PROPERTY_STORES_CALC |
    3381             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
    3382             :         CSS_PROPERTY_LOGICAL,
    3383             :     "",
    3384             :     VARIANT_HLP | VARIANT_CALC,
    3385             :     nullptr,
    3386             :     Padding,
    3387             :     Padding,
    3388             :     CSS_PROP_NO_OFFSET,
    3389             :     eStyleAnimType_None)
    3390           6 : CSS_PROP_PADDING(
    3391             :     padding-left,
    3392             :     padding_left,
    3393             :     PaddingLeft,
    3394             :     CSS_PROPERTY_PARSE_VALUE |
    3395             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    3396             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
    3397             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    3398             :         // This is required by the UA stylesheet and can't be overridden.
    3399             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
    3400             :         CSS_PROPERTY_STORES_CALC |
    3401             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
    3402             :     "",
    3403             :     VARIANT_HLP | VARIANT_CALC,
    3404             :     nullptr,
    3405             :     offsetof(nsStylePadding, mPadding),
    3406             :     eStyleAnimType_Sides_Left)
    3407           6 : CSS_PROP_PADDING(
    3408             :     padding-right,
    3409             :     padding_right,
    3410             :     PaddingRight,
    3411             :     CSS_PROPERTY_PARSE_VALUE |
    3412             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    3413             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
    3414             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    3415             :         // This is required by the UA stylesheet and can't be overridden.
    3416             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
    3417             :         CSS_PROPERTY_STORES_CALC |
    3418             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
    3419             :     "",
    3420             :     VARIANT_HLP | VARIANT_CALC,
    3421             :     nullptr,
    3422             :     offsetof(nsStylePadding, mPadding),
    3423             :     eStyleAnimType_Sides_Right)
    3424           6 : CSS_PROP_PADDING(
    3425             :     padding-top,
    3426             :     padding_top,
    3427             :     PaddingTop,
    3428             :     CSS_PROPERTY_PARSE_VALUE |
    3429             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    3430             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    3431             :         // This is required by the UA stylesheet and can't be overridden.
    3432             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
    3433             :         CSS_PROPERTY_STORES_CALC |
    3434             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
    3435             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
    3436             :     "",
    3437             :     VARIANT_HLP | VARIANT_CALC,
    3438             :     nullptr,
    3439             :     offsetof(nsStylePadding, mPadding),
    3440             :     eStyleAnimType_Sides_Top)
    3441        1348 : CSS_PROP_DISPLAY(
    3442             :     page-break-after,
    3443             :     page_break_after,
    3444             :     PageBreakAfter,
    3445             :     CSS_PROPERTY_PARSE_VALUE,
    3446             :     "",
    3447             :     VARIANT_HK,
    3448             :     kPageBreakKTable,
    3449             :     CSS_PROP_NO_OFFSET,
    3450             :     eStyleAnimType_Discrete) // temp fix for bug 24000
    3451        1348 : CSS_PROP_DISPLAY(
    3452             :     page-break-before,
    3453             :     page_break_before,
    3454             :     PageBreakBefore,
    3455             :     CSS_PROPERTY_PARSE_VALUE,
    3456             :     "",
    3457             :     VARIANT_HK,
    3458             :     kPageBreakKTable,
    3459             :     CSS_PROP_NO_OFFSET,
    3460             :     eStyleAnimType_Discrete) // temp fix for bug 24000
    3461        1348 : CSS_PROP_DISPLAY(
    3462             :     page-break-inside,
    3463             :     page_break_inside,
    3464             :     PageBreakInside,
    3465             :     CSS_PROPERTY_PARSE_VALUE,
    3466             :     "",
    3467             :     VARIANT_HK,
    3468             :     kPageBreakInsideKTable,
    3469             :     CSS_PROP_NO_OFFSET,
    3470             :     eStyleAnimType_Discrete)
    3471         138 : CSS_PROP_SVG(
    3472             :     paint-order,
    3473             :     paint_order,
    3474             :     PaintOrder,
    3475             :     CSS_PROPERTY_PARSE_FUNCTION,
    3476             :     "svg.paint-order.enabled",
    3477             :     0,
    3478             :     nullptr,
    3479             :     CSS_PROP_NO_OFFSET,
    3480             :     eStyleAnimType_Discrete)
    3481        1348 : CSS_PROP_DISPLAY(
    3482             :     perspective,
    3483             :     perspective,
    3484             :     Perspective,
    3485             :     CSS_PROPERTY_PARSE_VALUE |
    3486             :         CSS_PROPERTY_CREATES_STACKING_CONTEXT |
    3487             :         CSS_PROPERTY_FIXPOS_CB,
    3488             :     "",
    3489             :     VARIANT_NONE | VARIANT_INHERIT | VARIANT_LENGTH |
    3490             :       VARIANT_NONNEGATIVE_DIMENSION,
    3491             :     nullptr,
    3492             :     offsetof(nsStyleDisplay, mChildPerspective),
    3493             :     eStyleAnimType_Coord)
    3494        1348 : CSS_PROP_DISPLAY(
    3495             :     perspective-origin,
    3496             :     perspective_origin,
    3497             :     PerspectiveOrigin,
    3498             :     CSS_PROPERTY_PARSE_FUNCTION |
    3499             :         CSS_PROPERTY_STORES_CALC |
    3500             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
    3501             :     "",
    3502             :     0,
    3503             :     kImageLayerPositionKTable,
    3504             :     CSS_PROP_NO_OFFSET,
    3505             :     eStyleAnimType_Custom)
    3506           3 : CSS_PROP_SHORTHAND(
    3507             :     place-content,
    3508             :     place_content,
    3509             :     PlaceContent,
    3510             :     CSS_PROPERTY_PARSE_FUNCTION,
    3511             :     "")
    3512           3 : CSS_PROP_SHORTHAND(
    3513             :     place-items,
    3514             :     place_items,
    3515             :     PlaceItems,
    3516             :     CSS_PROPERTY_PARSE_FUNCTION,
    3517             :     "")
    3518           3 : CSS_PROP_SHORTHAND(
    3519             :     place-self,
    3520             :     place_self,
    3521             :     PlaceSelf,
    3522             :     CSS_PROPERTY_PARSE_FUNCTION,
    3523             :     "")
    3524        2987 : CSS_PROP_USERINTERFACE(
    3525             :     pointer-events,
    3526             :     pointer_events,
    3527             :     PointerEvents,
    3528             :     CSS_PROPERTY_PARSE_VALUE |
    3529             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
    3530             :     "",
    3531             :     VARIANT_HK,
    3532             :     kPointerEventsKTable,
    3533             :     CSS_PROP_NO_OFFSET,
    3534             :     eStyleAnimType_Discrete)
    3535        1348 : CSS_PROP_DISPLAY(
    3536             :     position,
    3537             :     position,
    3538             :     Position,
    3539             :     CSS_PROPERTY_PARSE_VALUE |
    3540             :         // For position: sticky/fixed
    3541             :         CSS_PROPERTY_CREATES_STACKING_CONTEXT |
    3542             :         CSS_PROPERTY_ABSPOS_CB,
    3543             :     "",
    3544             :     VARIANT_HK,
    3545             :     kPositionKTable,
    3546             :     CSS_PROP_NO_OFFSET,
    3547             :     eStyleAnimType_Discrete)
    3548         266 : CSS_PROP_LIST(
    3549             :     quotes,
    3550             :     quotes,
    3551             :     Quotes,
    3552             :     CSS_PROPERTY_PARSE_FUNCTION,
    3553             :     "",
    3554             :     0,
    3555             :     nullptr,
    3556             :     CSS_PROP_NO_OFFSET,
    3557             :     eStyleAnimType_Discrete)
    3558        1348 : CSS_PROP_DISPLAY(
    3559             :     resize,
    3560             :     resize,
    3561             :     Resize,
    3562             :     CSS_PROPERTY_PARSE_VALUE |
    3563             :         // This is allowed because the UA stylesheet sets 'resize: both;' on
    3564             :         // textarea and we need to disable this for the placeholder
    3565             :         // pseudo-element.
    3566             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
    3567             :     "",
    3568             :     VARIANT_HK,
    3569             :     kResizeKTable,
    3570             :     CSS_PROP_NO_OFFSET,
    3571             :     eStyleAnimType_Discrete)
    3572           6 : CSS_PROP_POSITION(
    3573             :     right,
    3574             :     right,
    3575             :     Right,
    3576             :     CSS_PROPERTY_PARSE_VALUE |
    3577             :         CSS_PROPERTY_STORES_CALC |
    3578             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
    3579             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
    3580             :     "",
    3581             :     VARIANT_AHLP | VARIANT_CALC,
    3582             :     nullptr,
    3583             :     offsetof(nsStylePosition, mOffset),
    3584             :     eStyleAnimType_Sides_Right)
    3585          98 : CSS_PROP_TEXT(
    3586             :     ruby-align,
    3587             :     ruby_align,
    3588             :     RubyAlign,
    3589             :     CSS_PROPERTY_PARSE_VALUE,
    3590             :     "",
    3591             :     VARIANT_HK,
    3592             :     kRubyAlignKTable,
    3593             :     CSS_PROP_NO_OFFSET,
    3594             :     eStyleAnimType_Discrete)
    3595          98 : CSS_PROP_TEXT(
    3596             :     ruby-position,
    3597             :     ruby_position,
    3598             :     RubyPosition,
    3599             :     CSS_PROPERTY_PARSE_VALUE,
    3600             :     "",
    3601             :     VARIANT_HK,
    3602             :     kRubyPositionKTable,
    3603             :     CSS_PROP_NO_OFFSET,
    3604             :     eStyleAnimType_Discrete)
    3605             : #ifndef CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND
    3606             : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
    3607        2590 : CSS_PROP_FONT(
    3608             :     -moz-script-level,
    3609             :     _moz_script_level,
    3610             :     ScriptLevel,
    3611             :     // We only allow 'script-level' when unsafe rules are enabled, because
    3612             :     // otherwise it could interfere with rulenode optimizations if used in
    3613             :     // a non-MathML-enabled document.
    3614             :     CSS_PROPERTY_INTERNAL |
    3615             :         CSS_PROPERTY_ENABLED_IN_UA_SHEETS |
    3616             :         CSS_PROPERTY_PARSE_VALUE,
    3617             :     "",
    3618             :     // script-level can take Auto, Integer and Number values, but only Auto
    3619             :     // ("increment if parent is not in displaystyle") and Integer
    3620             :     // ("relative") values can be specified in a style sheet.
    3621             :     VARIANT_AHI,
    3622             :     nullptr,
    3623             :     CSS_PROP_NO_OFFSET,
    3624             :     eStyleAnimType_None)
    3625        1310 : CSS_PROP_FONT(
    3626             :     -moz-script-min-size,
    3627             :     _moz_script_min_size,
    3628             :     ScriptMinSize,
    3629             :     CSS_PROPERTY_INTERNAL |
    3630             :         CSS_PROPERTY_PARSE_INACCESSIBLE,
    3631             :     "",
    3632             :     0,
    3633             :     nullptr,
    3634             :     CSS_PROP_NO_OFFSET,
    3635             :     eStyleAnimType_None)
    3636        1310 : CSS_PROP_FONT(
    3637             :     -moz-script-size-multiplier,
    3638             :     _moz_script_size_multiplier,
    3639             :     ScriptSizeMultiplier,
    3640             :     CSS_PROPERTY_INTERNAL |
    3641             :         CSS_PROPERTY_PARSE_INACCESSIBLE,
    3642             :     "",
    3643             :     0,
    3644             :     nullptr,
    3645             :     CSS_PROP_NO_OFFSET,
    3646             :     eStyleAnimType_None)
    3647             : #endif // CSS_PROP_LIST_EXCLUDE_INTERNAL
    3648             : #endif // CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND
    3649        1348 : CSS_PROP_DISPLAY(
    3650             :     scroll-behavior,
    3651             :     scroll_behavior,
    3652             :     ScrollBehavior,
    3653             :     CSS_PROPERTY_PARSE_VALUE,
    3654             :     "layout.css.scroll-behavior.property-enabled",
    3655             :     VARIANT_HK,
    3656             :     kScrollBehaviorKTable,
    3657             :     CSS_PROP_NO_OFFSET,
    3658             :     eStyleAnimType_Discrete)
    3659        1348 : CSS_PROP_DISPLAY(
    3660             :     scroll-snap-coordinate,
    3661             :     scroll_snap_coordinate,
    3662             :     ScrollSnapCoordinate,
    3663             :     CSS_PROPERTY_PARSE_VALUE |
    3664             :         CSS_PROPERTY_VALUE_PARSER_FUNCTION |
    3665             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
    3666             :         CSS_PROPERTY_STORES_CALC,
    3667             :     "layout.css.scroll-snap.enabled",
    3668             :     0,
    3669             :     kImageLayerPositionKTable,
    3670             :     CSS_PROP_NO_OFFSET,
    3671             :     eStyleAnimType_Discrete)
    3672        1348 : CSS_PROP_DISPLAY(
    3673             :     scroll-snap-destination,
    3674             :     scroll_snap_destination,
    3675             :     ScrollSnapDestination,
    3676             :     CSS_PROPERTY_PARSE_VALUE |
    3677             :         CSS_PROPERTY_VALUE_PARSER_FUNCTION |
    3678             :         CSS_PROPERTY_STORES_CALC,
    3679             :     "layout.css.scroll-snap.enabled",
    3680             :     0,
    3681             :     kImageLayerPositionKTable,
    3682             :     CSS_PROP_NO_OFFSET,
    3683             :     eStyleAnimType_Discrete)
    3684        1348 : CSS_PROP_DISPLAY(
    3685             :     scroll-snap-points-x,
    3686             :     scroll_snap_points_x,
    3687             :     ScrollSnapPointsX,
    3688             :     CSS_PROPERTY_PARSE_VALUE |
    3689             :         CSS_PROPERTY_VALUE_PARSER_FUNCTION |
    3690             :         CSS_PROPERTY_STORES_CALC,
    3691             :     "layout.css.scroll-snap.enabled",
    3692             :     0,
    3693             :     nullptr,
    3694             :     CSS_PROP_NO_OFFSET,
    3695             :     eStyleAnimType_Discrete)
    3696        1348 : CSS_PROP_DISPLAY(
    3697             :     scroll-snap-points-y,
    3698             :     scroll_snap_points_y,
    3699             :     ScrollSnapPointsY,
    3700             :     CSS_PROPERTY_PARSE_VALUE |
    3701             :         CSS_PROPERTY_VALUE_PARSER_FUNCTION |
    3702             :         CSS_PROPERTY_STORES_CALC,
    3703             :     "layout.css.scroll-snap.enabled",
    3704             :     0,
    3705             :     nullptr,
    3706             :     CSS_PROP_NO_OFFSET,
    3707             :     eStyleAnimType_Discrete)
    3708           3 : CSS_PROP_SHORTHAND(
    3709             :     scroll-snap-type,
    3710             :     scroll_snap_type,
    3711             :     ScrollSnapType,
    3712             :     CSS_PROPERTY_PARSE_FUNCTION,
    3713             :     "layout.css.scroll-snap.enabled")
    3714        1348 : CSS_PROP_DISPLAY(
    3715             :     scroll-snap-type-x,
    3716             :     scroll_snap_type_x,
    3717             :     ScrollSnapTypeX,
    3718             :     CSS_PROPERTY_PARSE_VALUE,
    3719             :     "layout.css.scroll-snap.enabled",
    3720             :     VARIANT_HK,
    3721             :     kScrollSnapTypeKTable,
    3722             :     CSS_PROP_NO_OFFSET,
    3723             :     eStyleAnimType_Discrete)
    3724        1348 : CSS_PROP_DISPLAY(
    3725             :     scroll-snap-type-y,
    3726             :     scroll_snap_type_y,
    3727             :     ScrollSnapTypeY,
    3728             :     CSS_PROPERTY_PARSE_VALUE,
    3729             :     "layout.css.scroll-snap.enabled",
    3730             :     VARIANT_HK,
    3731             :     kScrollSnapTypeKTable,
    3732             :     CSS_PROP_NO_OFFSET,
    3733             :     eStyleAnimType_Discrete)
    3734        1348 : CSS_PROP_DISPLAY(
    3735             :     shape-outside,
    3736             :     shape_outside,
    3737             :     ShapeOutside,
    3738             :     CSS_PROPERTY_PARSE_VALUE |
    3739             :         CSS_PROPERTY_VALUE_PARSER_FUNCTION |
    3740             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
    3741             :     "layout.css.shape-outside.enabled",
    3742             :     0,
    3743             :     nullptr,
    3744             :     CSS_PROP_NO_OFFSET,
    3745             :     eStyleAnimType_Discrete) // FIXME: Bug 1289049 for adding animation support
    3746         138 : CSS_PROP_SVG(
    3747             :     shape-rendering,
    3748             :     shape_rendering,
    3749             :     ShapeRendering,
    3750             :     CSS_PROPERTY_PARSE_VALUE,
    3751             :     "",
    3752             :     VARIANT_HK,
    3753             :     kShapeRenderingKTable,
    3754             :     CSS_PROP_NO_OFFSET,
    3755             :     eStyleAnimType_Discrete)
    3756             : #ifndef CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND
    3757             : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
    3758           6 : CSS_PROP_TABLE(
    3759             :     -x-span,
    3760             :     _x_span,
    3761             :     Span,
    3762             :     CSS_PROPERTY_INTERNAL |
    3763             :         CSS_PROPERTY_PARSE_INACCESSIBLE,
    3764             :     "",
    3765             :     0,
    3766             :     nullptr,
    3767             :     CSS_PROP_NO_OFFSET,
    3768             :     eStyleAnimType_None)
    3769             : #endif // CSS_PROP_LIST_EXCLUDE_INTERNAL
    3770             : #endif // CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND
    3771         322 : CSS_PROP_XUL(
    3772             :     -moz-stack-sizing,
    3773             :     _moz_stack_sizing,
    3774             :     CSS_PROP_DOMPROP_PREFIXED(StackSizing),
    3775             :     CSS_PROPERTY_PARSE_VALUE,
    3776             :     "",
    3777             :     VARIANT_HK,
    3778             :     kStackSizingKTable,
    3779             :     CSS_PROP_NO_OFFSET,
    3780             :     eStyleAnimType_Discrete)
    3781          66 : CSS_PROP_SVGRESET(
    3782             :     stop-color,
    3783             :     stop_color,
    3784             :     StopColor,
    3785             :     CSS_PROPERTY_PARSE_VALUE,
    3786             :     "",
    3787             :     VARIANT_HC,
    3788             :     nullptr,
    3789             :     offsetof(nsStyleSVGReset, mStopColor),
    3790             :     eStyleAnimType_Color)
    3791          66 : CSS_PROP_SVGRESET(
    3792             :     stop-opacity,
    3793             :     stop_opacity,
    3794             :     StopOpacity,
    3795             :     CSS_PROPERTY_PARSE_VALUE,
    3796             :     "",
    3797             :     VARIANT_HN,
    3798             :     nullptr,
    3799             :     offsetof(nsStyleSVGReset, mStopOpacity),
    3800             :     eStyleAnimType_float)
    3801         138 : CSS_PROP_SVG(
    3802             :     stroke,
    3803             :     stroke,
    3804             :     Stroke,
    3805             :     CSS_PROPERTY_PARSE_FUNCTION,
    3806             :     "",
    3807             :     0,
    3808             :     kContextPatternKTable,
    3809             :     offsetof(nsStyleSVG, mStroke),
    3810             :     eStyleAnimType_PaintServer)
    3811         138 : CSS_PROP_SVG(
    3812             :     stroke-dasharray,
    3813             :     stroke_dasharray,
    3814             :     StrokeDasharray,
    3815             :     CSS_PROPERTY_PARSE_FUNCTION |
    3816             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
    3817             :         CSS_PROPERTY_NUMBERS_ARE_PIXELS,
    3818             :         // NOTE: Internal values have range restrictions.
    3819             :     "",
    3820             :     0,
    3821             :     kStrokeContextValueKTable,
    3822             :     CSS_PROP_NO_OFFSET, /* property stored in 2 separate members */
    3823             :     eStyleAnimType_Custom)
    3824         270 : CSS_PROP_SVG(
    3825             :     stroke-dashoffset,
    3826             :     stroke_dashoffset,
    3827             :     StrokeDashoffset,
    3828             :     CSS_PROPERTY_PARSE_VALUE |
    3829             :         CSS_PROPERTY_NUMBERS_ARE_PIXELS,
    3830             :     "",
    3831             :     VARIANT_HLPN | VARIANT_OPENTYPE_SVG_KEYWORD,
    3832             :     kStrokeContextValueKTable,
    3833             :     offsetof(nsStyleSVG, mStrokeDashoffset),
    3834             :     eStyleAnimType_Coord)
    3835         138 : CSS_PROP_SVG(
    3836             :     stroke-linecap,
    3837             :     stroke_linecap,
    3838             :     StrokeLinecap,
    3839             :     CSS_PROPERTY_PARSE_VALUE,
    3840             :     "",
    3841             :     VARIANT_HK,
    3842             :     kStrokeLinecapKTable,
    3843             :     CSS_PROP_NO_OFFSET,
    3844             :     eStyleAnimType_Discrete)
    3845         138 : CSS_PROP_SVG(
    3846             :     stroke-linejoin,
    3847             :     stroke_linejoin,
    3848             :     StrokeLinejoin,
    3849             :     CSS_PROPERTY_PARSE_VALUE,
    3850             :     "",
    3851             :     VARIANT_HK,
    3852             :     kStrokeLinejoinKTable,
    3853             :     CSS_PROP_NO_OFFSET,
    3854             :     eStyleAnimType_Discrete)
    3855         138 : CSS_PROP_SVG(
    3856             :     stroke-miterlimit,
    3857             :     stroke_miterlimit,
    3858             :     StrokeMiterlimit,
    3859             :     CSS_PROPERTY_PARSE_VALUE |
    3860             :         CSS_PROPERTY_VALUE_AT_LEAST_ONE,
    3861             :     "",
    3862             :     VARIANT_HN,
    3863             :     nullptr,
    3864             :     offsetof(nsStyleSVG, mStrokeMiterlimit),
    3865             :     eStyleAnimType_float)
    3866         138 : CSS_PROP_SVG(
    3867             :     stroke-opacity,
    3868             :     stroke_opacity,
    3869             :     StrokeOpacity,
    3870             :     CSS_PROPERTY_PARSE_VALUE,
    3871             :     "",
    3872             :     VARIANT_HN | VARIANT_KEYWORD,
    3873             :     kContextOpacityKTable,
    3874             :     offsetof(nsStyleSVG, mStrokeOpacity),
    3875             :     eStyleAnimType_float)
    3876         138 : CSS_PROP_SVG(
    3877             :     stroke-width,
    3878             :     stroke_width,
    3879             :     StrokeWidth,
    3880             :     CSS_PROPERTY_PARSE_VALUE |
    3881             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    3882             :         CSS_PROPERTY_NUMBERS_ARE_PIXELS,
    3883             :     "",
    3884             :     VARIANT_HLPN | VARIANT_OPENTYPE_SVG_KEYWORD,
    3885             :     kStrokeContextValueKTable,
    3886             :     offsetof(nsStyleSVG, mStrokeWidth),
    3887             :     eStyleAnimType_Coord)
    3888             : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
    3889          30 : CSS_PROP_FONT(
    3890             :     -x-system-font,
    3891             :     _x_system_font,
    3892             :     CSS_PROP_DOMPROP_PREFIXED(SystemFont),
    3893             :     CSS_PROPERTY_INTERNAL |
    3894             :         CSS_PROPERTY_PARSE_INACCESSIBLE |
    3895             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    3896             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
    3897             :     "",
    3898             :     0,
    3899             :     kFontKTable,
    3900             :     CSS_PROP_NO_OFFSET,
    3901             :     eStyleAnimType_None)
    3902             : #endif // CSS_PROP_LIST_EXCLUDE_INTERNAL
    3903          98 : CSS_PROP_TEXT(
    3904             :     -moz-tab-size,
    3905             :     _moz_tab_size,
    3906             :     CSS_PROP_DOMPROP_PREFIXED(TabSize),
    3907             :     CSS_PROPERTY_PARSE_VALUE |
    3908             :         CSS_PROPERTY_VALUE_NONNEGATIVE,
    3909             :     "",
    3910             :     VARIANT_INHERIT | VARIANT_LNCALC,
    3911             :     nullptr,
    3912             :     offsetof(nsStyleText, mTabSize),
    3913             :     eStyleAnimType_Coord)
    3914           6 : CSS_PROP_TABLE(
    3915             :     table-layout,
    3916             :     table_layout,
    3917             :     TableLayout,
    3918             :     CSS_PROPERTY_PARSE_VALUE,
    3919             :     "",
    3920             :     VARIANT_HK,
    3921             :     kTableLayoutKTable,
    3922             :     CSS_PROP_NO_OFFSET,
    3923             :     eStyleAnimType_Discrete)
    3924        1998 : CSS_PROP_TEXT(
    3925             :     text-align,
    3926             :     text_align,
    3927             :     TextAlign,
    3928             :     CSS_PROPERTY_PARSE_VALUE | CSS_PROPERTY_VALUE_PARSER_FUNCTION |
    3929             :       CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
    3930             :     "",
    3931             :     // When we support aligning on a string, we can parse text-align
    3932             :     // as a string....
    3933             :     VARIANT_HK /* | VARIANT_STRING */,
    3934             :     kTextAlignKTable,
    3935             :     CSS_PROP_NO_OFFSET,
    3936             :     eStyleAnimType_Discrete)
    3937          98 : CSS_PROP_TEXT(
    3938             :     text-align-last,
    3939             :     text_align_last,
    3940             :     TextAlignLast,
    3941             :     CSS_PROPERTY_PARSE_VALUE | CSS_PROPERTY_VALUE_PARSER_FUNCTION,
    3942             :     "",
    3943             :     VARIANT_HK,
    3944             :     kTextAlignLastKTable,
    3945             :     offsetof(nsStyleText, mTextAlignLast),
    3946             :     eStyleAnimType_Discrete)
    3947         138 : CSS_PROP_SVG(
    3948             :     text-anchor,
    3949             :     text_anchor,
    3950             :     TextAnchor,
    3951             :     CSS_PROPERTY_PARSE_VALUE,
    3952             :     "",
    3953             :     VARIANT_HK,
    3954             :     kTextAnchorKTable,
    3955             :     CSS_PROP_NO_OFFSET,
    3956             :     eStyleAnimType_Discrete)
    3957          98 : CSS_PROP_TEXT(
    3958             :     text-combine-upright,
    3959             :     text_combine_upright,
    3960             :     TextCombineUpright,
    3961             :     CSS_PROPERTY_PARSE_VALUE |
    3962             :         CSS_PROPERTY_VALUE_PARSER_FUNCTION,
    3963             :     "layout.css.text-combine-upright.enabled",
    3964             :     0,
    3965             :     kTextCombineUprightKTable,
    3966             :     CSS_PROP_NO_OFFSET,
    3967             :     eStyleAnimType_Discrete)
    3968           3 : CSS_PROP_SHORTHAND(
    3969             :     text-decoration,
    3970             :     text_decoration,
    3971             :     TextDecoration,
    3972             :     CSS_PROPERTY_PARSE_FUNCTION,
    3973             :     "")
    3974         248 : CSS_PROP_TEXTRESET(
    3975             :     text-decoration-color,
    3976             :     text_decoration_color,
    3977             :     TextDecorationColor,
    3978             :     CSS_PROPERTY_PARSE_VALUE |
    3979             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    3980             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
    3981             :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
    3982             :     "",
    3983             :     VARIANT_HC,
    3984             :     nullptr,
    3985             :     offsetof(nsStyleTextReset, mTextDecorationColor),
    3986             :     eStyleAnimType_ComplexColor)
    3987         248 : CSS_PROP_TEXTRESET(
    3988             :     text-decoration-line,
    3989             :     text_decoration_line,
    3990             :     TextDecorationLine,
    3991             :     CSS_PROPERTY_PARSE_VALUE |
    3992             :         CSS_PROPERTY_VALUE_PARSER_FUNCTION |
    3993             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    3994             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
    3995             :     "",
    3996             :     0,
    3997             :     kTextDecorationLineKTable,
    3998             :     CSS_PROP_NO_OFFSET,
    3999             :     eStyleAnimType_Discrete)
    4000         248 : CSS_PROP_TEXTRESET(
    4001             :     text-decoration-style,
    4002             :     text_decoration_style,
    4003             :     TextDecorationStyle,
    4004             :     CSS_PROPERTY_PARSE_VALUE |
    4005             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    4006             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
    4007             :     "",
    4008             :     VARIANT_HK,
    4009             :     kTextDecorationStyleKTable,
    4010             :     CSS_PROP_NO_OFFSET,
    4011             :     eStyleAnimType_Discrete)
    4012           3 : CSS_PROP_SHORTHAND(
    4013             :     text-emphasis,
    4014             :     text_emphasis,
    4015             :     TextEmphasis,
    4016             :     CSS_PROPERTY_PARSE_FUNCTION,
    4017             :     "")
    4018          98 : CSS_PROP_TEXT(
    4019             :     text-emphasis-color,
    4020             :     text_emphasis_color,
    4021             :     TextEmphasisColor,
    4022             :     CSS_PROPERTY_PARSE_VALUE |
    4023             :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
    4024             :     "",
    4025             :     VARIANT_HC,
    4026             :     nullptr,
    4027             :     offsetof(nsStyleText, mTextEmphasisColor),
    4028             :     eStyleAnimType_ComplexColor)
    4029          98 : CSS_PROP_TEXT(
    4030             :     text-emphasis-position,
    4031             :     text_emphasis_position,
    4032             :     TextEmphasisPosition,
    4033             :     CSS_PROPERTY_PARSE_VALUE |
    4034             :         CSS_PROPERTY_VALUE_PARSER_FUNCTION,
    4035             :     "",
    4036             :     0,
    4037             :     kTextEmphasisPositionKTable,
    4038             :     CSS_PROP_NO_OFFSET,
    4039             :     eStyleAnimType_Discrete)
    4040          98 : CSS_PROP_TEXT(
    4041             :     text-emphasis-style,
    4042             :     text_emphasis_style,
    4043             :     TextEmphasisStyle,
    4044             :     CSS_PROPERTY_PARSE_VALUE |
    4045             :         CSS_PROPERTY_VALUE_PARSER_FUNCTION,
    4046             :     "",
    4047             :     0,
    4048             :     nullptr,
    4049             :     CSS_PROP_NO_OFFSET,
    4050             :     eStyleAnimType_Discrete)
    4051          98 : CSS_PROP_TEXT(
    4052             :     -webkit-text-fill-color,
    4053             :     _webkit_text_fill_color,
    4054             :     WebkitTextFillColor,
    4055             :     CSS_PROPERTY_PARSE_VALUE |
    4056             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    4057             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
    4058             :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
    4059             :     "layout.css.prefixes.webkit",
    4060             :     VARIANT_HC,
    4061             :     nullptr,
    4062             :     offsetof(nsStyleText, mWebkitTextFillColor),
    4063             :     eStyleAnimType_ComplexColor)
    4064          98 : CSS_PROP_TEXT(
    4065             :     text-indent,
    4066             :     text_indent,
    4067             :     TextIndent,
    4068             :     CSS_PROPERTY_PARSE_VALUE |
    4069             :         CSS_PROPERTY_STORES_CALC |
    4070             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK,
    4071             :     "",
    4072             :     VARIANT_HLP | VARIANT_CALC,
    4073             :     nullptr,
    4074             :     offsetof(nsStyleText, mTextIndent),
    4075             :     eStyleAnimType_Coord)
    4076          98 : CSS_PROP_TEXT(
    4077             :     text-justify,
    4078             :     text_justify,
    4079             :     TextJustify,
    4080             :     CSS_PROPERTY_PARSE_VALUE |
    4081             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
    4082             :     "layout.css.text-justify.enabled",
    4083             :     VARIANT_HK,
    4084             :     kTextJustifyKTable,
    4085             :     CSS_PROP_NO_OFFSET,
    4086             :     eStyleAnimType_Discrete)
    4087         290 : CSS_PROP_VISIBILITY(
    4088             :     text-orientation,
    4089             :     text_orientation,
    4090             :     TextOrientation,
    4091             :     CSS_PROPERTY_PARSE_VALUE,
    4092             :     "",
    4093             :     VARIANT_HK,
    4094             :     kTextOrientationKTable,
    4095             :     CSS_PROP_NO_OFFSET,
    4096             :     eStyleAnimType_Discrete)
    4097         248 : CSS_PROP_TEXTRESET(
    4098             :     text-overflow,
    4099             :     text_overflow,
    4100             :     TextOverflow,
    4101             :     CSS_PROPERTY_PARSE_VALUE |
    4102             :         CSS_PROPERTY_VALUE_PARSER_FUNCTION |
    4103             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
    4104             :     "",
    4105             :     0,
    4106             :     kTextOverflowKTable,
    4107             :     offsetof(nsStyleTextReset, mTextOverflow),
    4108             :     eStyleAnimType_Discrete)
    4109          98 : CSS_PROP_TEXT(
    4110             :     text-rendering,
    4111             :     text_rendering,
    4112             :     TextRendering,
    4113             :     CSS_PROPERTY_PARSE_VALUE,
    4114             :     "",
    4115             :     VARIANT_HK,
    4116             :     kTextRenderingKTable,
    4117             :     CSS_PROP_NO_OFFSET,
    4118             :     eStyleAnimType_Discrete)
    4119          98 : CSS_PROP_TEXT(
    4120             :     text-shadow,
    4121             :     text_shadow,
    4122             :     TextShadow,
    4123             :     CSS_PROPERTY_PARSE_FUNCTION |
    4124             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    4125             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
    4126             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
    4127             :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
    4128             :         // NOTE: some components must be nonnegative
    4129             :     "",
    4130             :     0,
    4131             :     nullptr,
    4132             :     offsetof(nsStyleText, mTextShadow),
    4133             :     eStyleAnimType_Shadow)
    4134          98 : CSS_PROP_TEXT(
    4135             :     -moz-text-size-adjust,
    4136             :     _moz_text_size_adjust,
    4137             :     CSS_PROP_DOMPROP_PREFIXED(TextSizeAdjust),
    4138             :     CSS_PROPERTY_PARSE_VALUE,
    4139             :     "",
    4140             :     VARIANT_HK,
    4141             :     kTextSizeAdjustKTable,
    4142             :     CSS_PROP_NO_OFFSET,
    4143             :     eStyleAnimType_Discrete)
    4144           3 : CSS_PROP_SHORTHAND(
    4145             :     -webkit-text-stroke,
    4146             :     _webkit_text_stroke,
    4147             :     WebkitTextStroke,
    4148             :     CSS_PROPERTY_PARSE_FUNCTION,
    4149             :     "layout.css.prefixes.webkit")
    4150          98 : CSS_PROP_TEXT(
    4151             :     -webkit-text-stroke-color,
    4152             :     _webkit_text_stroke_color,
    4153             :     WebkitTextStrokeColor,
    4154             :     CSS_PROPERTY_PARSE_VALUE |
    4155             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    4156             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
    4157             :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
    4158             :     "layout.css.prefixes.webkit",
    4159             :     VARIANT_HC,
    4160             :     nullptr,
    4161             :     offsetof(nsStyleText, mWebkitTextStrokeColor),
    4162             :     eStyleAnimType_ComplexColor)
    4163          98 : CSS_PROP_TEXT(
    4164             :     -webkit-text-stroke-width,
    4165             :     _webkit_text_stroke_width,
    4166             :     WebkitTextStrokeWidth,
    4167             :     CSS_PROPERTY_PARSE_VALUE |
    4168             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    4169             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    4170             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
    4171             :     "layout.css.prefixes.webkit",
    4172             :     VARIANT_HKL | VARIANT_CALC,
    4173             :     kBorderWidthKTable,
    4174             :     CSS_PROP_NO_OFFSET,
    4175             :     eStyleAnimType_Discrete)
    4176          98 : CSS_PROP_TEXT(
    4177             :     text-transform,
    4178             :     text_transform,
    4179             :     TextTransform,
    4180             :     CSS_PROPERTY_PARSE_VALUE |
    4181             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    4182             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
    4183             :     "",
    4184             :     VARIANT_HK,
    4185             :     kTextTransformKTable,
    4186             :     CSS_PROP_NO_OFFSET,
    4187             :     eStyleAnimType_Discrete)
    4188             : #ifndef CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND
    4189             : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
    4190          30 : CSS_PROP_FONT(
    4191             :     -x-text-zoom,
    4192             :     _x_text_zoom,
    4193             :     TextZoom,
    4194             :     CSS_PROPERTY_INTERNAL |
    4195             :         CSS_PROPERTY_PARSE_INACCESSIBLE,
    4196             :     "",
    4197             :     0,
    4198             :     nullptr,
    4199             :     CSS_PROP_NO_OFFSET,
    4200             :     eStyleAnimType_None)
    4201             : #endif // CSS_PROP_LIST_EXCLUDE_INTERNAL
    4202             : #endif // CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND
    4203           6 : CSS_PROP_POSITION(
    4204             :     top,
    4205             :     top,
    4206             :     Top,
    4207             :     CSS_PROPERTY_PARSE_VALUE |
    4208             :         CSS_PROPERTY_STORES_CALC |
    4209             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
    4210             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
    4211             :     "",
    4212             :     VARIANT_AHLP | VARIANT_CALC,
    4213             :     nullptr,
    4214             :     offsetof(nsStylePosition, mOffset),
    4215             :     eStyleAnimType_Sides_Top)
    4216             : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
    4217        1348 : CSS_PROP_DISPLAY(
    4218             :     -moz-top-layer,
    4219             :     _moz_top_layer,
    4220             :     CSS_PROP_DOMPROP_PREFIXED(TopLayer),
    4221             :     CSS_PROPERTY_INTERNAL |
    4222             :         CSS_PROPERTY_PARSE_VALUE |
    4223             :         CSS_PROPERTY_ENABLED_IN_UA_SHEETS,
    4224             :     "",
    4225             :     VARIANT_HK,
    4226             :     kTopLayerKTable,
    4227             :     CSS_PROP_NO_OFFSET,
    4228             :     eStyleAnimType_None)
    4229             : #endif // CSS_PROP_LIST_EXCLUDE_INTERNAL
    4230        1348 : CSS_PROP_DISPLAY(
    4231             :     touch-action,
    4232             :     touch_action,
    4233             :     TouchAction,
    4234             :     CSS_PROPERTY_PARSE_VALUE |
    4235             :         CSS_PROPERTY_VALUE_PARSER_FUNCTION,
    4236             :     "layout.css.touch_action.enabled",
    4237             :     VARIANT_HK,
    4238             :     kTouchActionKTable,
    4239             :     CSS_PROP_NO_OFFSET,
    4240             :     eStyleAnimType_Discrete)
    4241        1348 : CSS_PROP_DISPLAY(
    4242             :     transform,
    4243             :     transform,
    4244             :     Transform,
    4245             :     CSS_PROPERTY_PARSE_FUNCTION |
    4246             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
    4247             :         CSS_PROPERTY_CREATES_STACKING_CONTEXT |
    4248             :         CSS_PROPERTY_CAN_ANIMATE_ON_COMPOSITOR |
    4249             :         CSS_PROPERTY_FIXPOS_CB,
    4250             :     "",
    4251             :     0,
    4252             :     nullptr,
    4253             :     offsetof(nsStyleDisplay, mSpecifiedTransform),
    4254             :     eStyleAnimType_Custom)
    4255             : // This shorthand is essentially an alias, but it requires different
    4256             : // parsing rules, and it therefore implemented as a shorthand.
    4257           3 : CSS_PROP_SHORTHAND(
    4258             :     -moz-transform,
    4259             :     _moz_transform,
    4260             :     MozTransform,
    4261             :     CSS_PROPERTY_PARSE_FUNCTION |
    4262             :         CSS_PROPERTY_IS_ALIAS,
    4263             :     "layout.css.prefixes.transforms")
    4264        1348 : CSS_PROP_DISPLAY(
    4265             :     transform-box,
    4266             :     transform_box,
    4267             :     TransformBox,
    4268             :     CSS_PROPERTY_PARSE_VALUE,
    4269             :     "svg.transform-box.enabled",
    4270             :     VARIANT_HK,
    4271             :     kTransformBoxKTable,
    4272             :     CSS_PROP_NO_OFFSET,
    4273             :     eStyleAnimType_Discrete)
    4274        1348 : CSS_PROP_DISPLAY(
    4275             :     transform-origin,
    4276             :     transform_origin,
    4277             :     TransformOrigin,
    4278             :     CSS_PROPERTY_PARSE_FUNCTION |
    4279             :         CSS_PROPERTY_STORES_CALC |
    4280             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
    4281             :     "",
    4282             :     0,
    4283             :     kImageLayerPositionKTable,
    4284             :     CSS_PROP_NO_OFFSET,
    4285             :     eStyleAnimType_Custom)
    4286        1348 : CSS_PROP_DISPLAY(
    4287             :     transform-style,
    4288             :     transform_style,
    4289             :     TransformStyle,
    4290             :     CSS_PROPERTY_PARSE_VALUE |
    4291             :         CSS_PROPERTY_CREATES_STACKING_CONTEXT |
    4292             :         CSS_PROPERTY_FIXPOS_CB,
    4293             :     "",
    4294             :     VARIANT_HK,
    4295             :     kTransformStyleKTable,
    4296             :     CSS_PROP_NO_OFFSET,
    4297             :     eStyleAnimType_Discrete)
    4298           3 : CSS_PROP_SHORTHAND(
    4299             :     transition,
    4300             :     transition,
    4301             :     Transition,
    4302             :     CSS_PROPERTY_PARSE_FUNCTION,
    4303             :     "")
    4304           6 : CSS_PROP_DISPLAY(
    4305             :     transition-delay,
    4306             :     transition_delay,
    4307             :     TransitionDelay,
    4308             :     CSS_PROPERTY_PARSE_VALUE_LIST |
    4309             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
    4310             :     "",
    4311             :     VARIANT_TIME, // used by list parsing
    4312             :     nullptr,
    4313             :     CSS_PROP_NO_OFFSET,
    4314             :     eStyleAnimType_None)
    4315           6 : CSS_PROP_DISPLAY(
    4316             :     transition-duration,
    4317             :     transition_duration,
    4318             :     TransitionDuration,
    4319             :     CSS_PROPERTY_PARSE_VALUE_LIST |
    4320             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
    4321             :     "",
    4322             :     VARIANT_TIME | VARIANT_NONNEGATIVE_DIMENSION, // used by list parsing
    4323             :     nullptr,
    4324             :     CSS_PROP_NO_OFFSET,
    4325             :     eStyleAnimType_None)
    4326           6 : CSS_PROP_DISPLAY(
    4327             :     transition-property,
    4328             :     transition_property,
    4329             :     TransitionProperty,
    4330             :     CSS_PROPERTY_PARSE_FUNCTION |
    4331             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
    4332             :     "",
    4333             :     VARIANT_IDENTIFIER | VARIANT_NONE | VARIANT_ALL, // used only in shorthand
    4334             :     nullptr,
    4335             :     CSS_PROP_NO_OFFSET,
    4336             :     eStyleAnimType_None)
    4337           6 : CSS_PROP_DISPLAY(
    4338             :     transition-timing-function,
    4339             :     transition_timing_function,
    4340             :     TransitionTimingFunction,
    4341             :     CSS_PROPERTY_PARSE_VALUE_LIST |
    4342             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
    4343             :     "",
    4344             :     VARIANT_KEYWORD | VARIANT_TIMING_FUNCTION, // used by list parsing
    4345             :     kTransitionTimingFunctionKTable,
    4346             :     CSS_PROP_NO_OFFSET,
    4347             :     eStyleAnimType_None)
    4348             : #ifndef CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND
    4349         248 : CSS_PROP_TEXTRESET(
    4350             :     unicode-bidi,
    4351             :     unicode_bidi,
    4352             :     UnicodeBidi,
    4353             :     CSS_PROPERTY_PARSE_VALUE,
    4354             :     "",
    4355             :     VARIANT_HK,
    4356             :     kUnicodeBidiKTable,
    4357             :     CSS_PROP_NO_OFFSET,
    4358             :     eStyleAnimType_Discrete)
    4359             : #endif // CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND
    4360        2986 : CSS_PROP_USERINTERFACE(
    4361             :     -moz-user-focus,
    4362             :     _moz_user_focus,
    4363             :     CSS_PROP_DOMPROP_PREFIXED(UserFocus),
    4364             :     CSS_PROPERTY_PARSE_VALUE,
    4365             :     "",
    4366             :     VARIANT_HK,
    4367             :     kUserFocusKTable,
    4368             :     CSS_PROP_NO_OFFSET,
    4369             :     eStyleAnimType_Discrete) // XXX bug 3935
    4370        2986 : CSS_PROP_USERINTERFACE(
    4371             :     -moz-user-input,
    4372             :     _moz_user_input,
    4373             :     CSS_PROP_DOMPROP_PREFIXED(UserInput),
    4374             :     CSS_PROPERTY_PARSE_VALUE,
    4375             :     "",
    4376             :     VARIANT_HK,
    4377             :     kUserInputKTable,
    4378             :     CSS_PROP_NO_OFFSET,
    4379             :     eStyleAnimType_Discrete) // XXX ??? // XXX bug 3935
    4380        2986 : CSS_PROP_USERINTERFACE(
    4381             :     -moz-user-modify,
    4382             :     _moz_user_modify,
    4383             :     CSS_PROP_DOMPROP_PREFIXED(UserModify),
    4384             :     CSS_PROPERTY_PARSE_VALUE,
    4385             :     "",
    4386             :     VARIANT_HK,
    4387             :     kUserModifyKTable,
    4388             :     CSS_PROP_NO_OFFSET,
    4389             :     eStyleAnimType_Discrete) // XXX bug 3935
    4390          24 : CSS_PROP_UIRESET(
    4391             :     -moz-user-select,
    4392             :     _moz_user_select,
    4393             :     CSS_PROP_DOMPROP_PREFIXED(UserSelect),
    4394             :     CSS_PROPERTY_PARSE_VALUE,
    4395             :     "",
    4396             :     VARIANT_HK,
    4397             :     kUserSelectKTable,
    4398             :     CSS_PROP_NO_OFFSET,
    4399             :     eStyleAnimType_Discrete) // XXX bug 3935
    4400          66 : CSS_PROP_SVGRESET(
    4401             :     vector-effect,
    4402             :     vector_effect,
    4403             :     VectorEffect,
    4404             :     CSS_PROPERTY_PARSE_VALUE,
    4405             :     "",
    4406             :     VARIANT_HK,
    4407             :     kVectorEffectKTable,
    4408             :     CSS_PROP_NO_OFFSET,
    4409             :     eStyleAnimType_Discrete)
    4410             : // NOTE: vertical-align is only supposed to apply to :first-letter when
    4411             : // 'float' is 'none', but we don't worry about that since it has no
    4412             : // effect otherwise
    4413        1348 : CSS_PROP_DISPLAY(
    4414             :     vertical-align,
    4415             :     vertical_align,
    4416             :     VerticalAlign,
    4417             :     CSS_PROPERTY_PARSE_VALUE |
    4418             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    4419             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
    4420             :         CSS_PROPERTY_STORES_CALC |
    4421             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK,
    4422             :     "",
    4423             :     VARIANT_HKLP | VARIANT_CALC,
    4424             :     kVerticalAlignKTable,
    4425             :     offsetof(nsStyleDisplay, mVerticalAlign),
    4426             :     eStyleAnimType_Coord)
    4427         290 : CSS_PROP_VISIBILITY(
    4428             :     visibility,
    4429             :     visibility,
    4430             :     Visibility,
    4431             :     CSS_PROPERTY_PARSE_VALUE,
    4432             :     "",
    4433             :     VARIANT_HK,
    4434             :     kVisibilityKTable,
    4435             :     CSS_PROP_NO_OFFSET,
    4436             :     eStyleAnimType_Discrete)  // reflow for collapse
    4437          98 : CSS_PROP_TEXT(
    4438             :     white-space,
    4439             :     white_space,
    4440             :     WhiteSpace,
    4441             :     CSS_PROPERTY_PARSE_VALUE |
    4442             :         // This is required by the UA stylesheet and can't be overridden.
    4443             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
    4444             :     "",
    4445             :     VARIANT_HK,
    4446             :     kWhitespaceKTable,
    4447             :     CSS_PROP_NO_OFFSET,
    4448             :     eStyleAnimType_Discrete)
    4449         568 : CSS_PROP_POSITION(
    4450             :     width,
    4451             :     width,
    4452             :     Width,
    4453             :     CSS_PROPERTY_PARSE_VALUE |
    4454             :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    4455             :         CSS_PROPERTY_STORES_CALC |
    4456             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
    4457             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
    4458             :     "",
    4459             :     VARIANT_AHKLP | VARIANT_CALC,
    4460             :     kWidthKTable,
    4461             :     offsetof(nsStylePosition, mWidth),
    4462             :     eStyleAnimType_Coord)
    4463        1348 : CSS_PROP_DISPLAY(
    4464             :     will-change,
    4465             :     will_change,
    4466             :     WillChange,
    4467             :     CSS_PROPERTY_PARSE_FUNCTION |
    4468             :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
    4469             :     "",
    4470             :     0,
    4471             :     nullptr,
    4472             :     CSS_PROP_NO_OFFSET,
    4473             :     eStyleAnimType_Discrete)
    4474          24 : CSS_PROP_UIRESET(
    4475             :     -moz-window-dragging,
    4476             :     _moz_window_dragging,
    4477             :     CSS_PROP_DOMPROP_PREFIXED(WindowDragging),
    4478             :     CSS_PROPERTY_PARSE_VALUE,
    4479             :     "",
    4480             :     VARIANT_HK,
    4481             :     kWindowDraggingKTable,
    4482             :     CSS_PROP_NO_OFFSET,
    4483             :     eStyleAnimType_Discrete)
    4484             : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
    4485          24 : CSS_PROP_UIRESET(
    4486             :     -moz-window-shadow,
    4487             :     _moz_window_shadow,
    4488             :     CSS_PROP_DOMPROP_PREFIXED(WindowShadow),
    4489             :     CSS_PROPERTY_INTERNAL |
    4490             :         CSS_PROPERTY_PARSE_VALUE |
    4491             :         CSS_PROPERTY_ENABLED_IN_UA_SHEETS_AND_CHROME,
    4492             :     "",
    4493             :     VARIANT_HK,
    4494             :     kWindowShadowKTable,
    4495             :     CSS_PROP_NO_OFFSET,
    4496             :     eStyleAnimType_None)
    4497          24 : CSS_PROP_UIRESET(
    4498             :     -moz-window-opacity,
    4499             :     _moz_window_opacity,
    4500             :     CSS_PROP_DOMPROP_PREFIXED(WindowOpacity),
    4501             :     CSS_PROPERTY_INTERNAL | CSS_PROPERTY_PARSE_VALUE,
    4502             :     "",
    4503             :     VARIANT_HN,
    4504             :     nullptr,
    4505             :     offsetof(nsStyleUIReset, mWindowOpacity),
    4506             :     eStyleAnimType_float)
    4507          24 : CSS_PROP_UIRESET(
    4508             :     -moz-window-transform,
    4509             :     _moz_window_transform,
    4510             :     CSS_PROP_DOMPROP_PREFIXED(WindowTransform),
    4511             :     CSS_PROPERTY_INTERNAL |
    4512             :         CSS_PROPERTY_PARSE_FUNCTION |
    4513             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
    4514             :     "",
    4515             :     0,
    4516             :     nullptr,
    4517             :     offsetof(nsStyleUIReset, mSpecifiedWindowTransform),
    4518             :     eStyleAnimType_Custom)
    4519          24 : CSS_PROP_UIRESET(
    4520             :     -moz-window-transform-origin,
    4521             :     _moz_window_transform_origin,
    4522             :     CSS_PROP_DOMPROP_PREFIXED(WindowTransformOrigin),
    4523             :     CSS_PROPERTY_INTERNAL |
    4524             :         CSS_PROPERTY_PARSE_FUNCTION |
    4525             :         CSS_PROPERTY_STORES_CALC |
    4526             :         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
    4527             :     "",
    4528             :     0,
    4529             :     kImageLayerPositionKTable,
    4530             :     CSS_PROP_NO_OFFSET,
    4531             :     eStyleAnimType_Custom)
    4532             : #endif // CSS_PROP_LIST_EXCLUDE_INTERNAL
    4533          98 : CSS_PROP_TEXT(
    4534             :     word-break,
    4535             :     word_break,
    4536             :     WordBreak,
    4537             :     CSS_PROPERTY_PARSE_VALUE,
    4538             :     "",
    4539             :     VARIANT_HK,
    4540             :     kWordBreakKTable,
    4541             :     CSS_PROP_NO_OFFSET,
    4542             :     eStyleAnimType_Discrete)
    4543         178 : CSS_PROP_TEXT(
    4544             :     word-spacing,
    4545             :     word_spacing,
    4546             :     WordSpacing,
    4547             :     CSS_PROPERTY_PARSE_VALUE |
    4548             :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    4549             :         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
    4550             :         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
    4551             :         CSS_PROPERTY_STORES_CALC,
    4552             :     "",
    4553             :     VARIANT_HLP | VARIANT_NORMAL | VARIANT_CALC,
    4554             :     nullptr,
    4555             :     offsetof(nsStyleText, mWordSpacing),
    4556             :     eStyleAnimType_Coord)
    4557          98 : CSS_PROP_TEXT(
    4558             :     overflow-wrap,
    4559             :     overflow_wrap,
    4560             :     OverflowWrap,
    4561             :     CSS_PROPERTY_PARSE_VALUE,
    4562             :     "",
    4563             :     VARIANT_HK,
    4564             :     kOverflowWrapKTable,
    4565             :     CSS_PROP_NO_OFFSET,
    4566             :     eStyleAnimType_Discrete)
    4567         290 : CSS_PROP_VISIBILITY(
    4568             :     writing-mode,
    4569             :     writing_mode,
    4570             :     WritingMode,
    4571             :     CSS_PROPERTY_PARSE_VALUE,
    4572             :     "",
    4573             :     VARIANT_HK,
    4574             :     kWritingModeKTable,
    4575             :     CSS_PROP_NO_OFFSET,
    4576             :     eStyleAnimType_Discrete)
    4577         568 : CSS_PROP_POSITION(
    4578             :     z-index,
    4579             :     z_index,
    4580             :     ZIndex,
    4581             :     CSS_PROPERTY_PARSE_VALUE |
    4582             :         CSS_PROPERTY_CREATES_STACKING_CONTEXT,
    4583             :     "",
    4584             :     VARIANT_AHI,
    4585             :     nullptr,
    4586             :     offsetof(nsStylePosition, mZIndex),
    4587             :     eStyleAnimType_Coord)
    4588             : 
    4589             : #ifdef USED_CSS_PROP
    4590             : 
    4591             : #undef USED_CSS_PROP
    4592             : #undef CSS_PROP_FONT
    4593             : #undef CSS_PROP_COLOR
    4594             : #undef CSS_PROP_BACKGROUND
    4595             : #undef CSS_PROP_LIST
    4596             : #undef CSS_PROP_POSITION
    4597             : #undef CSS_PROP_TEXT
    4598             : #undef CSS_PROP_TEXTRESET
    4599             : #undef CSS_PROP_DISPLAY
    4600             : #undef CSS_PROP_VISIBILITY
    4601             : #undef CSS_PROP_CONTENT
    4602             : #undef CSS_PROP_USERINTERFACE
    4603             : #undef CSS_PROP_UIRESET
    4604             : #undef CSS_PROP_TABLE
    4605             : #undef CSS_PROP_TABLEBORDER
    4606             : #undef CSS_PROP_MARGIN
    4607             : #undef CSS_PROP_PADDING
    4608             : #undef CSS_PROP_BORDER
    4609             : #undef CSS_PROP_OUTLINE
    4610             : #undef CSS_PROP_XUL
    4611             : #undef CSS_PROP_COLUMN
    4612             : #undef CSS_PROP_SVG
    4613             : #undef CSS_PROP_SVGRESET
    4614             : #undef CSS_PROP_VARIABLES
    4615             : #undef CSS_PROP_EFFECTS
    4616             : 
    4617             : #else /* !defined(USED_CSS_PROP) */
    4618             : 
    4619             : #ifdef DEFINED_CSS_PROP_FONT
    4620             : #undef CSS_PROP_FONT
    4621             : #undef DEFINED_CSS_PROP_FONT
    4622             : #endif
    4623             : #ifdef DEFINED_CSS_PROP_COLOR
    4624             : #undef CSS_PROP_COLOR
    4625             : #undef DEFINED_CSS_PROP_COLOR
    4626             : #endif
    4627             : #ifdef DEFINED_CSS_PROP_BACKGROUND
    4628             : #undef CSS_PROP_BACKGROUND
    4629             : #undef DEFINED_CSS_PROP_BACKGROUND
    4630             : #endif
    4631             : #ifdef DEFINED_CSS_PROP_LIST
    4632             : #undef CSS_PROP_LIST
    4633             : #undef DEFINED_CSS_PROP_LIST
    4634             : #endif
    4635             : #ifdef DEFINED_CSS_PROP_POSITION
    4636             : #undef CSS_PROP_POSITION
    4637             : #undef DEFINED_CSS_PROP_POSITION
    4638             : #endif
    4639             : #ifdef DEFINED_CSS_PROP_TEXT
    4640             : #undef CSS_PROP_TEXT
    4641             : #undef DEFINED_CSS_PROP_TETEXTRESETT
    4642             : #endif
    4643             : #ifdef DEFINED_CSS_PROP_TEXTRESET
    4644             : #undef CSS_PROP_TEXTRESET
    4645             : #undef DEFINED_CSS_PROP_TEDISPLAYTRESET
    4646             : #endif
    4647             : #ifdef DEFINED_CSS_PROP_DISPLAY
    4648             : #undef CSS_PROP_DISPLAY
    4649             : #undef DEFINED_CSS_PROP_DISPLAY
    4650             : #endif
    4651             : #ifdef DEFINED_CSS_PROP_VISIBILITY
    4652             : #undef CSS_PROP_VISIBILITY
    4653             : #undef DEFINED_CSS_PROP_VISIBILITY
    4654             : #endif
    4655             : #ifdef DEFINED_CSS_PROP_CONTENT
    4656             : #undef CSS_PROP_CONTENT
    4657             : #undef DEFINED_CSS_PROP_CONTENT
    4658             : #endif
    4659             : #ifdef DEFINED_CSS_PROP_USERINTERFACE
    4660             : #undef CSS_PROP_USERINTERFACE
    4661             : #undef DEFINED_CSS_PROP_USERINTERFACE
    4662             : #endif
    4663             : #ifdef DEFINED_CSS_PROP_UIRESET
    4664             : #undef CSS_PROP_UIRESET
    4665             : #undef DEFINED_CSS_PROP_UIRESET
    4666             : #endif
    4667             : #ifdef DEFINED_CSS_PROP_TABLE
    4668             : #undef CSS_PROP_TABLE
    4669             : #undef DEFINED_CSS_PROP_TABLE
    4670             : #endif
    4671             : #ifdef DEFINED_CSS_PROP_TABLEBORDER
    4672             : #undef CSS_PROP_TABLEBORDER
    4673             : #undef DEFINED_CSS_PROP_TABLEBORDER
    4674             : #endif
    4675             : #ifdef DEFINED_CSS_PROP_MARGIN
    4676             : #undef CSS_PROP_MARGIN
    4677             : #undef DEFINED_CSS_PROP_MARGIN
    4678             : #endif
    4679             : #ifdef DEFINED_CSS_PROP_PADDING
    4680             : #undef CSS_PROP_PADDING
    4681             : #undef DEFINED_CSS_PROP_PADDING
    4682             : #endif
    4683             : #ifdef DEFINED_CSS_PROP_BORDER
    4684             : #undef CSS_PROP_BORDER
    4685             : #undef DEFINED_CSS_PROP_BORDER
    4686             : #endif
    4687             : #ifdef DEFINED_CSS_PROP_OUTLINE
    4688             : #undef CSS_PROP_OUTLINE
    4689             : #undef DEFINED_CSS_PROP_OUTLINE
    4690             : #endif
    4691             : #ifdef DEFINED_CSS_PROP_XUL
    4692             : #undef CSS_PROP_XUL
    4693             : #undef DEFINED_CSS_PROP_XUL
    4694             : #endif
    4695             : #ifdef DEFINED_CSS_PROP_COLUMN
    4696             : #undef CSS_PROP_COLUMN
    4697             : #undef DEFINED_CSS_PROP_COLUMN
    4698             : #endif
    4699             : #ifdef DEFINED_CSS_PROP_SVG
    4700             : #undef CSS_PROP_SVG
    4701             : #undef DEFINED_CSS_PROP_SVG
    4702             : #endif
    4703             : #ifdef DEFINED_CSS_PROP_SVGRESET
    4704             : #undef CSS_PROP_SVGRESET
    4705             : #undef DEFINED_CSS_PROP_SVGRESET
    4706             : #endif
    4707             : #ifdef DEFINED_CSS_PROP_VARIABLES
    4708             : #undef CSS_PROP_VARIABLES
    4709             : #undef DEFINED_CSS_PROP_VARIABLES
    4710             : #endif
    4711             : #ifdef DEFINED_CSS_PROP_EFFECTS
    4712             : #undef CSS_PROP_EFFECTS
    4713             : #undef DEFINED_CSS_PROP_EFFECTS
    4714             : #endif
    4715             : 
    4716             : #endif /* !defined(USED_CSS_PROP) */
    4717             : 
    4718             : #ifdef DEFINED_CSS_PROP_SHORTHAND
    4719             : #undef CSS_PROP_SHORTHAND
    4720             : #undef DEFINED_CSS_PROP_SHORTHAND
    4721             : #endif
    4722             : #ifdef DEFINED_CSS_PROP_LOGICAL
    4723             : #undef CSS_PROP_LOGICAL
    4724             : #undef DEFINED_CSS_PROP_LOGICAL
    4725             : #endif
    4726             : 
    4727             : #undef CSS_PROP_DOMPROP_PREFIXED

Generated by: LCOV version 1.13