LCOV - code coverage report
Current view: directory - objdir/dist/include - nsCSSPropList.h (source / functions) Found Hit Coverage
Test: app.info Lines: 96 0 0.0 %
Date: 2012-04-21 Functions: 48 0 0.0 %

       1                 : /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
       2                 : /* ***** BEGIN LICENSE BLOCK *****
       3                 :  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
       4                 :  *
       5                 :  * The contents of this file are subject to the Mozilla Public License Version
       6                 :  * 1.1 (the "License"); you may not use this file except in compliance with
       7                 :  * the License. You may obtain a copy of the License at
       8                 :  * http://www.mozilla.org/MPL/
       9                 :  *
      10                 :  * Software distributed under the License is distributed on an "AS IS" basis,
      11                 :  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
      12                 :  * for the specific language governing rights and limitations under the
      13                 :  * License.
      14                 :  *
      15                 :  * The Original Code is mozilla.org code.
      16                 :  *
      17                 :  * The Initial Developer of the Original Code is
      18                 :  * Netscape Communications Corporation.
      19                 :  * Portions created by the Initial Developer are Copyright (C) 1999
      20                 :  * the Initial Developer. All Rights Reserved.
      21                 :  *
      22                 :  * Contributor(s):
      23                 :  *   L. David Baron <dbaron@dbaron.org>, Mozilla Corporation
      24                 :  *   Mats Palmgren <matspal@gmail.com>
      25                 :  *
      26                 :  * Alternatively, the contents of this file may be used under the terms of
      27                 :  * either of the GNU General Public License Version 2 or later (the "GPL"),
      28                 :  * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
      29                 :  * in which case the provisions of the GPL or the LGPL are applicable instead
      30                 :  * of those above. If you wish to allow use of your version of this file only
      31                 :  * under the terms of either the GPL or the LGPL, and not to allow others to
      32                 :  * use your version of this file under the terms of the MPL, indicate your
      33                 :  * decision by deleting the provisions above and replace them with the notice
      34                 :  * and other provisions required by the GPL or the LGPL. If you do not delete
      35                 :  * the provisions above, a recipient may use your version of this file under
      36                 :  * the terms of any one of the MPL, the GPL or the LGPL.
      37                 :  *
      38                 :  * ***** END LICENSE BLOCK ***** */
      39                 : 
      40                 : /*
      41                 :  * a list of all CSS properties with considerable data about them, for
      42                 :  * preprocessing
      43                 :  */
      44                 : 
      45                 : /******
      46                 : 
      47                 :   This file contains the list of all parsed CSS properties.  It is
      48                 :   designed to be used as inline input through the magic of C
      49                 :   preprocessing.  All entries must be enclosed in the appropriate
      50                 :   CSS_PROP_* macro which will have cruel and unusual things done to it.
      51                 :   It is recommended (but not strictly necessary) to keep all entries in
      52                 :   alphabetical order.
      53                 : 
      54                 :   The arguments to CSS_PROP and CSS_PROP_* are:
      55                 : 
      56                 :   -. 'name' entries represent a CSS property name and *must* use only
      57                 :   lowercase characters.
      58                 : 
      59                 :   -. 'id' should be the same as 'name' except that all hyphens ('-')
      60                 :   in 'name' are converted to underscores ('_') in 'id'. This lets us
      61                 :   do nice things with the macros without having to copy/convert strings
      62                 :   at runtime.  These are the names used for the enum values of the
      63                 :   nsCSSProperty enumeration defined in nsCSSProps.h.
      64                 : 
      65                 :   -. 'method' is designed to be as input for CSS2Properties and similar
      66                 :   callers.  It must always be the same as 'name' except it must use
      67                 :   InterCaps and all hyphens ('-') must be removed.  Callers using this
      68                 :   parameter must also define the CSS_PROP_DOMPROP_PREFIXED(prop) macro,
      69                 :   either to be Moz ## prop or to just be prop, depending on whether they
      70                 :   want Moz prefixes or not (i.e., whether the use is for internal use
      71                 :   such as nsRuleData::ValueFor* or external use).
      72                 : 
      73                 :   -. 'flags', a bitfield containing CSS_PROPERTY_* flags.
      74                 : 
      75                 :   -. 'parsevariant', to be passed to ParseVariant in the parser.
      76                 : 
      77                 :   -. 'kwtable', which is either nsnull or the name of the appropriate
      78                 :   keyword table member of class nsCSSProps, for use in
      79                 :   nsCSSProps::LookupPropertyValue.
      80                 : 
      81                 :   -. 'stylestruct_' [used only for CSS_PROP, not CSS_PROP_*] gives the
      82                 :   name of the style struct.  Can be used to make nsStyle##stylestruct_
      83                 :   and eStyleStruct_##stylestruct_
      84                 : 
      85                 :   -. 'stylestructoffset_' [not used for CSS_PROP_BACKENDONLY] gives the
      86                 :   result of offsetof(nsStyle*, member).  Ignored (and generally
      87                 :   CSS_PROP_NO_OFFSET, or -1) for properties whose animtype_ is
      88                 :   eStyleAnimType_None.
      89                 : 
      90                 :   -. 'animtype_' [not used for CSS_PROP_BACKENDONLY] gives the
      91                 :   animation type (see nsStyleAnimType) of this property.
      92                 : 
      93                 :   CSS_PROP_SHORTHAND only takes 1-4.
      94                 : 
      95                 :  ******/
      96                 : 
      97                 : 
      98                 : /*************************************************************************/
      99                 : 
     100                 : 
     101                 : // All includers must explicitly define CSS_PROP_SHORTHAND if they
     102                 : // want it.
     103                 : #ifndef CSS_PROP_SHORTHAND
     104                 : #define CSS_PROP_SHORTHAND(name_, id_, method_, flags_) /* nothing */
     105                 : #define DEFINED_CSS_PROP_SHORTHAND
     106                 : #endif
     107                 : 
     108                 : #define CSS_PROP_NO_OFFSET (-1)
     109                 : 
     110                 : // Callers may define CSS_PROP_LIST_EXCLUDE_INTERNAL if they want to
     111                 : // exclude internal properties that are not represented in the DOM (only
     112                 : // the DOM style code defines this).
     113                 : 
     114                 : // A caller who wants all the properties can define the |CSS_PROP|
     115                 : // macro.
     116                 : #ifdef CSS_PROP
     117                 : 
     118                 : #define USED_CSS_PROP
     119                 : #define CSS_PROP_FONT(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, parsevariant_, kwtable_, Font, stylestructoffset_, animtype_)
     120                 : #define CSS_PROP_COLOR(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, parsevariant_, kwtable_, Color, stylestructoffset_, animtype_)
     121                 : #define CSS_PROP_BACKGROUND(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, parsevariant_, kwtable_, Background, stylestructoffset_, animtype_)
     122                 : #define CSS_PROP_LIST(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, parsevariant_, kwtable_, List, stylestructoffset_, animtype_)
     123                 : #define CSS_PROP_POSITION(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, parsevariant_, kwtable_, Position, stylestructoffset_, animtype_)
     124                 : #define CSS_PROP_TEXT(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, parsevariant_, kwtable_, Text, stylestructoffset_, animtype_)
     125                 : #define CSS_PROP_TEXTRESET(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, parsevariant_, kwtable_, TextReset, stylestructoffset_, animtype_)
     126                 : #define CSS_PROP_DISPLAY(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, parsevariant_, kwtable_, Display, stylestructoffset_, animtype_)
     127                 : #define CSS_PROP_VISIBILITY(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, parsevariant_, kwtable_, Visibility, stylestructoffset_, animtype_)
     128                 : #define CSS_PROP_CONTENT(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, parsevariant_, kwtable_, Content, stylestructoffset_, animtype_)
     129                 : #define CSS_PROP_QUOTES(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, parsevariant_, kwtable_, Quotes, stylestructoffset_, animtype_)
     130                 : #define CSS_PROP_USERINTERFACE(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, parsevariant_, kwtable_, UserInterface, stylestructoffset_, animtype_)
     131                 : #define CSS_PROP_UIRESET(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, parsevariant_, kwtable_, UIReset, stylestructoffset_, animtype_)
     132                 : #define CSS_PROP_TABLE(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, parsevariant_, kwtable_, Table, stylestructoffset_, animtype_)
     133                 : #define CSS_PROP_TABLEBORDER(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, parsevariant_, kwtable_, TableBorder, stylestructoffset_, animtype_)
     134                 : #define CSS_PROP_MARGIN(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, parsevariant_, kwtable_, Margin, stylestructoffset_, animtype_)
     135                 : #define CSS_PROP_PADDING(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, parsevariant_, kwtable_, Padding, stylestructoffset_, animtype_)
     136                 : #define CSS_PROP_BORDER(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, parsevariant_, kwtable_, Border, stylestructoffset_, animtype_)
     137                 : #define CSS_PROP_OUTLINE(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, parsevariant_, kwtable_, Outline, stylestructoffset_, animtype_)
     138                 : #define CSS_PROP_XUL(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, parsevariant_, kwtable_, XUL, stylestructoffset_, animtype_)
     139                 : #define CSS_PROP_COLUMN(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, parsevariant_, kwtable_, Column, stylestructoffset_, animtype_)
     140                 : #define CSS_PROP_SVG(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, parsevariant_, kwtable_, SVG, stylestructoffset_, animtype_)
     141                 : #define CSS_PROP_SVGRESET(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) CSS_PROP(name_, id_, method_, flags_, parsevariant_, kwtable_, SVGReset, stylestructoffset_, animtype_)
     142                 : 
     143                 : // For properties that are stored in the CSS backend but are not
     144                 : // computed.  An includer may define this in addition to CSS_PROP, but
     145                 : // otherwise we treat it as the same.
     146                 : #ifndef CSS_PROP_BACKENDONLY
     147                 : #define CSS_PROP_BACKENDONLY(name_, id_, method_, flags_, parsevariant_, kwtable_) CSS_PROP(name_, id_, method_, flags_, parsevariant_, kwtable_, BackendOnly, CSS_PROP_NO_OFFSET, eStyleAnimType_None)
     148                 : #define DEFINED_CSS_PROP_BACKENDONLY
     149                 : #endif
     150                 : 
     151                 : #else /* !defined(CSS_PROP) */
     152                 : 
     153                 : // An includer who does not define CSS_PROP can define any or all of the
     154                 : // per-struct macros that are equivalent to it, and the rest will be
     155                 : // ignored.
     156                 : 
     157                 : #ifndef CSS_PROP_FONT
     158                 : #define CSS_PROP_FONT(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     159                 : #define DEFINED_CSS_PROP_FONT
     160                 : #endif
     161                 : #ifndef CSS_PROP_COLOR
     162                 : #define CSS_PROP_COLOR(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     163                 : #define DEFINED_CSS_PROP_COLOR
     164                 : #endif
     165                 : #ifndef CSS_PROP_BACKGROUND
     166                 : #define CSS_PROP_BACKGROUND(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     167                 : #define DEFINED_CSS_PROP_BACKGROUND
     168                 : #endif
     169                 : #ifndef CSS_PROP_LIST
     170                 : #define CSS_PROP_LIST(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     171                 : #define DEFINED_CSS_PROP_LIST
     172                 : #endif
     173                 : #ifndef CSS_PROP_POSITION
     174                 : #define CSS_PROP_POSITION(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     175                 : #define DEFINED_CSS_PROP_POSITION
     176                 : #endif
     177                 : #ifndef CSS_PROP_TEXT
     178                 : #define CSS_PROP_TEXT(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     179                 : #define DEFINED_CSS_PROP_TEXT
     180                 : #endif
     181                 : #ifndef CSS_PROP_TEXTRESET
     182                 : #define CSS_PROP_TEXTRESET(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     183                 : #define DEFINED_CSS_PROP_TEXTRESET
     184                 : #endif
     185                 : #ifndef CSS_PROP_DISPLAY
     186                 : #define CSS_PROP_DISPLAY(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     187                 : #define DEFINED_CSS_PROP_DISPLAY
     188                 : #endif
     189                 : #ifndef CSS_PROP_VISIBILITY
     190                 : #define CSS_PROP_VISIBILITY(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     191                 : #define DEFINED_CSS_PROP_VISIBILITY
     192                 : #endif
     193                 : #ifndef CSS_PROP_CONTENT
     194                 : #define CSS_PROP_CONTENT(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     195                 : #define DEFINED_CSS_PROP_CONTENT
     196                 : #endif
     197                 : #ifndef CSS_PROP_QUOTES
     198                 : #define CSS_PROP_QUOTES(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     199                 : #define DEFINED_CSS_PROP_QUOTES
     200                 : #endif
     201                 : #ifndef CSS_PROP_USERINTERFACE
     202                 : #define CSS_PROP_USERINTERFACE(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     203                 : #define DEFINED_CSS_PROP_USERINTERFACE
     204                 : #endif
     205                 : #ifndef CSS_PROP_UIRESET
     206                 : #define CSS_PROP_UIRESET(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     207                 : #define DEFINED_CSS_PROP_UIRESET
     208                 : #endif
     209                 : #ifndef CSS_PROP_TABLE
     210                 : #define CSS_PROP_TABLE(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     211                 : #define DEFINED_CSS_PROP_TABLE
     212                 : #endif
     213                 : #ifndef CSS_PROP_TABLEBORDER
     214                 : #define CSS_PROP_TABLEBORDER(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     215                 : #define DEFINED_CSS_PROP_TABLEBORDER
     216                 : #endif
     217                 : #ifndef CSS_PROP_MARGIN
     218                 : #define CSS_PROP_MARGIN(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     219                 : #define DEFINED_CSS_PROP_MARGIN
     220                 : #endif
     221                 : #ifndef CSS_PROP_PADDING
     222                 : #define CSS_PROP_PADDING(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     223                 : #define DEFINED_CSS_PROP_PADDING
     224                 : #endif
     225                 : #ifndef CSS_PROP_BORDER
     226                 : #define CSS_PROP_BORDER(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     227                 : #define DEFINED_CSS_PROP_BORDER
     228                 : #endif
     229                 : #ifndef CSS_PROP_OUTLINE
     230                 : #define CSS_PROP_OUTLINE(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     231                 : #define DEFINED_CSS_PROP_OUTLINE
     232                 : #endif
     233                 : #ifndef CSS_PROP_XUL
     234                 : #define CSS_PROP_XUL(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     235                 : #define DEFINED_CSS_PROP_XUL
     236                 : #endif
     237                 : #ifndef CSS_PROP_COLUMN
     238                 : #define CSS_PROP_COLUMN(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     239                 : #define DEFINED_CSS_PROP_COLUMN
     240                 : #endif
     241                 : #ifndef CSS_PROP_SVG
     242                 : #define CSS_PROP_SVG(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     243                 : #define DEFINED_CSS_PROP_SVG
     244                 : #endif
     245                 : #ifndef CSS_PROP_SVGRESET
     246                 : #define CSS_PROP_SVGRESET(name_, id_, method_, flags_, parsevariant_, kwtable_, stylestructoffset_, animtype_) /* nothing */
     247                 : #define DEFINED_CSS_PROP_SVGRESET
     248                 : #endif
     249                 : 
     250                 : #ifndef CSS_PROP_BACKENDONLY
     251                 : #define CSS_PROP_BACKENDONLY(name_, id_, method_, flags_, parsevariant_, kwtable_) /* nothing */
     252                 : #define DEFINED_CSS_PROP_BACKENDONLY
     253                 : #endif
     254                 : 
     255                 : #endif /* !defined(CSS_PROP) */
     256                 : 
     257                 : /*************************************************************************/
     258                 : 
     259                 : // For notes XXX bug 3935 below, the names being parsed do not correspond
     260                 : // to the constants used internally.  It would be nice to bring the
     261                 : // constants into line sometime.
     262                 : 
     263                 : // The parser will refuse to parse properties marked with -x-.
     264                 : 
     265                 : // Those marked XXX bug 48973 are CSS2 properties that we support
     266                 : // differently from the spec for UI requirements.  If we ever
     267                 : // support them correctly the old constants need to be renamed and
     268                 : // new ones should be entered.
     269                 : 
     270                 : // CSS2.1 section 5.12.1 says that the properties that apply to
     271                 : // :first-line are: font properties, color properties, background
     272                 : // properties, 'word-spacing', 'letter-spacing', 'text-decoration',
     273                 : // 'vertical-align', 'text-transform', and 'line-height'.
     274                 : //
     275                 : // We also allow 'text-shadow', which was listed in CSS2 (where the
     276                 : // property existed).
     277                 : 
     278                 : // CSS2.1 section 5.12.2 says that the properties that apply to
     279                 : // :first-letter are: font properties, 'text-decoration',
     280                 : // 'text-transform', 'letter-spacing', 'word-spacing' (when
     281                 : // appropriate), 'line-height', 'float', 'vertical-align' (only if
     282                 : // 'float' is 'none'), margin properties, padding properties, border
     283                 : // properties, 'color', and background properties.  We also allow
     284                 : // 'text-shadow' (see above) and 'box-shadow' (which is like the
     285                 : // border properties).
     286                 : 
     287                 : // We include '-moz-background-inline-policy' (css3-background's
     288                 : // 'background-break') in both as a background property, although this
     289                 : // is somewhat questionable.
     290                 : 
     291                 : CSS_PROP_DISPLAY(
     292                 :     -moz-appearance,
     293                 :     appearance,
     294                 :     CSS_PROP_DOMPROP_PREFIXED(Appearance),
     295                 :     CSS_PROPERTY_PARSE_VALUE,
     296                 :     VARIANT_HK,
     297                 :     kAppearanceKTable,
     298                 :     CSS_PROP_NO_OFFSET,
     299                 :     eStyleAnimType_None)
     300                 : CSS_PROP_SHORTHAND(
     301                 :     -moz-outline-radius,
     302                 :     _moz_outline_radius,
     303                 :     CSS_PROP_DOMPROP_PREFIXED(OutlineRadius),
     304                 :     CSS_PROPERTY_PARSE_FUNCTION)
     305                 : CSS_PROP_OUTLINE(
     306                 :     -moz-outline-radius-topleft,
     307                 :     _moz_outline_radius_topLeft,
     308                 :     CSS_PROP_DOMPROP_PREFIXED(OutlineRadiusTopleft),
     309                 :     CSS_PROPERTY_PARSE_FUNCTION |
     310                 :         CSS_PROPERTY_VALUE_NONNEGATIVE |
     311                 :         CSS_PROPERTY_STORES_CALC,
     312                 :     0,
     313                 :     nsnull,
     314                 :     offsetof(nsStyleOutline, mOutlineRadius),
     315                 :     eStyleAnimType_Corner_TopLeft)
     316                 : CSS_PROP_OUTLINE(
     317                 :     -moz-outline-radius-topright,
     318                 :     _moz_outline_radius_topRight,
     319                 :     CSS_PROP_DOMPROP_PREFIXED(OutlineRadiusTopright),
     320                 :     CSS_PROPERTY_PARSE_FUNCTION |
     321                 :         CSS_PROPERTY_VALUE_NONNEGATIVE |
     322                 :         CSS_PROPERTY_STORES_CALC,
     323                 :     0,
     324                 :     nsnull,
     325                 :     offsetof(nsStyleOutline, mOutlineRadius),
     326                 :     eStyleAnimType_Corner_TopRight)
     327                 : CSS_PROP_OUTLINE(
     328                 :     -moz-outline-radius-bottomright,
     329                 :     _moz_outline_radius_bottomRight,
     330                 :     CSS_PROP_DOMPROP_PREFIXED(OutlineRadiusBottomright),
     331                 :     CSS_PROPERTY_PARSE_FUNCTION |
     332                 :         CSS_PROPERTY_VALUE_NONNEGATIVE |
     333                 :         CSS_PROPERTY_STORES_CALC,
     334                 :     0,
     335                 :     nsnull,
     336                 :     offsetof(nsStyleOutline, mOutlineRadius),
     337                 :     eStyleAnimType_Corner_BottomRight)
     338                 : CSS_PROP_OUTLINE(
     339                 :     -moz-outline-radius-bottomleft,
     340                 :     _moz_outline_radius_bottomLeft,
     341                 :     CSS_PROP_DOMPROP_PREFIXED(OutlineRadiusBottomleft),
     342                 :     CSS_PROPERTY_PARSE_FUNCTION |
     343                 :         CSS_PROPERTY_VALUE_NONNEGATIVE |
     344                 :         CSS_PROPERTY_STORES_CALC,
     345                 :     0,
     346                 :     nsnull,
     347                 :     offsetof(nsStyleOutline, mOutlineRadius),
     348                 :     eStyleAnimType_Corner_BottomLeft)
     349                 : CSS_PROP_TEXT(
     350                 :     -moz-tab-size,
     351                 :     _moz_tab_size,
     352                 :     CSS_PROP_DOMPROP_PREFIXED(TabSize),
     353                 :     CSS_PROPERTY_PARSE_VALUE |
     354                 :         CSS_PROPERTY_VALUE_NONNEGATIVE,
     355                 :     VARIANT_HI,
     356                 :     nsnull,
     357                 :     offsetof(nsStyleText, mTabSize),
     358                 :     eStyleAnimType_None)
     359                 : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
     360                 : CSS_PROP_FONT(
     361                 :     -x-system-font,
     362                 :     _x_system_font,
     363                 :     CSS_PROP_DOMPROP_PREFIXED(SystemFont),
     364                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
     365                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE,
     366                 :     0,
     367                 :     kFontKTable,
     368                 :     CSS_PROP_NO_OFFSET,
     369                 :     eStyleAnimType_None)
     370                 : #endif
     371                 : CSS_PROP_SHORTHAND(
     372                 :     -moz-animation,
     373                 :     animation,
     374                 :     CSS_PROP_DOMPROP_PREFIXED(Animation),
     375                 :     CSS_PROPERTY_PARSE_FUNCTION)
     376                 : CSS_PROP_DISPLAY(
     377                 :     -moz-animation-delay,
     378                 :     animation_delay,
     379                 :     CSS_PROP_DOMPROP_PREFIXED(AnimationDelay),
     380                 :     CSS_PROPERTY_PARSE_VALUE_LIST |
     381                 :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     382                 :     VARIANT_TIME, // used by list parsing
     383                 :     nsnull,
     384                 :     CSS_PROP_NO_OFFSET,
     385                 :     eStyleAnimType_None)
     386                 : CSS_PROP_DISPLAY(
     387                 :     -moz-animation-direction,
     388                 :     animation_direction,
     389                 :     CSS_PROP_DOMPROP_PREFIXED(AnimationDirection),
     390                 :     CSS_PROPERTY_PARSE_VALUE_LIST |
     391                 :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     392                 :     VARIANT_KEYWORD, // used by list parsing
     393                 :     kAnimationDirectionKTable,
     394                 :     CSS_PROP_NO_OFFSET,
     395                 :     eStyleAnimType_None)
     396                 : CSS_PROP_DISPLAY(
     397                 :     -moz-animation-duration,
     398                 :     animation_duration,
     399                 :     CSS_PROP_DOMPROP_PREFIXED(AnimationDuration),
     400                 :     CSS_PROPERTY_PARSE_VALUE_LIST |
     401                 :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     402                 :     VARIANT_TIME, // used by list parsing
     403                 :     nsnull,
     404                 :     CSS_PROP_NO_OFFSET,
     405                 :     eStyleAnimType_None)
     406                 : CSS_PROP_DISPLAY(
     407                 :     -moz-animation-fill-mode,
     408                 :     animation_fill_mode,
     409                 :     CSS_PROP_DOMPROP_PREFIXED(AnimationFillMode),
     410                 :     CSS_PROPERTY_PARSE_VALUE_LIST |
     411                 :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     412                 :     VARIANT_KEYWORD, // used by list parsing
     413                 :     kAnimationFillModeKTable,
     414                 :     CSS_PROP_NO_OFFSET,
     415                 :     eStyleAnimType_None)
     416                 : CSS_PROP_DISPLAY(
     417                 :     -moz-animation-iteration-count,
     418                 :     animation_iteration_count,
     419                 :     CSS_PROP_DOMPROP_PREFIXED(AnimationIterationCount),
     420                 :     CSS_PROPERTY_PARSE_VALUE_LIST |
     421                 :         // nonnegative per
     422                 :         // http://lists.w3.org/Archives/Public/www-style/2011Mar/0355.html
     423                 :         CSS_PROPERTY_VALUE_NONNEGATIVE |
     424                 :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     425                 :     VARIANT_KEYWORD | VARIANT_NUMBER, // used by list parsing
     426                 :     kAnimationIterationCountKTable,
     427                 :     CSS_PROP_NO_OFFSET,
     428                 :     eStyleAnimType_None)
     429                 : CSS_PROP_DISPLAY(
     430                 :     -moz-animation-name,
     431                 :     animation_name,
     432                 :     CSS_PROP_DOMPROP_PREFIXED(AnimationName),
     433                 :     CSS_PROPERTY_PARSE_VALUE_LIST |
     434                 :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     435                 :     // FIXME: The spec should say something about 'inherit' and 'initial'
     436                 :     // not being allowed.
     437                 :     VARIANT_NONE | VARIANT_IDENTIFIER_NO_INHERIT, // used by list parsing
     438                 :     nsnull,
     439                 :     CSS_PROP_NO_OFFSET,
     440                 :     eStyleAnimType_None)
     441                 : CSS_PROP_DISPLAY(
     442                 :     -moz-animation-play-state,
     443                 :     animation_play_state,
     444                 :     CSS_PROP_DOMPROP_PREFIXED(AnimationPlayState),
     445                 :     CSS_PROPERTY_PARSE_VALUE_LIST |
     446                 :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     447                 :     VARIANT_KEYWORD, // used by list parsing
     448                 :     kAnimationPlayStateKTable,
     449                 :     CSS_PROP_NO_OFFSET,
     450                 :     eStyleAnimType_None)
     451                 : CSS_PROP_DISPLAY(
     452                 :     -moz-animation-timing-function,
     453                 :     animation_timing_function,
     454                 :     CSS_PROP_DOMPROP_PREFIXED(AnimationTimingFunction),
     455                 :     CSS_PROPERTY_PARSE_VALUE_LIST |
     456                 :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     457                 :     VARIANT_KEYWORD | VARIANT_TIMING_FUNCTION, // used by list parsing
     458                 :     kTransitionTimingFunctionKTable,
     459                 :     CSS_PROP_NO_OFFSET,
     460                 :     eStyleAnimType_None)
     461                 : CSS_PROP_SHORTHAND(
     462                 :     background,
     463                 :     background,
     464                 :     Background,
     465                 :     CSS_PROPERTY_PARSE_FUNCTION)
     466                 : CSS_PROP_BACKGROUND(
     467                 :     background-attachment,
     468                 :     background_attachment,
     469                 :     BackgroundAttachment,
     470                 :     CSS_PROPERTY_PARSE_VALUE_LIST |
     471                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
     472                 :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     473                 :     VARIANT_KEYWORD, // used by list parsing
     474                 :     kBackgroundAttachmentKTable,
     475                 :     CSS_PROP_NO_OFFSET,
     476                 :     eStyleAnimType_None)
     477                 : CSS_PROP_BACKGROUND(
     478                 :     background-clip,
     479                 :     background_clip,
     480                 :     BackgroundClip,
     481                 :     CSS_PROPERTY_PARSE_VALUE_LIST |
     482                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
     483                 :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     484                 :     VARIANT_KEYWORD, // used by list parsing
     485                 :     kBackgroundOriginKTable,
     486                 :     CSS_PROP_NO_OFFSET,
     487                 :     eStyleAnimType_None)
     488               0 : CSS_PROP_BACKGROUND(
     489                 :     background-color,
     490                 :     background_color,
     491                 :     BackgroundColor,
     492                 :     CSS_PROPERTY_PARSE_VALUE |
     493                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
     494                 :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
     495                 :     VARIANT_HC,
     496                 :     nsnull,
     497                 :     offsetof(nsStyleBackground, mBackgroundColor),
     498               0 :     eStyleAnimType_Color)
     499               0 : CSS_PROP_BACKGROUND(
     500                 :     background-image,
     501                 :     background_image,
     502                 :     BackgroundImage,
     503                 :     CSS_PROPERTY_PARSE_VALUE_LIST |
     504                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
     505                 :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
     506                 :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED |
     507                 :         CSS_PROPERTY_START_IMAGE_LOADS,
     508                 :     VARIANT_IMAGE, // used by list parsing
     509                 :     nsnull,
     510                 :     CSS_PROP_NO_OFFSET,
     511               0 :     eStyleAnimType_None)
     512                 : CSS_PROP_BACKGROUND(
     513                 :     -moz-background-inline-policy,
     514                 :     _moz_background_inline_policy,
     515                 :     CSS_PROP_DOMPROP_PREFIXED(BackgroundInlinePolicy),
     516                 :     CSS_PROPERTY_PARSE_VALUE |
     517                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE,
     518                 :     VARIANT_HK,
     519                 :     kBackgroundInlinePolicyKTable,
     520                 :     CSS_PROP_NO_OFFSET,
     521                 :     eStyleAnimType_None)
     522                 : CSS_PROP_BACKGROUND(
     523                 :     background-origin,
     524                 :     background_origin,
     525                 :     BackgroundOrigin,
     526                 :     CSS_PROPERTY_PARSE_VALUE_LIST |
     527                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
     528                 :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     529                 :     VARIANT_KEYWORD, // used by list parsing
     530                 :     kBackgroundOriginKTable,
     531                 :     CSS_PROP_NO_OFFSET,
     532                 :     eStyleAnimType_None)
     533                 : CSS_PROP_BACKGROUND(
     534                 :     background-position,
     535                 :     background_position,
     536                 :     BackgroundPosition,
     537                 :     CSS_PROPERTY_PARSE_FUNCTION |
     538                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
     539                 :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
     540                 :         CSS_PROPERTY_STORES_CALC,
     541                 :     0,
     542                 :     kBackgroundPositionKTable,
     543                 :     CSS_PROP_NO_OFFSET,
     544                 :     eStyleAnimType_Custom)
     545                 : CSS_PROP_BACKGROUND(
     546                 :     background-repeat,
     547                 :     background_repeat,
     548                 :     BackgroundRepeat,
     549                 :     CSS_PROPERTY_PARSE_FUNCTION |
     550                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
     551                 :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     552                 :     VARIANT_KEYWORD, // used by list parsing
     553                 :     kBackgroundRepeatKTable,
     554                 :     CSS_PROP_NO_OFFSET,
     555                 :     eStyleAnimType_None)
     556                 : CSS_PROP_BACKGROUND(
     557                 :     background-size,
     558                 :     background_size,
     559                 :     BackgroundSize,
     560                 :     CSS_PROPERTY_PARSE_FUNCTION |
     561                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
     562                 :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
     563                 :         CSS_PROPERTY_VALUE_NONNEGATIVE |
     564                 :         CSS_PROPERTY_STORES_CALC,
     565                 :     0,
     566                 :     kBackgroundSizeKTable,
     567                 :     CSS_PROP_NO_OFFSET,
     568                 :     eStyleAnimType_Custom)
     569                 : CSS_PROP_DISPLAY(
     570                 :     -moz-binding,
     571                 :     binding,
     572                 :     CSS_PROP_DOMPROP_PREFIXED(Binding),
     573                 :     CSS_PROPERTY_PARSE_VALUE,
     574                 :     VARIANT_HUO,
     575                 :     nsnull,
     576                 :     CSS_PROP_NO_OFFSET,
     577                 :     eStyleAnimType_None) // XXX bug 3935
     578                 : CSS_PROP_SHORTHAND(
     579                 :     border,
     580                 :     border,
     581                 :     Border,
     582                 :     CSS_PROPERTY_PARSE_FUNCTION)
     583                 : CSS_PROP_SHORTHAND(
     584                 :     border-bottom,
     585                 :     border_bottom,
     586                 :     BorderBottom,
     587                 :     CSS_PROPERTY_PARSE_FUNCTION)
     588               0 : CSS_PROP_BORDER(
     589                 :     border-bottom-color,
     590                 :     border_bottom_color,
     591                 :     BorderBottomColor,
     592                 :     CSS_PROPERTY_PARSE_VALUE |
     593                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     594                 :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
     595                 :     VARIANT_HCK,
     596                 :     kBorderColorKTable,
     597                 :     CSS_PROP_NO_OFFSET,
     598               0 :     eStyleAnimType_Custom)
     599                 : CSS_PROP_BORDER(
     600                 :     -moz-border-bottom-colors,
     601                 :     border_bottom_colors,
     602                 :     CSS_PROP_DOMPROP_PREFIXED(BorderBottomColors),
     603                 :     CSS_PROPERTY_PARSE_FUNCTION |
     604                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     605                 :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
     606                 :     0,
     607                 :     nsnull,
     608                 :     CSS_PROP_NO_OFFSET,
     609                 :     eStyleAnimType_None)
     610               0 : CSS_PROP_BORDER(
     611                 :     border-bottom-style,
     612                 :     border_bottom_style,
     613                 :     BorderBottomStyle,
     614                 :     CSS_PROPERTY_PARSE_VALUE |
     615                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
     616                 :     VARIANT_HK,
     617                 :     kBorderStyleKTable,
     618                 :     CSS_PROP_NO_OFFSET,
     619               0 :     eStyleAnimType_None)  // on/off will need reflow
     620               0 : CSS_PROP_BORDER(
     621                 :     border-bottom-width,
     622                 :     border_bottom_width,
     623                 :     BorderBottomWidth,
     624                 :     CSS_PROPERTY_PARSE_VALUE |
     625                 :         CSS_PROPERTY_VALUE_NONNEGATIVE |
     626                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
     627                 :     VARIANT_HKL | VARIANT_CALC,
     628                 :     kBorderWidthKTable,
     629                 :     CSS_PROP_NO_OFFSET,
     630               0 :     eStyleAnimType_Custom)
     631                 : CSS_PROP_TABLEBORDER(
     632                 :     border-collapse,
     633                 :     border_collapse,
     634                 :     BorderCollapse,
     635                 :     CSS_PROPERTY_PARSE_VALUE,
     636                 :     VARIANT_HK,
     637                 :     kBorderCollapseKTable,
     638                 :     CSS_PROP_NO_OFFSET,
     639                 :     eStyleAnimType_None)
     640                 : CSS_PROP_SHORTHAND(
     641                 :     border-color,
     642                 :     border_color,
     643                 :     BorderColor,
     644                 :     CSS_PROPERTY_PARSE_FUNCTION)
     645                 : CSS_PROP_SHORTHAND(
     646                 :     -moz-border-end,
     647                 :     border_end,
     648                 :     CSS_PROP_DOMPROP_PREFIXED(BorderEnd),
     649                 :     CSS_PROPERTY_PARSE_FUNCTION)
     650                 : CSS_PROP_SHORTHAND(
     651                 :     -moz-border-end-color,
     652                 :     border_end_color,
     653                 :     CSS_PROP_DOMPROP_PREFIXED(BorderEndColor),
     654                 :     CSS_PROPERTY_PARSE_FUNCTION)
     655                 : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
     656                 : CSS_PROP_BORDER(
     657                 :     border-end-color-value,
     658                 :     border_end_color_value,
     659                 :     BorderEndColorValue,
     660                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
     661                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
     662                 :     VARIANT_HCK, // used only internally
     663                 :     kBorderColorKTable,
     664                 :     CSS_PROP_NO_OFFSET,
     665                 :     eStyleAnimType_None)
     666                 : #endif
     667                 : CSS_PROP_SHORTHAND(
     668                 :     -moz-border-end-style,
     669                 :     border_end_style,
     670                 :     CSS_PROP_DOMPROP_PREFIXED(BorderEndStyle),
     671                 :     CSS_PROPERTY_PARSE_FUNCTION)
     672                 : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
     673                 : CSS_PROP_BORDER(
     674                 :     border-end-style-value,
     675                 :     border_end_style_value,
     676                 :     BorderEndStyleValue,
     677                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
     678                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
     679                 :     VARIANT_HK, // used only internally
     680                 :     kBorderStyleKTable,
     681                 :     CSS_PROP_NO_OFFSET,
     682                 :     eStyleAnimType_None)
     683                 : #endif
     684                 : CSS_PROP_SHORTHAND(
     685                 :     -moz-border-end-width,
     686                 :     border_end_width,
     687                 :     CSS_PROP_DOMPROP_PREFIXED(BorderEndWidth),
     688                 :     CSS_PROPERTY_PARSE_FUNCTION)
     689                 : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
     690                 : CSS_PROP_BORDER(
     691                 :     border-end-width-value,
     692                 :     border_end_width_value,
     693                 :     BorderEndWidthValue,
     694                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
     695                 :         CSS_PROPERTY_VALUE_NONNEGATIVE |
     696                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
     697                 :     VARIANT_HKL | VARIANT_CALC,
     698                 :     kBorderWidthKTable,
     699                 :     CSS_PROP_NO_OFFSET,
     700                 :     eStyleAnimType_None)
     701                 : #endif
     702                 : CSS_PROP_SHORTHAND(
     703                 :     -moz-border-image,
     704                 :     border_image,
     705                 :     CSS_PROP_DOMPROP_PREFIXED(BorderImage),
     706                 :     CSS_PROPERTY_PARSE_FUNCTION)
     707                 : CSS_PROP_BORDER(
     708                 :     -moz-border-image-source,
     709                 :     border_image_source,
     710                 :     CSS_PROP_DOMPROP_PREFIXED(BorderImageSource),
     711                 :     CSS_PROPERTY_PARSE_VALUE |
     712                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     713                 :         CSS_PROPERTY_START_IMAGE_LOADS,
     714                 :     VARIANT_HUO,
     715                 :     nsnull,
     716                 :     CSS_PROP_NO_OFFSET,
     717                 :     eStyleAnimType_None)
     718                 : CSS_PROP_BORDER(
     719                 :     -moz-border-image-slice,
     720                 :     border_image_slice,
     721                 :     CSS_PROP_DOMPROP_PREFIXED(BorderImageSlice),
     722                 :     CSS_PROPERTY_PARSE_FUNCTION |
     723                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
     724                 :     0,
     725                 :     kBorderImageSliceKTable,
     726                 :     CSS_PROP_NO_OFFSET,
     727                 :     eStyleAnimType_None)
     728                 : CSS_PROP_BORDER(
     729                 :     -moz-border-image-width,
     730                 :     border_image_width,
     731                 :     CSS_PROP_DOMPROP_PREFIXED(BorderImageWidth),
     732                 :     CSS_PROPERTY_PARSE_FUNCTION |
     733                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
     734                 :     0,
     735                 :     nsnull,
     736                 :     CSS_PROP_NO_OFFSET,
     737                 :     eStyleAnimType_None)
     738                 : CSS_PROP_BORDER(
     739                 :     -moz-border-image-outset,
     740                 :     border_image_outset,
     741                 :     CSS_PROP_DOMPROP_PREFIXED(BorderImageOutset),
     742                 :     CSS_PROPERTY_PARSE_FUNCTION |
     743                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
     744                 :     0,
     745                 :     nsnull,
     746                 :     CSS_PROP_NO_OFFSET,
     747                 :     eStyleAnimType_None)
     748                 : CSS_PROP_BORDER(
     749                 :     -moz-border-image-repeat,
     750                 :     border_image_repeat,
     751                 :     CSS_PROP_DOMPROP_PREFIXED(BorderImageRepeat),
     752                 :     CSS_PROPERTY_PARSE_FUNCTION |
     753                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
     754                 :     0,
     755                 :     kBorderImageRepeatKTable,
     756                 :     CSS_PROP_NO_OFFSET,
     757                 :     eStyleAnimType_None)
     758                 : CSS_PROP_SHORTHAND(
     759                 :     border-left,
     760                 :     border_left,
     761                 :     BorderLeft,
     762                 :     CSS_PROPERTY_PARSE_FUNCTION)
     763                 : CSS_PROP_SHORTHAND(
     764                 :     border-left-color,
     765                 :     border_left_color,
     766                 :     BorderLeftColor,
     767                 :     CSS_PROPERTY_PARSE_FUNCTION)
     768                 : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
     769               0 : CSS_PROP_BORDER(
     770                 :     border-left-color-value,
     771                 :     border_left_color_value,
     772                 :     BorderLeftColorValue,
     773                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
     774                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     775                 :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED |
     776                 :         CSS_PROPERTY_REPORT_OTHER_NAME,
     777                 :     VARIANT_HCK, // used only internally
     778                 :     kBorderColorKTable,
     779                 :     CSS_PROP_NO_OFFSET,
     780               0 :     eStyleAnimType_Custom)
     781                 : CSS_PROP_BORDER(
     782                 :     border-left-color-ltr-source,
     783                 :     border_left_color_ltr_source,
     784                 :     BorderLeftColorLTRSource,
     785                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
     786                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     787                 :         CSS_PROPERTY_DIRECTIONAL_SOURCE |
     788                 :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
     789                 :     0,
     790                 :     kBoxPropSourceKTable,
     791                 :     CSS_PROP_NO_OFFSET,
     792                 :     eStyleAnimType_None)
     793                 : CSS_PROP_BORDER(
     794                 :     border-left-color-rtl-source,
     795                 :     border_left_color_rtl_source,
     796                 :     BorderLeftColorRTLSource,
     797                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
     798                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     799                 :         CSS_PROPERTY_DIRECTIONAL_SOURCE |
     800                 :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
     801                 :     0,
     802                 :     kBoxPropSourceKTable,
     803                 :     CSS_PROP_NO_OFFSET,
     804                 :     eStyleAnimType_None)
     805                 : #endif
     806                 : CSS_PROP_BORDER(
     807                 :     -moz-border-left-colors,
     808                 :     border_left_colors,
     809                 :     CSS_PROP_DOMPROP_PREFIXED(BorderLeftColors),
     810                 :     CSS_PROPERTY_PARSE_FUNCTION |
     811                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     812                 :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
     813                 :     0,
     814                 :     nsnull,
     815                 :     CSS_PROP_NO_OFFSET,
     816                 :     eStyleAnimType_None)
     817                 : CSS_PROP_SHORTHAND(
     818                 :     border-left-style,
     819                 :     border_left_style,
     820                 :     BorderLeftStyle,
     821                 :     CSS_PROPERTY_PARSE_FUNCTION) // on/off will need reflow
     822                 : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
     823               0 : CSS_PROP_BORDER(
     824                 :     border-left-style-value,
     825                 :     border_left_style_value,
     826                 :     BorderLeftStyleValue,
     827                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
     828                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     829                 :         CSS_PROPERTY_REPORT_OTHER_NAME,
     830                 :     VARIANT_HK, // used only internally
     831                 :     kBorderStyleKTable,
     832                 :     CSS_PROP_NO_OFFSET,
     833               0 :     eStyleAnimType_None)
     834                 : CSS_PROP_BORDER(
     835                 :     border-left-style-ltr-source,
     836                 :     border_left_style_ltr_source,
     837                 :     BorderLeftStyleLTRSource,
     838                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
     839                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     840                 :         CSS_PROPERTY_DIRECTIONAL_SOURCE,
     841                 :     0,
     842                 :     kBoxPropSourceKTable,
     843                 :     CSS_PROP_NO_OFFSET,
     844                 :     eStyleAnimType_None)
     845                 : CSS_PROP_BORDER(
     846                 :     border-left-style-rtl-source,
     847                 :     border_left_style_rtl_source,
     848                 :     BorderLeftStyleRTLSource,
     849                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
     850                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     851                 :         CSS_PROPERTY_DIRECTIONAL_SOURCE,
     852                 :     0,
     853                 :     kBoxPropSourceKTable,
     854                 :     CSS_PROP_NO_OFFSET,
     855                 :     eStyleAnimType_None)
     856                 : #endif
     857                 : CSS_PROP_SHORTHAND(
     858                 :     border-left-width,
     859                 :     border_left_width,
     860                 :     BorderLeftWidth,
     861                 :     CSS_PROPERTY_PARSE_FUNCTION)
     862                 : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
     863               0 : CSS_PROP_BORDER(
     864                 :     border-left-width-value,
     865                 :     border_left_width_value,
     866                 :     BorderLeftWidthValue,
     867                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
     868                 :         CSS_PROPERTY_VALUE_NONNEGATIVE |
     869                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     870                 :         CSS_PROPERTY_REPORT_OTHER_NAME,
     871                 :     VARIANT_HKL | VARIANT_CALC,
     872                 :     kBorderWidthKTable,
     873                 :     CSS_PROP_NO_OFFSET,
     874               0 :     eStyleAnimType_Custom)
     875                 : CSS_PROP_BORDER(
     876                 :     border-left-width-ltr-source,
     877                 :     border_left_width_ltr_source,
     878                 :     BorderLeftWidthLTRSource,
     879                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
     880                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     881                 :         CSS_PROPERTY_DIRECTIONAL_SOURCE,
     882                 :     0,
     883                 :     kBoxPropSourceKTable,
     884                 :     CSS_PROP_NO_OFFSET,
     885                 :     eStyleAnimType_None)
     886                 : CSS_PROP_BORDER(
     887                 :     border-left-width-rtl-source,
     888                 :     border_left_width_rtl_source,
     889                 :     BorderLeftWidthRTLSource,
     890                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
     891                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     892                 :         CSS_PROPERTY_DIRECTIONAL_SOURCE,
     893                 :     0,
     894                 :     kBoxPropSourceKTable,
     895                 :     CSS_PROP_NO_OFFSET,
     896                 :     eStyleAnimType_None)
     897                 : #endif
     898                 : CSS_PROP_SHORTHAND(
     899                 :     border-right,
     900                 :     border_right,
     901                 :     BorderRight,
     902                 :     CSS_PROPERTY_PARSE_FUNCTION)
     903                 : CSS_PROP_SHORTHAND(
     904                 :     border-right-color,
     905                 :     border_right_color,
     906                 :     BorderRightColor,
     907                 :     CSS_PROPERTY_PARSE_FUNCTION)
     908                 : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
     909               0 : CSS_PROP_BORDER(
     910                 :     border-right-color-value,
     911                 :     border_right_color_value,
     912                 :     BorderRightColorValue,
     913                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
     914                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     915                 :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED |
     916                 :         CSS_PROPERTY_REPORT_OTHER_NAME,
     917                 :     VARIANT_HCK, // used only internally
     918                 :     kBorderColorKTable,
     919                 :     CSS_PROP_NO_OFFSET,
     920               0 :     eStyleAnimType_Custom)
     921                 : CSS_PROP_BORDER(
     922                 :     border-right-color-ltr-source,
     923                 :     border_right_color_ltr_source,
     924                 :     BorderRightColorLTRSource,
     925                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
     926                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     927                 :         CSS_PROPERTY_DIRECTIONAL_SOURCE |
     928                 :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
     929                 :     0,
     930                 :     kBoxPropSourceKTable,
     931                 :     CSS_PROP_NO_OFFSET,
     932                 :     eStyleAnimType_None)
     933                 : CSS_PROP_BORDER(
     934                 :     border-right-color-rtl-source,
     935                 :     border_right_color_rtl_source,
     936                 :     BorderRightColorRTLSource,
     937                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
     938                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     939                 :         CSS_PROPERTY_DIRECTIONAL_SOURCE |
     940                 :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
     941                 :     0,
     942                 :     kBoxPropSourceKTable,
     943                 :     CSS_PROP_NO_OFFSET,
     944                 :     eStyleAnimType_None)
     945                 : #endif
     946                 : CSS_PROP_BORDER(
     947                 :     -moz-border-right-colors,
     948                 :     border_right_colors,
     949                 :     CSS_PROP_DOMPROP_PREFIXED(BorderRightColors),
     950                 :     CSS_PROPERTY_PARSE_FUNCTION |
     951                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     952                 :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
     953                 :     0,
     954                 :     nsnull,
     955                 :     CSS_PROP_NO_OFFSET,
     956                 :     eStyleAnimType_None)
     957                 : CSS_PROP_SHORTHAND(
     958                 :     border-right-style,
     959                 :     border_right_style,
     960                 :     BorderRightStyle,
     961                 :     CSS_PROPERTY_PARSE_FUNCTION) // on/off will need reflow
     962                 : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
     963               0 : CSS_PROP_BORDER(
     964                 :     border-right-style-value,
     965                 :     border_right_style_value,
     966                 :     BorderRightStyleValue,
     967                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
     968                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     969                 :         CSS_PROPERTY_REPORT_OTHER_NAME,
     970                 :     VARIANT_HK, // used only internally
     971                 :     kBorderStyleKTable,
     972                 :     CSS_PROP_NO_OFFSET,
     973               0 :     eStyleAnimType_None)
     974                 : CSS_PROP_BORDER(
     975                 :     border-right-style-ltr-source,
     976                 :     border_right_style_ltr_source,
     977                 :     BorderRightStyleLTRSource,
     978                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
     979                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     980                 :         CSS_PROPERTY_DIRECTIONAL_SOURCE,
     981                 :     0,
     982                 :     kBoxPropSourceKTable,
     983                 :     CSS_PROP_NO_OFFSET,
     984                 :     eStyleAnimType_None)
     985                 : CSS_PROP_BORDER(
     986                 :     border-right-style-rtl-source,
     987                 :     border_right_style_rtl_source,
     988                 :     BorderRightStyleRTLSource,
     989                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
     990                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
     991                 :         CSS_PROPERTY_DIRECTIONAL_SOURCE,
     992                 :     0,
     993                 :     kBoxPropSourceKTable,
     994                 :     CSS_PROP_NO_OFFSET,
     995                 :     eStyleAnimType_None)
     996                 : #endif
     997                 : CSS_PROP_SHORTHAND(
     998                 :     border-right-width,
     999                 :     border_right_width,
    1000                 :     BorderRightWidth,
    1001                 :     CSS_PROPERTY_PARSE_FUNCTION)
    1002                 : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
    1003               0 : CSS_PROP_BORDER(
    1004                 :     border-right-width-value,
    1005                 :     border_right_width_value,
    1006                 :     BorderRightWidthValue,
    1007                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
    1008                 :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    1009                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1010                 :         CSS_PROPERTY_REPORT_OTHER_NAME,
    1011                 :     VARIANT_HKL | VARIANT_CALC,
    1012                 :     kBorderWidthKTable,
    1013                 :     CSS_PROP_NO_OFFSET,
    1014               0 :     eStyleAnimType_Custom)
    1015                 : CSS_PROP_BORDER(
    1016                 :     border-right-width-ltr-source,
    1017                 :     border_right_width_ltr_source,
    1018                 :     BorderRightWidthLTRSource,
    1019                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
    1020                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1021                 :         CSS_PROPERTY_DIRECTIONAL_SOURCE,
    1022                 :     0,
    1023                 :     kBoxPropSourceKTable,
    1024                 :     CSS_PROP_NO_OFFSET,
    1025                 :     eStyleAnimType_None)
    1026                 : CSS_PROP_BORDER(
    1027                 :     border-right-width-rtl-source,
    1028                 :     border_right_width_rtl_source,
    1029                 :     BorderRightWidthRTLSource,
    1030                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
    1031                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1032                 :         CSS_PROPERTY_DIRECTIONAL_SOURCE,
    1033                 :     0,
    1034                 :     kBoxPropSourceKTable,
    1035                 :     CSS_PROP_NO_OFFSET,
    1036                 :     eStyleAnimType_None)
    1037                 : #endif
    1038               0 : CSS_PROP_TABLEBORDER(
    1039                 :     border-spacing,
    1040                 :     border_spacing,
    1041                 :     BorderSpacing,
    1042                 :     CSS_PROPERTY_PARSE_FUNCTION |
    1043                 :         CSS_PROPERTY_VALUE_NONNEGATIVE,
    1044                 :     0,
    1045                 :     nsnull,
    1046                 :     CSS_PROP_NO_OFFSET,
    1047               0 :     eStyleAnimType_Custom) // XXX bug 3935
    1048                 : CSS_PROP_SHORTHAND(
    1049                 :     -moz-border-start,
    1050                 :     border_start,
    1051                 :     CSS_PROP_DOMPROP_PREFIXED(BorderStart),
    1052                 :     CSS_PROPERTY_PARSE_FUNCTION)
    1053                 : CSS_PROP_SHORTHAND(
    1054                 :     -moz-border-start-color,
    1055                 :     border_start_color,
    1056                 :     CSS_PROP_DOMPROP_PREFIXED(BorderStartColor),
    1057                 :     CSS_PROPERTY_PARSE_FUNCTION)
    1058                 : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
    1059                 : CSS_PROP_BORDER(
    1060                 :     border-start-color-value,
    1061                 :     border_start_color_value,
    1062                 :     BorderStartColorValue,
    1063                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
    1064                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
    1065                 :     VARIANT_HCK, // used only internally
    1066                 :     kBorderColorKTable,
    1067                 :     CSS_PROP_NO_OFFSET,
    1068                 :     eStyleAnimType_None)
    1069                 : #endif
    1070                 : CSS_PROP_SHORTHAND(
    1071                 :     -moz-border-start-style,
    1072                 :     border_start_style,
    1073                 :     CSS_PROP_DOMPROP_PREFIXED(BorderStartStyle),
    1074                 :     CSS_PROPERTY_PARSE_FUNCTION)
    1075                 : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
    1076                 : CSS_PROP_BORDER(
    1077                 :     border-start-style-value,
    1078                 :     border_start_style_value,
    1079                 :     BorderStartStyleValue,
    1080                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
    1081                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
    1082                 :     VARIANT_HK, // used only internally
    1083                 :     kBorderStyleKTable,
    1084                 :     CSS_PROP_NO_OFFSET,
    1085                 :     eStyleAnimType_None)
    1086                 : #endif
    1087                 : CSS_PROP_SHORTHAND(
    1088                 :     -moz-border-start-width,
    1089                 :     border_start_width,
    1090                 :     CSS_PROP_DOMPROP_PREFIXED(BorderStartWidth),
    1091                 :     CSS_PROPERTY_PARSE_FUNCTION)
    1092                 : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
    1093                 : CSS_PROP_BORDER(
    1094                 :     border-start-width-value,
    1095                 :     border_start_width_value,
    1096                 :     BorderStartWidthValue,
    1097                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
    1098                 :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    1099                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
    1100                 :     VARIANT_HKL | VARIANT_CALC,
    1101                 :     kBorderWidthKTable,
    1102                 :     CSS_PROP_NO_OFFSET,
    1103                 :     eStyleAnimType_None)
    1104                 : #endif
    1105                 : CSS_PROP_SHORTHAND(
    1106                 :     border-style,
    1107                 :     border_style,
    1108                 :     BorderStyle,
    1109                 :     CSS_PROPERTY_PARSE_FUNCTION)  // on/off will need reflow
    1110                 : CSS_PROP_SHORTHAND(
    1111                 :     border-top,
    1112                 :     border_top,
    1113                 :     BorderTop,
    1114                 :     CSS_PROPERTY_PARSE_FUNCTION)
    1115               0 : CSS_PROP_BORDER(
    1116                 :     border-top-color,
    1117                 :     border_top_color,
    1118                 :     BorderTopColor,
    1119                 :     CSS_PROPERTY_PARSE_VALUE |
    1120                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1121                 :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
    1122                 :     VARIANT_HCK,
    1123                 :     kBorderColorKTable,
    1124                 :     CSS_PROP_NO_OFFSET,
    1125               0 :     eStyleAnimType_Custom)
    1126                 : CSS_PROP_BORDER(
    1127                 :     -moz-border-top-colors,
    1128                 :     border_top_colors,
    1129                 :     CSS_PROP_DOMPROP_PREFIXED(BorderTopColors),
    1130                 :     CSS_PROPERTY_PARSE_FUNCTION |
    1131                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1132                 :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
    1133                 :     0,
    1134                 :     nsnull,
    1135                 :     CSS_PROP_NO_OFFSET,
    1136                 :     eStyleAnimType_None)
    1137               0 : CSS_PROP_BORDER(
    1138                 :     border-top-style,
    1139                 :     border_top_style,
    1140                 :     BorderTopStyle,
    1141                 :     CSS_PROPERTY_PARSE_VALUE |
    1142                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
    1143                 :     VARIANT_HK,
    1144                 :     kBorderStyleKTable,
    1145                 :     CSS_PROP_NO_OFFSET,
    1146               0 :     eStyleAnimType_None)  // on/off will need reflow
    1147               0 : CSS_PROP_BORDER(
    1148                 :     border-top-width,
    1149                 :     border_top_width,
    1150                 :     BorderTopWidth,
    1151                 :     CSS_PROPERTY_PARSE_VALUE |
    1152                 :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    1153                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
    1154                 :     VARIANT_HKL | VARIANT_CALC,
    1155                 :     kBorderWidthKTable,
    1156                 :     CSS_PROP_NO_OFFSET,
    1157               0 :     eStyleAnimType_Custom)
    1158                 : CSS_PROP_SHORTHAND(
    1159                 :     border-width,
    1160                 :     border_width,
    1161                 :     BorderWidth,
    1162                 :     CSS_PROPERTY_PARSE_FUNCTION)
    1163                 : CSS_PROP_SHORTHAND(
    1164                 :     border-radius,
    1165                 :     border_radius,
    1166                 :     BorderRadius,
    1167                 :     CSS_PROPERTY_PARSE_FUNCTION)
    1168                 : CSS_PROP_BORDER(
    1169                 :     border-top-left-radius,
    1170                 :     border_top_left_radius,
    1171                 :     BorderTopLeftRadius,
    1172                 :     CSS_PROPERTY_PARSE_FUNCTION |
    1173                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1174                 :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    1175                 :         CSS_PROPERTY_STORES_CALC,
    1176                 :     0,
    1177                 :     nsnull,
    1178                 :     offsetof(nsStyleBorder, mBorderRadius),
    1179                 :     eStyleAnimType_Corner_TopLeft)
    1180                 : CSS_PROP_BORDER(
    1181                 :     border-top-right-radius,
    1182                 :     border_top_right_radius,
    1183                 :     BorderTopRightRadius,
    1184                 :     CSS_PROPERTY_PARSE_FUNCTION |
    1185                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1186                 :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    1187                 :         CSS_PROPERTY_STORES_CALC,
    1188                 :     0,
    1189                 :     nsnull,
    1190                 :     offsetof(nsStyleBorder, mBorderRadius),
    1191                 :     eStyleAnimType_Corner_TopRight)
    1192                 : CSS_PROP_BORDER(
    1193                 :     border-bottom-right-radius,
    1194                 :     border_bottom_right_radius,
    1195                 :     BorderBottomRightRadius,
    1196                 :     CSS_PROPERTY_PARSE_FUNCTION |
    1197                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1198                 :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    1199                 :         CSS_PROPERTY_STORES_CALC,
    1200                 :     0,
    1201                 :     nsnull,
    1202                 :     offsetof(nsStyleBorder, mBorderRadius),
    1203                 :     eStyleAnimType_Corner_BottomRight)
    1204                 : CSS_PROP_BORDER(
    1205                 :     border-bottom-left-radius,
    1206                 :     border_bottom_left_radius,
    1207                 :     BorderBottomLeftRadius,
    1208                 :     CSS_PROPERTY_PARSE_FUNCTION |
    1209                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1210                 :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    1211                 :         CSS_PROPERTY_STORES_CALC,
    1212                 :     0,
    1213                 :     nsnull,
    1214                 :     offsetof(nsStyleBorder, mBorderRadius),
    1215                 :     eStyleAnimType_Corner_BottomLeft)
    1216                 : CSS_PROP_POSITION(
    1217                 :     bottom,
    1218                 :     bottom,
    1219                 :     Bottom,
    1220                 :     CSS_PROPERTY_PARSE_VALUE |
    1221                 :         CSS_PROPERTY_STORES_CALC,
    1222                 :     VARIANT_AHLP | VARIANT_CALC,
    1223                 :     nsnull,
    1224                 :     offsetof(nsStylePosition, mOffset),
    1225                 :     eStyleAnimType_Sides_Bottom)
    1226                 : CSS_PROP_BORDER(
    1227                 :     box-shadow,
    1228                 :     box_shadow,
    1229                 :     BoxShadow,
    1230                 :     CSS_PROPERTY_PARSE_FUNCTION |
    1231                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1232                 :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
    1233                 :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
    1234                 :         // NOTE: some components must be nonnegative
    1235                 :     0,
    1236                 :     kBoxShadowTypeKTable,
    1237                 :     offsetof(nsStyleBorder, mBoxShadow),
    1238                 :     eStyleAnimType_Shadow)
    1239                 : CSS_PROP_POSITION(
    1240                 :     -moz-box-sizing,
    1241                 :     box_sizing,
    1242                 :     CSS_PROP_DOMPROP_PREFIXED(BoxSizing),
    1243                 :     CSS_PROPERTY_PARSE_VALUE,
    1244                 :     VARIANT_HK,
    1245                 :     kBoxSizingKTable,
    1246                 :     CSS_PROP_NO_OFFSET,
    1247                 :     eStyleAnimType_None) // XXX bug 3935
    1248               0 : CSS_PROP_TABLEBORDER(
    1249                 :     caption-side,
    1250                 :     caption_side,
    1251                 :     CaptionSide,
    1252                 :     CSS_PROPERTY_PARSE_VALUE,
    1253                 :     VARIANT_HK,
    1254                 :     kCaptionSideKTable,
    1255                 :     CSS_PROP_NO_OFFSET,
    1256               0 :     eStyleAnimType_None)
    1257               0 : CSS_PROP_DISPLAY(
    1258                 :     clear,
    1259                 :     clear,
    1260                 :     Clear,
    1261                 :     CSS_PROPERTY_PARSE_VALUE,
    1262                 :     VARIANT_HK,
    1263                 :     kClearKTable,
    1264                 :     CSS_PROP_NO_OFFSET,
    1265               0 :     eStyleAnimType_None)
    1266                 : CSS_PROP_DISPLAY(
    1267                 :     clip,
    1268                 :     clip,
    1269                 :     Clip,
    1270                 :     CSS_PROPERTY_PARSE_FUNCTION,
    1271                 :     0,
    1272                 :     nsnull,
    1273                 :     offsetof(nsStyleDisplay, mClip),
    1274                 :     eStyleAnimType_Custom)
    1275               0 : CSS_PROP_COLOR(
    1276                 :     color,
    1277                 :     color,
    1278                 :     Color,
    1279                 :     CSS_PROPERTY_PARSE_VALUE |
    1280                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    1281                 :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
    1282                 :     VARIANT_HC,
    1283                 :     nsnull,
    1284                 :     offsetof(nsStyleColor, mColor),
    1285               0 :     eStyleAnimType_Color)
    1286                 : CSS_PROP_SHORTHAND(
    1287                 :     -moz-columns,
    1288                 :     _moz_columns,
    1289                 :     CSS_PROP_DOMPROP_PREFIXED(Columns),
    1290                 :     CSS_PROPERTY_PARSE_FUNCTION)
    1291                 : CSS_PROP_COLUMN(
    1292                 :     -moz-column-count,
    1293                 :     _moz_column_count,
    1294                 :     CSS_PROP_DOMPROP_PREFIXED(ColumnCount),
    1295                 :     CSS_PROPERTY_PARSE_VALUE |
    1296                 :         // Need to reject 0 in addition to negatives.  If we accept 0, we
    1297                 :         // need to change NS_STYLE_COLUMN_COUNT_AUTO to something else.
    1298                 :         CSS_PROPERTY_VALUE_AT_LEAST_ONE,
    1299                 :     VARIANT_AHI,
    1300                 :     nsnull,
    1301                 :     offsetof(nsStyleColumn, mColumnCount),
    1302                 :     eStyleAnimType_Custom)
    1303                 : CSS_PROP_COLUMN(
    1304                 :     -moz-column-fill,
    1305                 :     _moz_column_fill,
    1306                 :     CSS_PROP_DOMPROP_PREFIXED(ColumnFill),
    1307                 :     CSS_PROPERTY_PARSE_VALUE,
    1308                 :     VARIANT_HK,
    1309                 :     kColumnFillKTable,
    1310                 :     CSS_PROP_NO_OFFSET,
    1311                 :     eStyleAnimType_None)
    1312                 : CSS_PROP_COLUMN(
    1313                 :     -moz-column-width,
    1314                 :     _moz_column_width,
    1315                 :     CSS_PROP_DOMPROP_PREFIXED(ColumnWidth),
    1316                 :     CSS_PROPERTY_PARSE_VALUE |
    1317                 :         CSS_PROPERTY_VALUE_NONNEGATIVE,
    1318                 :     VARIANT_AHL | VARIANT_CALC,
    1319                 :     nsnull,
    1320                 :     offsetof(nsStyleColumn, mColumnWidth),
    1321                 :     eStyleAnimType_Coord)
    1322                 : CSS_PROP_COLUMN(
    1323                 :     -moz-column-gap,
    1324                 :     _moz_column_gap,
    1325                 :     CSS_PROP_DOMPROP_PREFIXED(ColumnGap),
    1326                 :     CSS_PROPERTY_PARSE_VALUE |
    1327                 :         CSS_PROPERTY_VALUE_NONNEGATIVE,
    1328                 :     VARIANT_HL | VARIANT_NORMAL | VARIANT_CALC,
    1329                 :     nsnull,
    1330                 :     offsetof(nsStyleColumn, mColumnGap),
    1331                 :     eStyleAnimType_Coord)
    1332                 : CSS_PROP_SHORTHAND(
    1333                 :     -moz-column-rule,
    1334                 :     _moz_column_rule,
    1335                 :     CSS_PROP_DOMPROP_PREFIXED(ColumnRule),
    1336                 :     CSS_PROPERTY_PARSE_FUNCTION)
    1337                 : CSS_PROP_COLUMN(
    1338                 :     -moz-column-rule-color,
    1339                 :     _moz_column_rule_color,
    1340                 :     CSS_PROP_DOMPROP_PREFIXED(ColumnRuleColor),
    1341                 :     CSS_PROPERTY_PARSE_VALUE |
    1342                 :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
    1343                 :     VARIANT_HCK,
    1344                 :     kBorderColorKTable,
    1345                 :     CSS_PROP_NO_OFFSET,
    1346                 :     eStyleAnimType_Custom)
    1347                 : CSS_PROP_COLUMN(
    1348                 :     -moz-column-rule-style,
    1349                 :     _moz_column_rule_style,
    1350                 :     CSS_PROP_DOMPROP_PREFIXED(ColumnRuleStyle),
    1351                 :     CSS_PROPERTY_PARSE_VALUE,
    1352                 :     VARIANT_HK,
    1353                 :     kBorderStyleKTable,
    1354                 :     CSS_PROP_NO_OFFSET,
    1355                 :     eStyleAnimType_None)
    1356                 : CSS_PROP_COLUMN(
    1357                 :     -moz-column-rule-width,
    1358                 :     _moz_column_rule_width,
    1359                 :     CSS_PROP_DOMPROP_PREFIXED(ColumnRuleWidth),
    1360                 :     CSS_PROPERTY_PARSE_VALUE |
    1361                 :         CSS_PROPERTY_VALUE_NONNEGATIVE,
    1362                 :     VARIANT_HKL | VARIANT_CALC,
    1363                 :     kBorderWidthKTable,
    1364                 :     CSS_PROP_NO_OFFSET,
    1365                 :     eStyleAnimType_Custom)
    1366                 : CSS_PROP_CONTENT(
    1367                 :     content,
    1368                 :     content,
    1369                 :     Content,
    1370                 :     CSS_PROPERTY_PARSE_FUNCTION |
    1371                 :         CSS_PROPERTY_START_IMAGE_LOADS,
    1372                 :     0,
    1373                 :     kContentKTable,
    1374                 :     CSS_PROP_NO_OFFSET,
    1375                 :     eStyleAnimType_None)
    1376                 : CSS_PROP_CONTENT(
    1377                 :     counter-increment,
    1378                 :     counter_increment,
    1379                 :     CounterIncrement,
    1380                 :     CSS_PROPERTY_PARSE_FUNCTION,
    1381                 :     0,
    1382                 :     nsnull,
    1383                 :     CSS_PROP_NO_OFFSET,
    1384                 :     eStyleAnimType_None) // XXX bug 137285
    1385                 : CSS_PROP_CONTENT(
    1386                 :     counter-reset,
    1387                 :     counter_reset,
    1388                 :     CounterReset,
    1389                 :     CSS_PROPERTY_PARSE_FUNCTION,
    1390                 :     0,
    1391                 :     nsnull,
    1392                 :     CSS_PROP_NO_OFFSET,
    1393                 :     eStyleAnimType_None) // XXX bug 137285
    1394                 : CSS_PROP_USERINTERFACE(
    1395                 :     cursor,
    1396                 :     cursor,
    1397                 :     Cursor,
    1398                 :     CSS_PROPERTY_PARSE_FUNCTION |
    1399                 :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
    1400                 :         CSS_PROPERTY_START_IMAGE_LOADS |
    1401                 :         CSS_PROPERTY_IMAGE_IS_IN_ARRAY_0,
    1402                 :     0,
    1403                 :     kCursorKTable,
    1404                 :     CSS_PROP_NO_OFFSET,
    1405                 :     eStyleAnimType_None)
    1406                 : CSS_PROP_VISIBILITY(
    1407                 :     direction,
    1408                 :     direction,
    1409                 :     Direction,
    1410                 :     CSS_PROPERTY_PARSE_VALUE,
    1411                 :     VARIANT_HK,
    1412                 :     kDirectionKTable,
    1413                 :     CSS_PROP_NO_OFFSET,
    1414                 :     eStyleAnimType_None)
    1415               0 : CSS_PROP_DISPLAY(
    1416                 :     display,
    1417                 :     display,
    1418                 :     Display,
    1419                 :     CSS_PROPERTY_PARSE_VALUE,
    1420                 :     VARIANT_HK,
    1421                 :     kDisplayKTable,
    1422                 :     offsetof(nsStyleDisplay, mDisplay),
    1423               0 :     eStyleAnimType_EnumU8)
    1424                 : CSS_PROP_TABLEBORDER(
    1425                 :     empty-cells,
    1426                 :     empty_cells,
    1427                 :     EmptyCells,
    1428                 :     CSS_PROPERTY_PARSE_VALUE,
    1429                 :     VARIANT_HK,
    1430                 :     kEmptyCellsKTable,
    1431                 :     CSS_PROP_NO_OFFSET,
    1432                 :     eStyleAnimType_None)
    1433               0 : CSS_PROP_DISPLAY(
    1434                 :     float,
    1435                 :     float,
    1436                 :     CssFloat,
    1437                 :     CSS_PROPERTY_PARSE_VALUE |
    1438                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
    1439                 :     VARIANT_HK,
    1440                 :     kFloatKTable,
    1441                 :     CSS_PROP_NO_OFFSET,
    1442               0 :     eStyleAnimType_None)
    1443                 : CSS_PROP_BORDER(
    1444                 :     -moz-float-edge,
    1445                 :     float_edge,
    1446                 :     CSS_PROP_DOMPROP_PREFIXED(FloatEdge),
    1447                 :     CSS_PROPERTY_PARSE_VALUE,
    1448                 :     VARIANT_HK,
    1449                 :     kFloatEdgeKTable,
    1450                 :     CSS_PROP_NO_OFFSET,
    1451                 :     eStyleAnimType_None) // XXX bug 3935
    1452                 : CSS_PROP_SHORTHAND(
    1453                 :     font,
    1454                 :     font,
    1455                 :     Font,
    1456                 :     CSS_PROPERTY_PARSE_FUNCTION)
    1457               0 : CSS_PROP_FONT(
    1458                 :     font-family,
    1459                 :     font_family,
    1460                 :     FontFamily,
    1461                 :     CSS_PROPERTY_PARSE_VALUE |
    1462                 :         CSS_PROPERTY_VALUE_PARSER_FUNCTION |
    1463                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE,
    1464                 :     0,
    1465                 :     nsnull,
    1466                 :     CSS_PROP_NO_OFFSET,
    1467               0 :     eStyleAnimType_None)
    1468                 : CSS_PROP_FONT(
    1469                 :     -moz-font-feature-settings,
    1470                 :     font_feature_settings,
    1471                 :     CSS_PROP_DOMPROP_PREFIXED(FontFeatureSettings),
    1472                 :     CSS_PROPERTY_PARSE_VALUE |
    1473                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE,
    1474                 :     VARIANT_NORMAL | VARIANT_INHERIT | VARIANT_STRING,
    1475                 :     nsnull,
    1476                 :     CSS_PROP_NO_OFFSET,
    1477                 :     eStyleAnimType_None)
    1478                 : CSS_PROP_FONT(
    1479                 :     -moz-font-language-override,
    1480                 :     font_language_override,
    1481                 :     CSS_PROP_DOMPROP_PREFIXED(FontLanguageOverride),
    1482                 :     CSS_PROPERTY_PARSE_VALUE |
    1483                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE,
    1484                 :     VARIANT_NORMAL | VARIANT_INHERIT | VARIANT_STRING,
    1485                 :     nsnull,
    1486                 :     CSS_PROP_NO_OFFSET,
    1487                 :     eStyleAnimType_None)
    1488               0 : CSS_PROP_FONT(
    1489                 :     font-size,
    1490                 :     font_size,
    1491                 :     FontSize,
    1492                 :     CSS_PROPERTY_PARSE_VALUE |
    1493                 :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    1494                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE,
    1495                 :     VARIANT_HKLP | VARIANT_SYSFONT | VARIANT_CALC,
    1496                 :     kFontSizeKTable,
    1497                 :     // Note that mSize is the correct place for *reading* the computed value,
    1498                 :     // but setting it requires setting mFont.size as well.
    1499                 :     offsetof(nsStyleFont, mSize),
    1500               0 :     eStyleAnimType_nscoord)
    1501                 : CSS_PROP_FONT(
    1502                 :     font-size-adjust,
    1503                 :     font_size_adjust,
    1504                 :     FontSizeAdjust,
    1505                 :     CSS_PROPERTY_PARSE_VALUE |
    1506                 :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    1507                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE,
    1508                 :     VARIANT_HON | VARIANT_SYSFONT,
    1509                 :     nsnull,
    1510                 :     offsetof(nsStyleFont, mFont.sizeAdjust),
    1511                 :     eStyleAnimType_float)
    1512                 : CSS_PROP_FONT(
    1513                 :     font-stretch,
    1514                 :     font_stretch,
    1515                 :     FontStretch,
    1516                 :     CSS_PROPERTY_PARSE_VALUE |
    1517                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE,
    1518                 :     VARIANT_HK | VARIANT_SYSFONT,
    1519                 :     kFontStretchKTable,
    1520                 :     offsetof(nsStyleFont, mFont.stretch),
    1521                 :     eStyleAnimType_Custom)
    1522                 : CSS_PROP_FONT(
    1523                 :     font-style,
    1524                 :     font_style,
    1525                 :     FontStyle,
    1526                 :     CSS_PROPERTY_PARSE_VALUE |
    1527                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE,
    1528                 :     VARIANT_HK | VARIANT_SYSFONT,
    1529                 :     kFontStyleKTable,
    1530                 :     offsetof(nsStyleFont, mFont.style),
    1531                 :     eStyleAnimType_EnumU8)
    1532                 : CSS_PROP_FONT(
    1533                 :     font-variant,
    1534                 :     font_variant,
    1535                 :     FontVariant,
    1536                 :     CSS_PROPERTY_PARSE_VALUE |
    1537                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE,
    1538                 :     VARIANT_HK | VARIANT_SYSFONT,
    1539                 :     kFontVariantKTable,
    1540                 :     offsetof(nsStyleFont, mFont.variant),
    1541                 :     eStyleAnimType_EnumU8)
    1542               0 : CSS_PROP_FONT(
    1543                 :     font-weight,
    1544                 :     font_weight,
    1545                 :     FontWeight,
    1546                 :     CSS_PROPERTY_PARSE_VALUE |
    1547                 :         CSS_PROPERTY_VALUE_PARSER_FUNCTION |
    1548                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE,
    1549                 :         // NOTE: This property has range restrictions on interpolation!
    1550                 :     0,
    1551                 :     kFontWeightKTable,
    1552                 :     offsetof(nsStyleFont, mFont.weight),
    1553               0 :     eStyleAnimType_Custom)
    1554                 : CSS_PROP_UIRESET(
    1555                 :     -moz-force-broken-image-icon,
    1556                 :     force_broken_image_icon,
    1557                 :     CSS_PROP_DOMPROP_PREFIXED(ForceBrokenImageIcon),
    1558                 :     CSS_PROPERTY_PARSE_VALUE |
    1559                 :         CSS_PROPERTY_VALUE_NONNEGATIVE,
    1560                 :     VARIANT_HI,
    1561                 :     nsnull,
    1562                 :     CSS_PROP_NO_OFFSET,
    1563                 :     eStyleAnimType_None) // bug 58646
    1564               0 : CSS_PROP_POSITION(
    1565                 :     height,
    1566                 :     height,
    1567                 :     Height,
    1568                 :     CSS_PROPERTY_PARSE_VALUE |
    1569                 :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    1570                 :         CSS_PROPERTY_STORES_CALC,
    1571                 :     VARIANT_AHLP | VARIANT_CALC,
    1572                 :     nsnull,
    1573                 :     offsetof(nsStylePosition, mHeight),
    1574               0 :     eStyleAnimType_Coord)
    1575                 : CSS_PROP_LIST(
    1576                 :     -moz-image-region,
    1577                 :     image_region,
    1578                 :     CSS_PROP_DOMPROP_PREFIXED(ImageRegion),
    1579                 :     CSS_PROPERTY_PARSE_FUNCTION,
    1580                 :     0,
    1581                 :     nsnull,
    1582                 :     offsetof(nsStyleList, mImageRegion),
    1583                 :     eStyleAnimType_Custom)
    1584                 : CSS_PROP_UIRESET(
    1585                 :     ime-mode,
    1586                 :     ime_mode,
    1587                 :     ImeMode,
    1588                 :     CSS_PROPERTY_PARSE_VALUE,
    1589                 :     VARIANT_HK,
    1590                 :     kIMEModeKTable,
    1591                 :     CSS_PROP_NO_OFFSET,
    1592                 :     eStyleAnimType_None)
    1593                 : CSS_PROP_POSITION(
    1594                 :     left,
    1595                 :     left,
    1596                 :     Left,
    1597                 :     CSS_PROPERTY_PARSE_VALUE |
    1598                 :         CSS_PROPERTY_STORES_CALC,
    1599                 :     VARIANT_AHLP | VARIANT_CALC,
    1600                 :     nsnull,
    1601                 :     offsetof(nsStylePosition, mOffset),
    1602                 :     eStyleAnimType_Sides_Left)
    1603                 : CSS_PROP_TEXT(
    1604                 :     letter-spacing,
    1605                 :     letter_spacing,
    1606                 :     LetterSpacing,
    1607                 :     CSS_PROPERTY_PARSE_VALUE |
    1608                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE,
    1609                 :     VARIANT_HL | VARIANT_NORMAL | VARIANT_CALC,
    1610                 :     nsnull,
    1611                 :     offsetof(nsStyleText, mLetterSpacing),
    1612                 :     eStyleAnimType_Coord)
    1613                 : CSS_PROP_TEXT(
    1614                 :     line-height,
    1615                 :     line_height,
    1616                 :     LineHeight,
    1617                 :     CSS_PROPERTY_PARSE_VALUE |
    1618                 :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    1619                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE,
    1620                 :     VARIANT_HLPN | VARIANT_KEYWORD | VARIANT_NORMAL | VARIANT_SYSFONT,
    1621                 :     kLineHeightKTable,
    1622                 :     offsetof(nsStyleText, mLineHeight),
    1623                 :     eStyleAnimType_Coord)
    1624                 : CSS_PROP_SHORTHAND(
    1625                 :     list-style,
    1626                 :     list_style,
    1627                 :     ListStyle,
    1628                 :     CSS_PROPERTY_PARSE_FUNCTION)
    1629                 : CSS_PROP_LIST(
    1630                 :     list-style-image,
    1631                 :     list_style_image,
    1632                 :     ListStyleImage,
    1633                 :     CSS_PROPERTY_PARSE_VALUE |
    1634                 :         CSS_PROPERTY_START_IMAGE_LOADS,
    1635                 :     VARIANT_HUO,
    1636                 :     nsnull,
    1637                 :     CSS_PROP_NO_OFFSET,
    1638                 :     eStyleAnimType_None)
    1639                 : CSS_PROP_LIST(
    1640                 :     list-style-position,
    1641                 :     list_style_position,
    1642                 :     ListStylePosition,
    1643                 :     CSS_PROPERTY_PARSE_VALUE,
    1644                 :     VARIANT_HK,
    1645                 :     kListStylePositionKTable,
    1646                 :     CSS_PROP_NO_OFFSET,
    1647                 :     eStyleAnimType_None)
    1648               0 : CSS_PROP_LIST(
    1649                 :     list-style-type,
    1650                 :     list_style_type,
    1651                 :     ListStyleType,
    1652                 :     CSS_PROPERTY_PARSE_VALUE,
    1653                 :     VARIANT_HK,
    1654                 :     kListStyleKTable,
    1655                 :     CSS_PROP_NO_OFFSET,
    1656               0 :     eStyleAnimType_None)
    1657                 : CSS_PROP_SHORTHAND(
    1658                 :     margin,
    1659                 :     margin,
    1660                 :     Margin,
    1661                 :     CSS_PROPERTY_PARSE_FUNCTION)
    1662               0 : CSS_PROP_MARGIN(
    1663                 :     margin-bottom,
    1664                 :     margin_bottom,
    1665                 :     MarginBottom,
    1666                 :     CSS_PROPERTY_PARSE_VALUE |
    1667                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1668                 :         CSS_PROPERTY_STORES_CALC,
    1669                 :     VARIANT_AHLP | VARIANT_CALC,
    1670                 :     nsnull,
    1671                 :     offsetof(nsStyleMargin, mMargin),
    1672               0 :     eStyleAnimType_Sides_Bottom)
    1673                 : CSS_PROP_SHORTHAND(
    1674                 :     -moz-margin-end,
    1675                 :     margin_end,
    1676                 :     CSS_PROP_DOMPROP_PREFIXED(MarginEnd),
    1677                 :     CSS_PROPERTY_PARSE_FUNCTION)
    1678                 : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
    1679                 : CSS_PROP_MARGIN(
    1680                 :     margin-end-value,
    1681                 :     margin_end_value,
    1682                 :     MarginEndValue,
    1683                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
    1684                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1685                 :         CSS_PROPERTY_STORES_CALC,
    1686                 :     VARIANT_AHLP | VARIANT_CALC, // for internal use
    1687                 :     nsnull,
    1688                 :     CSS_PROP_NO_OFFSET,
    1689                 :     eStyleAnimType_None)
    1690                 : #endif
    1691                 : CSS_PROP_SHORTHAND(
    1692                 :     margin-left,
    1693                 :     margin_left,
    1694                 :     MarginLeft,
    1695                 :     CSS_PROPERTY_PARSE_FUNCTION)
    1696                 : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
    1697               0 : CSS_PROP_MARGIN(
    1698                 :     margin-left-value,
    1699                 :     margin_left_value,
    1700                 :     MarginLeftValue,
    1701                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
    1702                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1703                 :         CSS_PROPERTY_REPORT_OTHER_NAME |
    1704                 :         CSS_PROPERTY_STORES_CALC,
    1705                 :     VARIANT_AHLP | VARIANT_CALC, // for internal use
    1706                 :     nsnull,
    1707                 :     offsetof(nsStyleMargin, mMargin),
    1708               0 :     eStyleAnimType_Sides_Left)
    1709                 : CSS_PROP_MARGIN(
    1710                 :     margin-left-ltr-source,
    1711                 :     margin_left_ltr_source,
    1712                 :     MarginLeftLTRSource,
    1713                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
    1714                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1715                 :         CSS_PROPERTY_DIRECTIONAL_SOURCE,
    1716                 :     0,
    1717                 :     kBoxPropSourceKTable,
    1718                 :     CSS_PROP_NO_OFFSET,
    1719                 :     eStyleAnimType_None)
    1720                 : CSS_PROP_MARGIN(
    1721                 :     margin-left-rtl-source,
    1722                 :     margin_left_rtl_source,
    1723                 :     MarginLeftRTLSource,
    1724                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
    1725                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1726                 :         CSS_PROPERTY_DIRECTIONAL_SOURCE,
    1727                 :     0,
    1728                 :     kBoxPropSourceKTable,
    1729                 :     CSS_PROP_NO_OFFSET,
    1730                 :     eStyleAnimType_None)
    1731                 : #endif
    1732                 : CSS_PROP_SHORTHAND(
    1733                 :     margin-right,
    1734                 :     margin_right,
    1735                 :     MarginRight,
    1736                 :     CSS_PROPERTY_PARSE_FUNCTION)
    1737                 : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
    1738               0 : CSS_PROP_MARGIN(
    1739                 :     margin-right-value,
    1740                 :     margin_right_value,
    1741                 :     MarginRightValue,
    1742                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
    1743                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1744                 :         CSS_PROPERTY_REPORT_OTHER_NAME |
    1745                 :         CSS_PROPERTY_STORES_CALC,
    1746                 :     VARIANT_AHLP | VARIANT_CALC, // for internal use
    1747                 :     nsnull,
    1748                 :     offsetof(nsStyleMargin, mMargin),
    1749               0 :     eStyleAnimType_Sides_Right)
    1750                 : CSS_PROP_MARGIN(
    1751                 :     margin-right-ltr-source,
    1752                 :     margin_right_ltr_source,
    1753                 :     MarginRightLTRSource,
    1754                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
    1755                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1756                 :         CSS_PROPERTY_DIRECTIONAL_SOURCE,
    1757                 :     0,
    1758                 :     kBoxPropSourceKTable,
    1759                 :     CSS_PROP_NO_OFFSET,
    1760                 :     eStyleAnimType_None)
    1761                 : CSS_PROP_MARGIN(
    1762                 :     margin-right-rtl-source,
    1763                 :     margin_right_rtl_source,
    1764                 :     MarginRightRTLSource,
    1765                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
    1766                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1767                 :         CSS_PROPERTY_DIRECTIONAL_SOURCE,
    1768                 :     0,
    1769                 :     kBoxPropSourceKTable,
    1770                 :     CSS_PROP_NO_OFFSET,
    1771                 :     eStyleAnimType_None)
    1772                 : #endif
    1773                 : CSS_PROP_SHORTHAND(
    1774                 :     -moz-margin-start,
    1775                 :     margin_start,
    1776                 :     CSS_PROP_DOMPROP_PREFIXED(MarginStart),
    1777                 :     CSS_PROPERTY_PARSE_FUNCTION)
    1778                 : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
    1779                 : CSS_PROP_MARGIN(
    1780                 :     margin-start-value,
    1781                 :     margin_start_value,
    1782                 :     MarginStartValue,
    1783                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
    1784                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1785                 :         CSS_PROPERTY_STORES_CALC,
    1786                 :     VARIANT_AHLP | VARIANT_CALC, // for internal use
    1787                 :     nsnull,
    1788                 :     CSS_PROP_NO_OFFSET,
    1789                 :     eStyleAnimType_None)
    1790                 : #endif
    1791               0 : CSS_PROP_MARGIN(
    1792                 :     margin-top,
    1793                 :     margin_top,
    1794                 :     MarginTop,
    1795                 :     CSS_PROPERTY_PARSE_VALUE |
    1796                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1797                 :         CSS_PROPERTY_STORES_CALC,
    1798                 :     VARIANT_AHLP | VARIANT_CALC,
    1799                 :     nsnull,
    1800                 :     offsetof(nsStyleMargin, mMargin),
    1801               0 :     eStyleAnimType_Sides_Top)
    1802                 : CSS_PROP_CONTENT(
    1803                 :     marker-offset,
    1804                 :     marker_offset,
    1805                 :     MarkerOffset,
    1806                 :     CSS_PROPERTY_PARSE_VALUE,
    1807                 :     VARIANT_AHL | VARIANT_CALC,
    1808                 :     nsnull,
    1809                 :     offsetof(nsStyleContent, mMarkerOffset),
    1810                 :     eStyleAnimType_Coord)
    1811                 : CSS_PROP_BACKENDONLY(
    1812                 :     marks,
    1813                 :     marks,
    1814                 :     Marks,
    1815                 :     CSS_PROPERTY_PARSE_VALUE |
    1816                 :         CSS_PROPERTY_VALUE_PARSER_FUNCTION,
    1817                 :     0,
    1818                 :     kPageMarksKTable)
    1819                 : CSS_PROP_POSITION(
    1820                 :     max-height,
    1821                 :     max_height,
    1822                 :     MaxHeight,
    1823                 :     CSS_PROPERTY_PARSE_VALUE |
    1824                 :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    1825                 :         CSS_PROPERTY_STORES_CALC,
    1826                 :     VARIANT_HLPO | VARIANT_CALC,
    1827                 :     nsnull,
    1828                 :     offsetof(nsStylePosition, mMaxHeight),
    1829                 :     eStyleAnimType_Coord)
    1830                 : CSS_PROP_POSITION(
    1831                 :     max-width,
    1832                 :     max_width,
    1833                 :     MaxWidth,
    1834                 :     CSS_PROPERTY_PARSE_VALUE |
    1835                 :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    1836                 :         CSS_PROPERTY_STORES_CALC,
    1837                 :     VARIANT_HKLPO | VARIANT_CALC,
    1838                 :     kWidthKTable,
    1839                 :     offsetof(nsStylePosition, mMaxWidth),
    1840                 :     eStyleAnimType_Coord)
    1841                 : CSS_PROP_POSITION(
    1842                 :     min-height,
    1843                 :     min_height,
    1844                 :     MinHeight,
    1845                 :     CSS_PROPERTY_PARSE_VALUE |
    1846                 :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    1847                 :         CSS_PROPERTY_STORES_CALC,
    1848                 :     VARIANT_HLP | VARIANT_CALC,
    1849                 :     nsnull,
    1850                 :     offsetof(nsStylePosition, mMinHeight),
    1851                 :     eStyleAnimType_Coord)
    1852                 : CSS_PROP_POSITION(
    1853                 :     min-width,
    1854                 :     min_width,
    1855                 :     MinWidth,
    1856                 :     CSS_PROPERTY_PARSE_VALUE |
    1857                 :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    1858                 :         CSS_PROPERTY_STORES_CALC,
    1859                 :     VARIANT_HKLP | VARIANT_CALC,
    1860                 :     kWidthKTable,
    1861                 :     offsetof(nsStylePosition, mMinWidth),
    1862                 :     eStyleAnimType_Coord)
    1863                 : CSS_PROP_DISPLAY(
    1864                 :     opacity,
    1865                 :     opacity,
    1866                 :     Opacity,
    1867                 :     CSS_PROPERTY_PARSE_VALUE,
    1868                 :     VARIANT_HN,
    1869                 :     nsnull,
    1870                 :     offsetof(nsStyleDisplay, mOpacity),
    1871                 :     eStyleAnimType_float) // XXX bug 3935
    1872                 : CSS_PROP_DISPLAY(
    1873                 :     -moz-orient,
    1874                 :     orient,
    1875                 :     CSS_PROP_DOMPROP_PREFIXED(Orient),
    1876                 :     CSS_PROPERTY_PARSE_VALUE,
    1877                 :     VARIANT_HK,
    1878                 :     kOrientKTable,
    1879                 :     CSS_PROP_NO_OFFSET,
    1880                 :     eStyleAnimType_None)
    1881                 : CSS_PROP_BACKENDONLY(
    1882                 :     orphans,
    1883                 :     orphans,
    1884                 :     Orphans,
    1885                 :     CSS_PROPERTY_PARSE_VALUE |
    1886                 :         CSS_PROPERTY_VALUE_AT_LEAST_ONE,
    1887                 :     VARIANT_HI,
    1888                 :     nsnull)
    1889                 : CSS_PROP_SHORTHAND(
    1890                 :     outline,
    1891                 :     outline,
    1892                 :     Outline,
    1893                 :     CSS_PROPERTY_PARSE_FUNCTION)
    1894                 : CSS_PROP_OUTLINE(
    1895                 :     outline-color,
    1896                 :     outline_color,
    1897                 :     OutlineColor,
    1898                 :     CSS_PROPERTY_PARSE_VALUE |
    1899                 :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
    1900                 :     VARIANT_HCK,
    1901                 :     kOutlineColorKTable,
    1902                 :     CSS_PROP_NO_OFFSET,
    1903                 :     eStyleAnimType_Custom)
    1904                 : CSS_PROP_OUTLINE(
    1905                 :     outline-style,
    1906                 :     outline_style,
    1907                 :     OutlineStyle,
    1908                 :     CSS_PROPERTY_PARSE_VALUE,
    1909                 :     VARIANT_HK,
    1910                 :     kOutlineStyleKTable,
    1911                 :     CSS_PROP_NO_OFFSET,
    1912                 :     eStyleAnimType_None)
    1913                 : CSS_PROP_OUTLINE(
    1914                 :     outline-width,
    1915                 :     outline_width,
    1916                 :     OutlineWidth,
    1917                 :     CSS_PROPERTY_PARSE_VALUE |
    1918                 :         CSS_PROPERTY_VALUE_NONNEGATIVE,
    1919                 :     VARIANT_HKL | VARIANT_CALC,
    1920                 :     kBorderWidthKTable,
    1921                 :     offsetof(nsStyleOutline, mOutlineWidth),
    1922                 :     eStyleAnimType_Coord)
    1923                 : CSS_PROP_OUTLINE(
    1924                 :     outline-offset,
    1925                 :     outline_offset,
    1926                 :     OutlineOffset,
    1927                 :     CSS_PROPERTY_PARSE_VALUE,
    1928                 :     VARIANT_HL | VARIANT_CALC,
    1929                 :     nsnull,
    1930                 :     offsetof(nsStyleOutline, mOutlineOffset),
    1931                 :     eStyleAnimType_nscoord)
    1932                 : CSS_PROP_SHORTHAND(
    1933                 :     overflow,
    1934                 :     overflow,
    1935                 :     Overflow,
    1936                 :     CSS_PROPERTY_PARSE_FUNCTION)
    1937               0 : CSS_PROP_DISPLAY(
    1938                 :     overflow-x,
    1939                 :     overflow_x,
    1940                 :     OverflowX,
    1941                 :     CSS_PROPERTY_PARSE_VALUE,
    1942                 :     VARIANT_HK,
    1943                 :     kOverflowSubKTable,
    1944                 :     CSS_PROP_NO_OFFSET,
    1945               0 :     eStyleAnimType_None)
    1946               0 : CSS_PROP_DISPLAY(
    1947                 :     overflow-y,
    1948                 :     overflow_y,
    1949                 :     OverflowY,
    1950                 :     CSS_PROPERTY_PARSE_VALUE,
    1951                 :     VARIANT_HK,
    1952                 :     kOverflowSubKTable,
    1953                 :     CSS_PROP_NO_OFFSET,
    1954               0 :     eStyleAnimType_None)
    1955                 : CSS_PROP_SHORTHAND(
    1956                 :     padding,
    1957                 :     padding,
    1958                 :     Padding,
    1959                 :     CSS_PROPERTY_PARSE_FUNCTION)
    1960               0 : CSS_PROP_PADDING(
    1961                 :     padding-bottom,
    1962                 :     padding_bottom,
    1963                 :     PaddingBottom,
    1964                 :     CSS_PROPERTY_PARSE_VALUE |
    1965                 :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    1966                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1967                 :         CSS_PROPERTY_STORES_CALC,
    1968                 :     VARIANT_HLP | VARIANT_CALC,
    1969                 :     nsnull,
    1970                 :     offsetof(nsStylePadding, mPadding),
    1971               0 :     eStyleAnimType_Sides_Bottom)
    1972                 : CSS_PROP_SHORTHAND(
    1973                 :     -moz-padding-end,
    1974                 :     padding_end,
    1975                 :     CSS_PROP_DOMPROP_PREFIXED(PaddingEnd),
    1976                 :     CSS_PROPERTY_PARSE_FUNCTION)
    1977                 : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
    1978                 : CSS_PROP_PADDING(
    1979                 :     padding-end-value,
    1980                 :     padding_end_value,
    1981                 :     PaddingEndValue,
    1982                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
    1983                 :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    1984                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    1985                 :         CSS_PROPERTY_STORES_CALC,
    1986                 :     VARIANT_HLP | VARIANT_CALC, // for internal use
    1987                 :     nsnull,
    1988                 :     CSS_PROP_NO_OFFSET,
    1989                 :     eStyleAnimType_None)
    1990                 : #endif
    1991                 : CSS_PROP_SHORTHAND(
    1992                 :     padding-left,
    1993                 :     padding_left,
    1994                 :     PaddingLeft,
    1995                 :     CSS_PROPERTY_PARSE_FUNCTION)
    1996                 : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
    1997               0 : CSS_PROP_PADDING(
    1998                 :     padding-left-value,
    1999                 :     padding_left_value,
    2000                 :     PaddingLeftValue,
    2001                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
    2002                 :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    2003                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    2004                 :         CSS_PROPERTY_REPORT_OTHER_NAME |
    2005                 :         CSS_PROPERTY_STORES_CALC,
    2006                 :     VARIANT_HLP | VARIANT_CALC, // for internal use
    2007                 :     nsnull,
    2008                 :     offsetof(nsStylePadding, mPadding),
    2009               0 :     eStyleAnimType_Sides_Left)
    2010                 : CSS_PROP_PADDING(
    2011                 :     padding-left-ltr-source,
    2012                 :     padding_left_ltr_source,
    2013                 :     PaddingLeftLTRSource,
    2014                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
    2015                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    2016                 :         CSS_PROPERTY_DIRECTIONAL_SOURCE,
    2017                 :     0,
    2018                 :     kBoxPropSourceKTable,
    2019                 :     CSS_PROP_NO_OFFSET,
    2020                 :     eStyleAnimType_None)
    2021                 : CSS_PROP_PADDING(
    2022                 :     padding-left-rtl-source,
    2023                 :     padding_left_rtl_source,
    2024                 :     PaddingLeftRTLSource,
    2025                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
    2026                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    2027                 :         CSS_PROPERTY_DIRECTIONAL_SOURCE,
    2028                 :     0,
    2029                 :     kBoxPropSourceKTable,
    2030                 :     CSS_PROP_NO_OFFSET,
    2031                 :     eStyleAnimType_None)
    2032                 : #endif
    2033                 : CSS_PROP_SHORTHAND(
    2034                 :     padding-right,
    2035                 :     padding_right,
    2036                 :     PaddingRight,
    2037                 :     CSS_PROPERTY_PARSE_FUNCTION)
    2038                 : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
    2039               0 : CSS_PROP_PADDING(
    2040                 :     padding-right-value,
    2041                 :     padding_right_value,
    2042                 :     PaddingRightValue,
    2043                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
    2044                 :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    2045                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    2046                 :         CSS_PROPERTY_REPORT_OTHER_NAME |
    2047                 :         CSS_PROPERTY_STORES_CALC,
    2048                 :     VARIANT_HLP | VARIANT_CALC, // for internal use
    2049                 :     nsnull,
    2050                 :     offsetof(nsStylePadding, mPadding),
    2051               0 :     eStyleAnimType_Sides_Right)
    2052                 : CSS_PROP_PADDING(
    2053                 :     padding-right-ltr-source,
    2054                 :     padding_right_ltr_source,
    2055                 :     PaddingRightLTRSource,
    2056                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
    2057                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    2058                 :         CSS_PROPERTY_DIRECTIONAL_SOURCE,
    2059                 :     0,
    2060                 :     kBoxPropSourceKTable,
    2061                 :     CSS_PROP_NO_OFFSET,
    2062                 :     eStyleAnimType_None)
    2063                 : CSS_PROP_PADDING(
    2064                 :     padding-right-rtl-source,
    2065                 :     padding_right_rtl_source,
    2066                 :     PaddingRightRTLSource,
    2067                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
    2068                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    2069                 :         CSS_PROPERTY_DIRECTIONAL_SOURCE,
    2070                 :     0,
    2071                 :     kBoxPropSourceKTable,
    2072                 :     CSS_PROP_NO_OFFSET,
    2073                 :     eStyleAnimType_None)
    2074                 : #endif
    2075                 : CSS_PROP_SHORTHAND(
    2076                 :     -moz-padding-start,
    2077                 :     padding_start,
    2078                 :     CSS_PROP_DOMPROP_PREFIXED(PaddingStart),
    2079                 :     CSS_PROPERTY_PARSE_FUNCTION)
    2080                 : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
    2081                 : CSS_PROP_PADDING(
    2082                 :     padding-start-value,
    2083                 :     padding_start_value,
    2084                 :     PaddingStartValue,
    2085                 :     CSS_PROPERTY_PARSE_INACCESSIBLE |
    2086                 :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    2087                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    2088                 :         CSS_PROPERTY_STORES_CALC,
    2089                 :     VARIANT_HLP | VARIANT_CALC, // for internal use
    2090                 :     nsnull,
    2091                 :     CSS_PROP_NO_OFFSET,
    2092                 :     eStyleAnimType_None)
    2093                 : #endif
    2094               0 : CSS_PROP_PADDING(
    2095                 :     padding-top,
    2096                 :     padding_top,
    2097                 :     PaddingTop,
    2098                 :     CSS_PROPERTY_PARSE_VALUE |
    2099                 :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    2100                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
    2101                 :         CSS_PROPERTY_STORES_CALC,
    2102                 :     VARIANT_HLP | VARIANT_CALC,
    2103                 :     nsnull,
    2104                 :     offsetof(nsStylePadding, mPadding),
    2105               0 :     eStyleAnimType_Sides_Top)
    2106                 : CSS_PROP_BACKENDONLY(
    2107                 :     page,
    2108                 :     page,
    2109                 :     Page,
    2110                 :     CSS_PROPERTY_PARSE_VALUE,
    2111                 :     VARIANT_AUTO | VARIANT_IDENTIFIER,
    2112                 :     nsnull)
    2113                 : CSS_PROP_DISPLAY(
    2114                 :     page-break-after,
    2115                 :     page_break_after,
    2116                 :     PageBreakAfter,
    2117                 :     CSS_PROPERTY_PARSE_VALUE,
    2118                 :     VARIANT_HK,
    2119                 :     kPageBreakKTable,
    2120                 :     CSS_PROP_NO_OFFSET,
    2121                 :     eStyleAnimType_None) // temp fix for bug 24000
    2122                 : CSS_PROP_DISPLAY(
    2123                 :     page-break-before,
    2124                 :     page_break_before,
    2125                 :     PageBreakBefore,
    2126                 :     CSS_PROPERTY_PARSE_VALUE,
    2127                 :     VARIANT_HK,
    2128                 :     kPageBreakKTable,
    2129                 :     CSS_PROP_NO_OFFSET,
    2130                 :     eStyleAnimType_None) // temp fix for bug 24000
    2131                 : CSS_PROP_BACKENDONLY(
    2132                 :     page-break-inside,
    2133                 :     page_break_inside,
    2134                 :     PageBreakInside,
    2135                 :     CSS_PROPERTY_PARSE_VALUE,
    2136                 :     VARIANT_HK,
    2137                 :     kPageBreakInsideKTable)
    2138                 : CSS_PROP_VISIBILITY(
    2139                 :     pointer-events,
    2140                 :     pointer_events,
    2141                 :     PointerEvents,
    2142                 :     CSS_PROPERTY_PARSE_VALUE,
    2143                 :     VARIANT_HK,
    2144                 :     kPointerEventsKTable,
    2145                 :     offsetof(nsStyleVisibility, mPointerEvents),
    2146                 :     eStyleAnimType_EnumU8)
    2147                 : CSS_PROP_DISPLAY(
    2148                 :     position,
    2149                 :     position,
    2150                 :     Position,
    2151                 :     CSS_PROPERTY_PARSE_VALUE,
    2152                 :     VARIANT_HK,
    2153                 :     kPositionKTable,
    2154                 :     CSS_PROP_NO_OFFSET,
    2155                 :     eStyleAnimType_None)
    2156                 : CSS_PROP_QUOTES(
    2157                 :     quotes,
    2158                 :     quotes,
    2159                 :     Quotes,
    2160                 :     CSS_PROPERTY_PARSE_FUNCTION,
    2161                 :     0,
    2162                 :     nsnull,
    2163                 :     CSS_PROP_NO_OFFSET,
    2164                 :     eStyleAnimType_None)
    2165                 : CSS_PROP_DISPLAY(
    2166                 :     resize,
    2167                 :     resize,
    2168                 :     Resize,
    2169                 :     CSS_PROPERTY_PARSE_VALUE,
    2170                 :     VARIANT_HK,
    2171                 :     kResizeKTable,
    2172                 :     CSS_PROP_NO_OFFSET,
    2173                 :     eStyleAnimType_None)
    2174                 : CSS_PROP_POSITION(
    2175                 :     right,
    2176                 :     right,
    2177                 :     Right,
    2178                 :     CSS_PROPERTY_PARSE_VALUE |
    2179                 :         CSS_PROPERTY_STORES_CALC,
    2180                 :     VARIANT_AHLP | VARIANT_CALC,
    2181                 :     nsnull,
    2182                 :     offsetof(nsStylePosition, mOffset),
    2183                 :     eStyleAnimType_Sides_Right)
    2184                 : CSS_PROP_BACKENDONLY(
    2185                 :     size,
    2186                 :     size,
    2187                 :     Size,
    2188                 :     CSS_PROPERTY_PARSE_FUNCTION,
    2189                 :     0,
    2190                 :     kPageSizeKTable)
    2191               0 : CSS_PROP_TABLE(
    2192                 :     table-layout,
    2193                 :     table_layout,
    2194                 :     TableLayout,
    2195                 :     CSS_PROPERTY_PARSE_VALUE,
    2196                 :     VARIANT_HK,
    2197                 :     kTableLayoutKTable,
    2198                 :     CSS_PROP_NO_OFFSET,
    2199               0 :     eStyleAnimType_None)
    2200               0 : CSS_PROP_TEXT(
    2201                 :     text-align,
    2202                 :     text_align,
    2203                 :     TextAlign,
    2204                 :     CSS_PROPERTY_PARSE_VALUE,
    2205                 :     // When we support aligning on a string, we can parse text-align
    2206                 :     // as a string....
    2207                 :     VARIANT_HK /* | VARIANT_STRING */,
    2208                 :     kTextAlignKTable,
    2209                 :     CSS_PROP_NO_OFFSET,
    2210               0 :     eStyleAnimType_None)
    2211                 : CSS_PROP_TEXT(
    2212                 :     -moz-text-align-last,
    2213                 :     text_align_last,
    2214                 :     CSS_PROP_DOMPROP_PREFIXED(TextAlignLast),
    2215                 :     CSS_PROPERTY_PARSE_VALUE,
    2216                 :     VARIANT_HK,
    2217                 :     kTextAlignLastKTable,
    2218                 :     offsetof(nsStyleText, mTextAlignLast),
    2219                 :     eStyleAnimType_None)
    2220                 : CSS_PROP_SHORTHAND(
    2221                 :     text-decoration,
    2222                 :     text_decoration,
    2223                 :     TextDecoration,
    2224                 :     CSS_PROPERTY_PARSE_FUNCTION)
    2225                 : CSS_PROP_TEXTRESET(
    2226                 :     -moz-text-blink,
    2227                 :     text_blink,
    2228                 :     CSS_PROP_DOMPROP_PREFIXED(TextBlink),
    2229                 :     CSS_PROPERTY_PARSE_VALUE |
    2230                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE,
    2231                 :     VARIANT_HK,
    2232                 :     kTextBlinkKTable,
    2233                 :     offsetof(nsStyleTextReset, mTextBlink),
    2234                 :     eStyleAnimType_EnumU8)
    2235                 : CSS_PROP_TEXTRESET(
    2236                 :     -moz-text-decoration-color,
    2237                 :     text_decoration_color,
    2238                 :     CSS_PROP_DOMPROP_PREFIXED(TextDecorationColor),
    2239                 :     CSS_PROPERTY_PARSE_VALUE |
    2240                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    2241                 :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
    2242                 :     VARIANT_HCK,
    2243                 :     kBorderColorKTable,
    2244                 :     CSS_PROP_NO_OFFSET,
    2245                 :     eStyleAnimType_Custom)
    2246               0 : CSS_PROP_TEXTRESET(
    2247                 :     -moz-text-decoration-line,
    2248                 :     text_decoration_line,
    2249                 :     CSS_PROP_DOMPROP_PREFIXED(TextDecorationLine),
    2250                 :     CSS_PROPERTY_PARSE_VALUE |
    2251                 :         CSS_PROPERTY_VALUE_PARSER_FUNCTION |
    2252                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE,
    2253                 :     0,
    2254                 :     kTextDecorationLineKTable,
    2255                 :     offsetof(nsStyleTextReset, mTextDecorationLine),
    2256               0 :     eStyleAnimType_EnumU8)
    2257                 : CSS_PROP_TEXTRESET(
    2258                 :     -moz-text-decoration-style,
    2259                 :     text_decoration_style,
    2260                 :     CSS_PROP_DOMPROP_PREFIXED(TextDecorationStyle),
    2261                 :     CSS_PROPERTY_PARSE_VALUE |
    2262                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE,
    2263                 :     VARIANT_HK,
    2264                 :     kTextDecorationStyleKTable,
    2265                 :     CSS_PROP_NO_OFFSET,
    2266                 :     eStyleAnimType_Custom)
    2267                 : CSS_PROP_TEXT(
    2268                 :     text-indent,
    2269                 :     text_indent,
    2270                 :     TextIndent,
    2271                 :     CSS_PROPERTY_PARSE_VALUE |
    2272                 :         CSS_PROPERTY_STORES_CALC,
    2273                 :     VARIANT_HLP | VARIANT_CALC,
    2274                 :     nsnull,
    2275                 :     offsetof(nsStyleText, mTextIndent),
    2276                 :     eStyleAnimType_Coord)
    2277                 : CSS_PROP_TEXTRESET(
    2278                 :     text-overflow,
    2279                 :     text_overflow,
    2280                 :     TextOverflow,
    2281                 :     CSS_PROPERTY_PARSE_VALUE |
    2282                 :         CSS_PROPERTY_VALUE_PARSER_FUNCTION,
    2283                 :     0,
    2284                 :     kTextOverflowKTable,
    2285                 :     offsetof(nsStyleTextReset, mTextOverflow),
    2286                 :     eStyleAnimType_None)
    2287                 : CSS_PROP_TEXT(
    2288                 :     text-shadow,
    2289                 :     text_shadow,
    2290                 :     TextShadow,
    2291                 :     CSS_PROPERTY_PARSE_FUNCTION |
    2292                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    2293                 :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
    2294                 :         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
    2295                 :         // NOTE: some components must be nonnegative
    2296                 :     0,
    2297                 :     nsnull,
    2298                 :     offsetof(nsStyleText, mTextShadow),
    2299                 :     eStyleAnimType_Shadow)
    2300                 : CSS_PROP_TEXT(
    2301                 :     -moz-text-size-adjust,
    2302                 :     text_size_adjust,
    2303                 :     CSS_PROP_DOMPROP_PREFIXED(TextSizeAdjust),
    2304                 :     CSS_PROPERTY_PARSE_VALUE,
    2305                 :     VARIANT_AUTO | VARIANT_NONE | VARIANT_INHERIT,
    2306                 :     nsnull,
    2307                 :     CSS_PROP_NO_OFFSET,
    2308                 :     eStyleAnimType_None)
    2309                 : CSS_PROP_TEXT(
    2310                 :     text-transform,
    2311                 :     text_transform,
    2312                 :     TextTransform,
    2313                 :     CSS_PROPERTY_PARSE_VALUE |
    2314                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE,
    2315                 :     VARIANT_HK,
    2316                 :     kTextTransformKTable,
    2317                 :     CSS_PROP_NO_OFFSET,
    2318                 :     eStyleAnimType_None)
    2319                 : CSS_PROP_DISPLAY(
    2320                 :     -moz-transform,
    2321                 :     _moz_transform,
    2322                 :     CSS_PROP_DOMPROP_PREFIXED(Transform),
    2323                 :     CSS_PROPERTY_PARSE_FUNCTION,
    2324                 :     0,
    2325                 :     kDisplayKTable,
    2326                 :     offsetof(nsStyleDisplay, mSpecifiedTransform),
    2327                 :     eStyleAnimType_Custom)
    2328                 : CSS_PROP_DISPLAY(
    2329                 :     -moz-transform-origin,
    2330                 :     _moz_transform_origin,
    2331                 :     CSS_PROP_DOMPROP_PREFIXED(TransformOrigin),
    2332                 :     CSS_PROPERTY_PARSE_FUNCTION |
    2333                 :         CSS_PROPERTY_STORES_CALC,
    2334                 :     0,
    2335                 :     kBackgroundPositionKTable,
    2336                 :     CSS_PROP_NO_OFFSET,
    2337                 :     eStyleAnimType_Custom)
    2338                 : CSS_PROP_DISPLAY(
    2339                 :     -moz-perspective-origin,
    2340                 :     perspective_origin,
    2341                 :     CSS_PROP_DOMPROP_PREFIXED(PerspectiveOrigin),
    2342                 :     CSS_PROPERTY_PARSE_FUNCTION |
    2343                 :         CSS_PROPERTY_STORES_CALC,
    2344                 :     0,
    2345                 :     kBackgroundPositionKTable,
    2346                 :     CSS_PROP_NO_OFFSET,
    2347                 :     eStyleAnimType_Custom)
    2348                 : CSS_PROP_DISPLAY(
    2349                 :     -moz-perspective,
    2350                 :     perspective,
    2351                 :     CSS_PROP_DOMPROP_PREFIXED(Perspective),
    2352                 :     CSS_PROPERTY_PARSE_VALUE,
    2353                 :     VARIANT_NONE | VARIANT_INHERIT | VARIANT_LENGTH | VARIANT_POSITIVE_LENGTH,
    2354                 :     nsnull,
    2355                 :     offsetof(nsStyleDisplay, mChildPerspective),
    2356                 :     eStyleAnimType_Coord)
    2357                 : CSS_PROP_DISPLAY(
    2358                 :     -moz-transform-style,
    2359                 :     transform_style,
    2360                 :     CSS_PROP_DOMPROP_PREFIXED(TransformStyle),
    2361                 :     CSS_PROPERTY_PARSE_VALUE,
    2362                 :     VARIANT_HK,
    2363                 :     kTransformStyleKTable,
    2364                 :     CSS_PROP_NO_OFFSET,
    2365                 :     eStyleAnimType_None)
    2366                 : CSS_PROP_DISPLAY(
    2367                 :     -moz-backface-visibility,
    2368                 :     backface_visibility,
    2369                 :     CSS_PROP_DOMPROP_PREFIXED(BackfaceVisibility),
    2370                 :     CSS_PROPERTY_PARSE_VALUE,
    2371                 :     VARIANT_HK,
    2372                 :     kBackfaceVisibilityKTable,
    2373                 :     offsetof(nsStyleDisplay, mBackfaceVisibility),
    2374                 :     eStyleAnimType_None)
    2375                 : CSS_PROP_POSITION(
    2376                 :     top,
    2377                 :     top,
    2378                 :     Top,
    2379                 :     CSS_PROPERTY_PARSE_VALUE |
    2380                 :         CSS_PROPERTY_STORES_CALC,
    2381                 :     VARIANT_AHLP | VARIANT_CALC,
    2382                 :     nsnull,
    2383                 :     offsetof(nsStylePosition, mOffset),
    2384                 :     eStyleAnimType_Sides_Top)
    2385                 : CSS_PROP_SHORTHAND(
    2386                 :     -moz-transition,
    2387                 :     transition,
    2388                 :     CSS_PROP_DOMPROP_PREFIXED(Transition),
    2389                 :     CSS_PROPERTY_PARSE_FUNCTION)
    2390                 : CSS_PROP_DISPLAY(
    2391                 :     -moz-transition-delay,
    2392                 :     transition_delay,
    2393                 :     CSS_PROP_DOMPROP_PREFIXED(TransitionDelay),
    2394                 :     CSS_PROPERTY_PARSE_VALUE_LIST |
    2395                 :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
    2396                 :     VARIANT_TIME, // used by list parsing
    2397                 :     nsnull,
    2398                 :     CSS_PROP_NO_OFFSET,
    2399                 :     eStyleAnimType_None)
    2400                 : CSS_PROP_DISPLAY(
    2401                 :     -moz-transition-duration,
    2402                 :     transition_duration,
    2403                 :     CSS_PROP_DOMPROP_PREFIXED(TransitionDuration),
    2404                 :     CSS_PROPERTY_PARSE_VALUE_LIST |
    2405                 :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
    2406                 :     VARIANT_TIME, // used by list parsing
    2407                 :     nsnull,
    2408                 :     CSS_PROP_NO_OFFSET,
    2409                 :     eStyleAnimType_None)
    2410                 : CSS_PROP_DISPLAY(
    2411                 :     -moz-transition-property,
    2412                 :     transition_property,
    2413                 :     CSS_PROP_DOMPROP_PREFIXED(TransitionProperty),
    2414                 :     CSS_PROPERTY_PARSE_FUNCTION |
    2415                 :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
    2416                 :     VARIANT_IDENTIFIER | VARIANT_NONE | VARIANT_ALL, // used only in shorthand
    2417                 :     nsnull,
    2418                 :     CSS_PROP_NO_OFFSET,
    2419                 :     eStyleAnimType_None)
    2420                 : CSS_PROP_DISPLAY(
    2421                 :     -moz-transition-timing-function,
    2422                 :     transition_timing_function,
    2423                 :     CSS_PROP_DOMPROP_PREFIXED(TransitionTimingFunction),
    2424                 :     CSS_PROPERTY_PARSE_VALUE_LIST |
    2425                 :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
    2426                 :     VARIANT_KEYWORD | VARIANT_TIMING_FUNCTION, // used by list parsing
    2427                 :     kTransitionTimingFunctionKTable,
    2428                 :     CSS_PROP_NO_OFFSET,
    2429                 :     eStyleAnimType_None)
    2430                 : CSS_PROP_TEXTRESET(
    2431                 :     unicode-bidi,
    2432                 :     unicode_bidi,
    2433                 :     UnicodeBidi,
    2434                 :     CSS_PROPERTY_PARSE_VALUE |
    2435                 :         CSS_PROPERTY_VALUE_PARSER_FUNCTION,
    2436                 :     0,
    2437                 :     kUnicodeBidiKTable,
    2438                 :     CSS_PROP_NO_OFFSET,
    2439                 :     eStyleAnimType_None)
    2440                 : CSS_PROP_USERINTERFACE(
    2441                 :     -moz-user-focus,
    2442                 :     user_focus,
    2443                 :     CSS_PROP_DOMPROP_PREFIXED(UserFocus),
    2444                 :     CSS_PROPERTY_PARSE_VALUE,
    2445                 :     VARIANT_HK,
    2446                 :     kUserFocusKTable,
    2447                 :     CSS_PROP_NO_OFFSET,
    2448                 :     eStyleAnimType_None) // XXX bug 3935
    2449                 : CSS_PROP_USERINTERFACE(
    2450                 :     -moz-user-input,
    2451                 :     user_input,
    2452                 :     CSS_PROP_DOMPROP_PREFIXED(UserInput),
    2453                 :     CSS_PROPERTY_PARSE_VALUE,
    2454                 :     VARIANT_HK,
    2455                 :     kUserInputKTable,
    2456                 :     CSS_PROP_NO_OFFSET,
    2457                 :     eStyleAnimType_None) // XXX ??? // XXX bug 3935
    2458               0 : CSS_PROP_USERINTERFACE(
    2459                 :     -moz-user-modify,
    2460                 :     user_modify,
    2461                 :     CSS_PROP_DOMPROP_PREFIXED(UserModify),
    2462                 :     CSS_PROPERTY_PARSE_VALUE,
    2463                 :     VARIANT_HK,
    2464                 :     kUserModifyKTable,
    2465                 :     CSS_PROP_NO_OFFSET,
    2466               0 :     eStyleAnimType_None) // XXX bug 3935
    2467                 : CSS_PROP_UIRESET(
    2468                 :     -moz-user-select,
    2469                 :     user_select,
    2470                 :     CSS_PROP_DOMPROP_PREFIXED(UserSelect),
    2471                 :     CSS_PROPERTY_PARSE_VALUE,
    2472                 :     VARIANT_HK,
    2473                 :     kUserSelectKTable,
    2474                 :     CSS_PROP_NO_OFFSET,
    2475                 :     eStyleAnimType_None) // XXX bug 3935
    2476                 : // NOTE: vertical-align is only supposed to apply to :first-letter when
    2477                 : // 'float' is 'none', but we don't worry about that since it has no
    2478                 : // effect otherwise
    2479               0 : CSS_PROP_TEXTRESET(
    2480                 :     vertical-align,
    2481                 :     vertical_align,
    2482                 :     VerticalAlign,
    2483                 :     CSS_PROPERTY_PARSE_VALUE |
    2484                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
    2485                 :         CSS_PROPERTY_STORES_CALC,
    2486                 :     VARIANT_HKLP | VARIANT_CALC,
    2487                 :     kVerticalAlignKTable,
    2488                 :     offsetof(nsStyleTextReset, mVerticalAlign),
    2489               0 :     eStyleAnimType_Coord)
    2490                 : CSS_PROP_VISIBILITY(
    2491                 :     visibility,
    2492                 :     visibility,
    2493                 :     Visibility,
    2494                 :     CSS_PROPERTY_PARSE_VALUE,
    2495                 :     VARIANT_HK,
    2496                 :     kVisibilityKTable,
    2497                 :     offsetof(nsStyleVisibility, mVisible),
    2498                 :     eStyleAnimType_EnumU8)  // reflow for collapse
    2499               0 : CSS_PROP_TEXT(
    2500                 :     white-space,
    2501                 :     white_space,
    2502                 :     WhiteSpace,
    2503                 :     CSS_PROPERTY_PARSE_VALUE,
    2504                 :     VARIANT_HK,
    2505                 :     kWhitespaceKTable,
    2506                 :     CSS_PROP_NO_OFFSET,
    2507               0 :     eStyleAnimType_None)
    2508                 : CSS_PROP_BACKENDONLY(
    2509                 :     widows,
    2510                 :     widows,
    2511                 :     Widows,
    2512                 :     CSS_PROPERTY_PARSE_VALUE |
    2513                 :         CSS_PROPERTY_VALUE_AT_LEAST_ONE,
    2514                 :     VARIANT_HI,
    2515                 :     nsnull)
    2516               0 : CSS_PROP_POSITION(
    2517                 :     width,
    2518                 :     width,
    2519                 :     Width,
    2520                 :     CSS_PROPERTY_PARSE_VALUE |
    2521                 :         CSS_PROPERTY_VALUE_NONNEGATIVE |
    2522                 :         CSS_PROPERTY_STORES_CALC,
    2523                 :     VARIANT_AHKLP | VARIANT_CALC,
    2524                 :     kWidthKTable,
    2525                 :     offsetof(nsStylePosition, mWidth),
    2526               0 :     eStyleAnimType_Coord)
    2527                 : CSS_PROP_UIRESET(
    2528                 :     -moz-window-shadow,
    2529                 :     _moz_window_shadow,
    2530                 :     CSS_PROP_DOMPROP_PREFIXED(WindowShadow),
    2531                 :     CSS_PROPERTY_PARSE_VALUE,
    2532                 :     VARIANT_HK,
    2533                 :     kWindowShadowKTable,
    2534                 :     CSS_PROP_NO_OFFSET,
    2535                 :     eStyleAnimType_None)
    2536                 : CSS_PROP_TEXT(
    2537                 :     word-spacing,
    2538                 :     word_spacing,
    2539                 :     WordSpacing,
    2540                 :     CSS_PROPERTY_PARSE_VALUE |
    2541                 :         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE,
    2542                 :     VARIANT_HL | VARIANT_NORMAL | VARIANT_CALC,
    2543                 :     nsnull,
    2544                 :     offsetof(nsStyleText, mWordSpacing),
    2545                 :     eStyleAnimType_nscoord)
    2546                 : CSS_PROP_TEXT(
    2547                 :     word-wrap,
    2548                 :     word_wrap,
    2549                 :     WordWrap,
    2550                 :     CSS_PROPERTY_PARSE_VALUE,
    2551                 :     VARIANT_HK,
    2552                 :     kWordwrapKTable,
    2553                 :     CSS_PROP_NO_OFFSET,
    2554                 :     eStyleAnimType_None)
    2555                 : CSS_PROP_TEXT(
    2556                 :     -moz-hyphens,
    2557                 :     hyphens,
    2558                 :     CSS_PROP_DOMPROP_PREFIXED(Hyphens),
    2559                 :     CSS_PROPERTY_PARSE_VALUE,
    2560                 :     VARIANT_HK,
    2561                 :     kHyphensKTable,
    2562                 :     CSS_PROP_NO_OFFSET,
    2563                 :     eStyleAnimType_None)
    2564                 : CSS_PROP_POSITION(
    2565                 :     z-index,
    2566                 :     z_index,
    2567                 :     ZIndex,
    2568                 :     CSS_PROPERTY_PARSE_VALUE,
    2569                 :     VARIANT_AHI,
    2570                 :     nsnull,
    2571                 :     offsetof(nsStylePosition, mZIndex),
    2572                 :     eStyleAnimType_Coord)
    2573                 : CSS_PROP_XUL(
    2574                 :     -moz-box-align,
    2575                 :     box_align,
    2576                 :     CSS_PROP_DOMPROP_PREFIXED(BoxAlign),
    2577                 :     CSS_PROPERTY_PARSE_VALUE,
    2578                 :     VARIANT_HK,
    2579                 :     kBoxAlignKTable,
    2580                 :     CSS_PROP_NO_OFFSET,
    2581                 :     eStyleAnimType_None) // XXX bug 3935
    2582                 : CSS_PROP_XUL(
    2583                 :     -moz-box-direction,
    2584                 :     box_direction,
    2585                 :     CSS_PROP_DOMPROP_PREFIXED(BoxDirection),
    2586                 :     CSS_PROPERTY_PARSE_VALUE,
    2587                 :     VARIANT_HK,
    2588                 :     kBoxDirectionKTable,
    2589                 :     CSS_PROP_NO_OFFSET,
    2590                 :     eStyleAnimType_None) // XXX bug 3935
    2591                 : CSS_PROP_XUL(
    2592                 :     -moz-box-flex,
    2593                 :     box_flex,
    2594                 :     CSS_PROP_DOMPROP_PREFIXED(BoxFlex),
    2595                 :     CSS_PROPERTY_PARSE_VALUE |
    2596                 :         CSS_PROPERTY_VALUE_NONNEGATIVE,
    2597                 :     VARIANT_HN,
    2598                 :     nsnull,
    2599                 :     offsetof(nsStyleXUL, mBoxFlex),
    2600                 :     eStyleAnimType_float) // XXX bug 3935
    2601                 : CSS_PROP_XUL(
    2602                 :     -moz-box-orient,
    2603                 :     box_orient,
    2604                 :     CSS_PROP_DOMPROP_PREFIXED(BoxOrient),
    2605                 :     CSS_PROPERTY_PARSE_VALUE,
    2606                 :     VARIANT_HK,
    2607                 :     kBoxOrientKTable,
    2608                 :     CSS_PROP_NO_OFFSET,
    2609                 :     eStyleAnimType_None) // XXX bug 3935
    2610                 : CSS_PROP_XUL(
    2611                 :     -moz-box-pack,
    2612                 :     box_pack,
    2613                 :     CSS_PROP_DOMPROP_PREFIXED(BoxPack),
    2614                 :     CSS_PROPERTY_PARSE_VALUE,
    2615                 :     VARIANT_HK,
    2616                 :     kBoxPackKTable,
    2617                 :     CSS_PROP_NO_OFFSET,
    2618                 :     eStyleAnimType_None) // XXX bug 3935
    2619                 : CSS_PROP_XUL(
    2620                 :     -moz-box-ordinal-group,
    2621                 :     box_ordinal_group,
    2622                 :     CSS_PROP_DOMPROP_PREFIXED(BoxOrdinalGroup),
    2623                 :     CSS_PROPERTY_PARSE_VALUE |
    2624                 :         CSS_PROPERTY_VALUE_NONNEGATIVE,
    2625                 :     VARIANT_HI,
    2626                 :     nsnull,
    2627                 :     CSS_PROP_NO_OFFSET,
    2628                 :     eStyleAnimType_None)
    2629                 : CSS_PROP_XUL(
    2630                 :     -moz-stack-sizing,
    2631                 :     stack_sizing,
    2632                 :     CSS_PROP_DOMPROP_PREFIXED(StackSizing),
    2633                 :     CSS_PROPERTY_PARSE_VALUE,
    2634                 :     VARIANT_HK,
    2635                 :     kStackSizingKTable,
    2636                 :     CSS_PROP_NO_OFFSET,
    2637                 :     eStyleAnimType_None)
    2638                 : 
    2639                 : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
    2640               0 : CSS_PROP_FONT(
    2641                 :     -moz-script-level,
    2642                 :     script_level,
    2643                 :     ScriptLevel,
    2644                 :     // REVIEW: no range restriction?
    2645                 :     // NOTE: CSSParserImpl::ParseSingleValueProperty only accepts this
    2646                 :     // property when mUnsafeRulesEnabled is set.
    2647                 :     CSS_PROPERTY_PARSE_VALUE,
    2648                 :     // script-level can take Integer or Number values, but only Integer
    2649                 :     // ("relative") values can be specified in a style sheet.
    2650                 :     VARIANT_HI,
    2651                 :     nsnull,
    2652                 :     CSS_PROP_NO_OFFSET,
    2653               0 :     eStyleAnimType_None)
    2654               0 : CSS_PROP_FONT(
    2655                 :     -moz-script-size-multiplier,
    2656                 :     script_size_multiplier,
    2657                 :     ScriptSizeMultiplier,
    2658                 :     // REVIEW: no range restriction?
    2659                 :     CSS_PROPERTY_PARSE_INACCESSIBLE,
    2660                 :     0,
    2661                 :     nsnull,
    2662                 :     CSS_PROP_NO_OFFSET,
    2663               0 :     eStyleAnimType_None)
    2664               0 : CSS_PROP_FONT(
    2665                 :     -moz-script-min-size,
    2666                 :     script_min_size,
    2667                 :     ScriptMinSize,
    2668                 :     // REVIEW: no range restriction?
    2669                 :     CSS_PROPERTY_PARSE_INACCESSIBLE,
    2670                 :     0,
    2671                 :     nsnull,
    2672                 :     CSS_PROP_NO_OFFSET,
    2673               0 :     eStyleAnimType_None)
    2674                 : #endif
    2675                 : 
    2676                 : CSS_PROP_SVGRESET(
    2677                 :     clip-path,
    2678                 :     clip_path,
    2679                 :     ClipPath,
    2680                 :     CSS_PROPERTY_PARSE_VALUE,
    2681                 :     VARIANT_HUO,
    2682                 :     nsnull,
    2683                 :     CSS_PROP_NO_OFFSET,
    2684                 :     eStyleAnimType_None)
    2685                 : CSS_PROP_SVG(
    2686                 :     clip-rule,
    2687                 :     clip_rule,
    2688                 :     ClipRule,
    2689                 :     CSS_PROPERTY_PARSE_VALUE,
    2690                 :     VARIANT_HK,
    2691                 :     kFillRuleKTable,
    2692                 :     offsetof(nsStyleSVG, mClipRule),
    2693                 :     eStyleAnimType_EnumU8)
    2694                 : CSS_PROP_SVG(
    2695                 :     color-interpolation,
    2696                 :     color_interpolation,
    2697                 :     ColorInterpolation,
    2698                 :     CSS_PROPERTY_PARSE_VALUE,
    2699                 :     VARIANT_HK,
    2700                 :     kColorInterpolationKTable,
    2701                 :     offsetof(nsStyleSVG, mColorInterpolation),
    2702                 :     eStyleAnimType_EnumU8)
    2703                 : CSS_PROP_SVG(
    2704                 :     color-interpolation-filters,
    2705                 :     color_interpolation_filters,
    2706                 :     ColorInterpolationFilters,
    2707                 :     CSS_PROPERTY_PARSE_VALUE,
    2708                 :     VARIANT_HK,
    2709                 :     kColorInterpolationKTable,
    2710                 :     offsetof(nsStyleSVG, mColorInterpolationFilters),
    2711                 :     eStyleAnimType_EnumU8)
    2712                 : CSS_PROP_SVGRESET(
    2713                 :     dominant-baseline,
    2714                 :     dominant_baseline,
    2715                 :     DominantBaseline,
    2716                 :     CSS_PROPERTY_PARSE_VALUE,
    2717                 :     VARIANT_HK,
    2718                 :     kDominantBaselineKTable,
    2719                 :     offsetof(nsStyleSVGReset, mDominantBaseline),
    2720                 :     eStyleAnimType_EnumU8)
    2721                 : CSS_PROP_SVG(
    2722                 :     fill,
    2723                 :     fill,
    2724                 :     Fill,
    2725                 :     CSS_PROPERTY_PARSE_FUNCTION,
    2726                 :     0,
    2727                 :     nsnull,
    2728                 :     offsetof(nsStyleSVG, mFill),
    2729                 :     eStyleAnimType_PaintServer)
    2730                 : CSS_PROP_SVG(
    2731                 :     fill-opacity,
    2732                 :     fill_opacity,
    2733                 :     FillOpacity,
    2734                 :     CSS_PROPERTY_PARSE_VALUE,
    2735                 :     VARIANT_HN,
    2736                 :     nsnull,
    2737                 :     offsetof(nsStyleSVG, mFillOpacity),
    2738                 :     eStyleAnimType_float)
    2739                 : CSS_PROP_SVG(
    2740                 :     fill-rule,
    2741                 :     fill_rule,
    2742                 :     FillRule,
    2743                 :     CSS_PROPERTY_PARSE_VALUE,
    2744                 :     VARIANT_HK,
    2745                 :     kFillRuleKTable,
    2746                 :     offsetof(nsStyleSVG, mFillRule),
    2747                 :     eStyleAnimType_EnumU8)
    2748                 : CSS_PROP_SVGRESET(
    2749                 :     filter,
    2750                 :     filter,
    2751                 :     Filter,
    2752                 :     CSS_PROPERTY_PARSE_VALUE,
    2753                 :     VARIANT_HUO,
    2754                 :     nsnull,
    2755                 :     CSS_PROP_NO_OFFSET,
    2756                 :     eStyleAnimType_None)
    2757                 : CSS_PROP_SVGRESET(
    2758                 :     flood-color,
    2759                 :     flood_color,
    2760                 :     FloodColor,
    2761                 :     CSS_PROPERTY_PARSE_VALUE,
    2762                 :     VARIANT_HC,
    2763                 :     nsnull,
    2764                 :     offsetof(nsStyleSVGReset, mFloodColor),
    2765                 :     eStyleAnimType_Color)
    2766                 : CSS_PROP_SVGRESET(
    2767                 :     flood-opacity,
    2768                 :     flood_opacity,
    2769                 :     FloodOpacity,
    2770                 :     CSS_PROPERTY_PARSE_VALUE,
    2771                 :     VARIANT_HN,
    2772                 :     nsnull,
    2773                 :     offsetof(nsStyleSVGReset, mFloodOpacity),
    2774                 :     eStyleAnimType_float)
    2775                 : CSS_PROP_SVG(
    2776                 :     image-rendering,
    2777                 :     image_rendering,
    2778                 :     ImageRendering,
    2779                 :     CSS_PROPERTY_PARSE_VALUE,
    2780                 :     VARIANT_HK,
    2781                 :     kImageRenderingKTable,
    2782                 :     offsetof(nsStyleSVG, mImageRendering),
    2783                 :     eStyleAnimType_EnumU8)
    2784                 : CSS_PROP_SVGRESET(
    2785                 :     lighting-color,
    2786                 :     lighting_color,
    2787                 :     LightingColor,
    2788                 :     CSS_PROPERTY_PARSE_VALUE,
    2789                 :     VARIANT_HC,
    2790                 :     nsnull,
    2791                 :     offsetof(nsStyleSVGReset, mLightingColor),
    2792                 :     eStyleAnimType_Color)
    2793                 : CSS_PROP_SHORTHAND(
    2794                 :     marker,
    2795                 :     marker,
    2796                 :     Marker,
    2797                 :     CSS_PROPERTY_PARSE_FUNCTION)
    2798                 : CSS_PROP_SVG(
    2799                 :     marker-end,
    2800                 :     marker_end,
    2801                 :     MarkerEnd,
    2802                 :     CSS_PROPERTY_PARSE_VALUE,
    2803                 :     VARIANT_HUO,
    2804                 :     nsnull,
    2805                 :     CSS_PROP_NO_OFFSET,
    2806                 :     eStyleAnimType_None)
    2807                 : CSS_PROP_SVG(
    2808                 :     marker-mid,
    2809                 :     marker_mid,
    2810                 :     MarkerMid,
    2811                 :     CSS_PROPERTY_PARSE_VALUE,
    2812                 :     VARIANT_HUO,
    2813                 :     nsnull,
    2814                 :     CSS_PROP_NO_OFFSET,
    2815                 :     eStyleAnimType_None)
    2816                 : CSS_PROP_SVG(
    2817                 :     marker-start,
    2818                 :     marker_start,
    2819                 :     MarkerStart,
    2820                 :     CSS_PROPERTY_PARSE_VALUE,
    2821                 :     VARIANT_HUO,
    2822                 :     nsnull,
    2823                 :     CSS_PROP_NO_OFFSET,
    2824                 :     eStyleAnimType_None)
    2825                 : CSS_PROP_SVGRESET(
    2826                 :     mask,
    2827                 :     mask,
    2828                 :     Mask,
    2829                 :     CSS_PROPERTY_PARSE_VALUE,
    2830                 :     VARIANT_HUO,
    2831                 :     nsnull,
    2832                 :     CSS_PROP_NO_OFFSET,
    2833                 :     eStyleAnimType_None)
    2834                 : CSS_PROP_SVG(
    2835                 :     shape-rendering,
    2836                 :     shape_rendering,
    2837                 :     ShapeRendering,
    2838                 :     CSS_PROPERTY_PARSE_VALUE,
    2839                 :     VARIANT_HK,
    2840                 :     kShapeRenderingKTable,
    2841                 :     offsetof(nsStyleSVG, mShapeRendering),
    2842                 :     eStyleAnimType_EnumU8)
    2843                 : CSS_PROP_SVGRESET(
    2844                 :     stop-color,
    2845                 :     stop_color,
    2846                 :     StopColor,
    2847                 :     CSS_PROPERTY_PARSE_VALUE,
    2848                 :     VARIANT_HC,
    2849                 :     nsnull,
    2850                 :     offsetof(nsStyleSVGReset, mStopColor),
    2851                 :     eStyleAnimType_Color)
    2852                 : CSS_PROP_SVGRESET(
    2853                 :     stop-opacity,
    2854                 :     stop_opacity,
    2855                 :     StopOpacity,
    2856                 :     CSS_PROPERTY_PARSE_VALUE,
    2857                 :     VARIANT_HN,
    2858                 :     nsnull,
    2859                 :     offsetof(nsStyleSVGReset, mStopOpacity),
    2860                 :     eStyleAnimType_float)
    2861                 : CSS_PROP_SVG(
    2862                 :     stroke,
    2863                 :     stroke,
    2864                 :     Stroke,
    2865                 :     CSS_PROPERTY_PARSE_FUNCTION,
    2866                 :     0,
    2867                 :     nsnull,
    2868                 :     offsetof(nsStyleSVG, mStroke),
    2869                 :     eStyleAnimType_PaintServer)
    2870                 : CSS_PROP_SVG(
    2871                 :     stroke-dasharray,
    2872                 :     stroke_dasharray,
    2873                 :     StrokeDasharray,
    2874                 :     CSS_PROPERTY_PARSE_FUNCTION |
    2875                 :         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
    2876                 :         // NOTE: Internal values have range restrictions.
    2877                 :     0,
    2878                 :     nsnull,
    2879                 :     CSS_PROP_NO_OFFSET, /* property stored in 2 separate members */
    2880                 :     eStyleAnimType_Custom)
    2881                 : CSS_PROP_SVG(
    2882                 :     stroke-dashoffset,
    2883                 :     stroke_dashoffset,
    2884                 :     StrokeDashoffset,
    2885                 :     CSS_PROPERTY_PARSE_VALUE,
    2886                 :     VARIANT_HLPN,
    2887                 :     nsnull,
    2888                 :     offsetof(nsStyleSVG, mStrokeDashoffset),
    2889                 :     eStyleAnimType_Coord)
    2890                 : CSS_PROP_SVG(
    2891                 :     stroke-linecap,
    2892                 :     stroke_linecap,
    2893                 :     StrokeLinecap,
    2894                 :     CSS_PROPERTY_PARSE_VALUE,
    2895                 :     VARIANT_HK,
    2896                 :     kStrokeLinecapKTable,
    2897                 :     offsetof(nsStyleSVG, mStrokeLinecap),
    2898                 :     eStyleAnimType_EnumU8)
    2899                 : CSS_PROP_SVG(
    2900                 :     stroke-linejoin,
    2901                 :     stroke_linejoin,
    2902                 :     StrokeLinejoin,
    2903                 :     CSS_PROPERTY_PARSE_VALUE,
    2904                 :     VARIANT_HK,
    2905                 :     kStrokeLinejoinKTable,
    2906                 :     offsetof(nsStyleSVG, mStrokeLinejoin),
    2907                 :     eStyleAnimType_EnumU8)
    2908                 : CSS_PROP_SVG(
    2909                 :     stroke-miterlimit,
    2910                 :     stroke_miterlimit,
    2911                 :     StrokeMiterlimit,
    2912                 :     CSS_PROPERTY_PARSE_VALUE |
    2913                 :         CSS_PROPERTY_VALUE_AT_LEAST_ONE,
    2914                 :     VARIANT_HN,
    2915                 :     nsnull,
    2916                 :     offsetof(nsStyleSVG, mStrokeMiterlimit),
    2917                 :     eStyleAnimType_float)
    2918                 : CSS_PROP_SVG(
    2919                 :     stroke-opacity,
    2920                 :     stroke_opacity,
    2921                 :     StrokeOpacity,
    2922                 :     CSS_PROPERTY_PARSE_VALUE,
    2923                 :     VARIANT_HN,
    2924                 :     nsnull,
    2925                 :     offsetof(nsStyleSVG, mStrokeOpacity),
    2926                 :     eStyleAnimType_float)
    2927                 : CSS_PROP_SVG(
    2928                 :     stroke-width,
    2929                 :     stroke_width,
    2930                 :     StrokeWidth,
    2931                 :     CSS_PROPERTY_PARSE_VALUE |
    2932                 :         CSS_PROPERTY_VALUE_NONNEGATIVE,
    2933                 :     VARIANT_HLPN,
    2934                 :     nsnull,
    2935                 :     offsetof(nsStyleSVG, mStrokeWidth),
    2936                 :     eStyleAnimType_Coord)
    2937                 : CSS_PROP_SVG(
    2938                 :     text-anchor,
    2939                 :     text_anchor,
    2940                 :     TextAnchor,
    2941                 :     CSS_PROPERTY_PARSE_VALUE,
    2942                 :     VARIANT_HK,
    2943                 :     kTextAnchorKTable,
    2944                 :     offsetof(nsStyleSVG, mTextAnchor),
    2945                 :     eStyleAnimType_EnumU8)
    2946                 : CSS_PROP_SVG(
    2947                 :     text-rendering,
    2948                 :     text_rendering,
    2949                 :     TextRendering,
    2950                 :     CSS_PROPERTY_PARSE_VALUE,
    2951                 :     VARIANT_HK,
    2952                 :     kTextRenderingKTable,
    2953                 :     offsetof(nsStyleSVG, mTextRendering),
    2954                 :     eStyleAnimType_EnumU8)
    2955                 : 
    2956                 : #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
    2957                 : // We have a few properties that are in style structs but are not stored
    2958                 : // in style sheets (or nsCSS* structs).  Some fields in these property
    2959                 : // definitions are bogus (e.g., they work for nsRuleData* offsets but
    2960                 : // not nsCSS* offsets).  Callers that care about these bogus fields can
    2961                 : // define CSS_PROP_STUB_NOT_CSS to define a replacement for these
    2962                 : // entries.
    2963                 : #ifdef CSS_PROP_STUB_NOT_CSS
    2964                 : CSS_PROP_STUB_NOT_CSS
    2965                 : CSS_PROP_STUB_NOT_CSS
    2966                 : CSS_PROP_STUB_NOT_CSS
    2967                 : #else
    2968               0 : CSS_PROP_FONT(
    2969                 :     -x-lang,
    2970                 :     _x_lang,
    2971                 :     Lang,
    2972                 :     CSS_PROPERTY_PARSE_INACCESSIBLE,
    2973                 :     0,
    2974                 :     nsnull,
    2975                 :     CSS_PROP_NO_OFFSET,
    2976               0 :     eStyleAnimType_None)
    2977               0 : CSS_PROP_TABLE(
    2978                 :     -x-cols,
    2979                 :     _x_cols,
    2980                 :     Cols,
    2981                 :     CSS_PROPERTY_PARSE_INACCESSIBLE,
    2982                 :     0,
    2983                 :     nsnull,
    2984                 :     CSS_PROP_NO_OFFSET,
    2985               0 :     eStyleAnimType_None)
    2986               0 : CSS_PROP_TABLE(
    2987                 :     -x-span,
    2988                 :     _x_span,
    2989                 :     Span,
    2990                 :     CSS_PROPERTY_PARSE_INACCESSIBLE,
    2991                 :     0,
    2992                 :     nsnull,
    2993                 :     CSS_PROP_NO_OFFSET,
    2994               0 :     eStyleAnimType_None)
    2995                 : #endif /* !defined(CSS_PROP_STUB_NOT_CSS) */
    2996                 : #endif /* !defined(CSS_PROP_EXCLUDE_INTERNAL) */
    2997                 : 
    2998                 : #ifdef USED_CSS_PROP
    2999                 : 
    3000                 : #undef USED_CSS_PROP
    3001                 : #undef CSS_PROP_FONT
    3002                 : #undef CSS_PROP_COLOR
    3003                 : #undef CSS_PROP_BACKGROUND
    3004                 : #undef CSS_PROP_LIST
    3005                 : #undef CSS_PROP_POSITION
    3006                 : #undef CSS_PROP_TEXT
    3007                 : #undef CSS_PROP_TEXTRESET
    3008                 : #undef CSS_PROP_DISPLAY
    3009                 : #undef CSS_PROP_VISIBILITY
    3010                 : #undef CSS_PROP_CONTENT
    3011                 : #undef CSS_PROP_QUOTES
    3012                 : #undef CSS_PROP_USERINTERFACE
    3013                 : #undef CSS_PROP_UIRESET
    3014                 : #undef CSS_PROP_TABLE
    3015                 : #undef CSS_PROP_TABLEBORDER
    3016                 : #undef CSS_PROP_MARGIN
    3017                 : #undef CSS_PROP_PADDING
    3018                 : #undef CSS_PROP_BORDER
    3019                 : #undef CSS_PROP_OUTLINE
    3020                 : #undef CSS_PROP_XUL
    3021                 : #undef CSS_PROP_COLUMN
    3022                 : #undef CSS_PROP_SVG
    3023                 : #undef CSS_PROP_SVGRESET
    3024                 : #ifdef DEFINED_CSS_PROP_BACKENDONLY
    3025                 : #undef CSS_PROP_BACKENDONLY
    3026                 : #undef DEFINED_CSS_PROP_BACKENDONLY
    3027                 : #endif
    3028                 : 
    3029                 : #else /* !defined(USED_CSS_PROP) */
    3030                 : 
    3031                 : #ifdef DEFINED_CSS_PROP_FONT
    3032                 : #undef CSS_PROP_FONT
    3033                 : #undef DEFINED_CSS_PROP_FONT
    3034                 : #endif
    3035                 : #ifdef DEFINED_CSS_PROP_COLOR
    3036                 : #undef CSS_PROP_COLOR
    3037                 : #undef DEFINED_CSS_PROP_COLOR
    3038                 : #endif
    3039                 : #ifdef DEFINED_CSS_PROP_BACKGROUND
    3040                 : #undef CSS_PROP_BACKGROUND
    3041                 : #undef DEFINED_CSS_PROP_BACKGROUND
    3042                 : #endif
    3043                 : #ifdef DEFINED_CSS_PROP_LIST
    3044                 : #undef CSS_PROP_LIST
    3045                 : #undef DEFINED_CSS_PROP_LIST
    3046                 : #endif
    3047                 : #ifdef DEFINED_CSS_PROP_POSITION
    3048                 : #undef CSS_PROP_POSITION
    3049                 : #undef DEFINED_CSS_PROP_POSITION
    3050                 : #endif
    3051                 : #ifdef DEFINED_CSS_PROP_TEXT
    3052                 : #undef CSS_PROP_TEXT
    3053                 : #undef DEFINED_CSS_PROP_TETEXTRESETT
    3054                 : #endif
    3055                 : #ifdef DEFINED_CSS_PROP_TEXTRESET
    3056                 : #undef CSS_PROP_TEXTRESET
    3057                 : #undef DEFINED_CSS_PROP_TEDISPLAYTRESET
    3058                 : #endif
    3059                 : #ifdef DEFINED_CSS_PROP_DISPLAY
    3060                 : #undef CSS_PROP_DISPLAY
    3061                 : #undef DEFINED_CSS_PROP_DISPLAY
    3062                 : #endif
    3063                 : #ifdef DEFINED_CSS_PROP_VISIBILITY
    3064                 : #undef CSS_PROP_VISIBILITY
    3065                 : #undef DEFINED_CSS_PROP_VISIBILITY
    3066                 : #endif
    3067                 : #ifdef DEFINED_CSS_PROP_CONTENT
    3068                 : #undef CSS_PROP_CONTENT
    3069                 : #undef DEFINED_CSS_PROP_CONTENT
    3070                 : #endif
    3071                 : #ifdef DEFINED_CSS_PROP_QUOTES
    3072                 : #undef CSS_PROP_QUOTES
    3073                 : #undef DEFINED_CSS_PROP_QUOTES
    3074                 : #endif
    3075                 : #ifdef DEFINED_CSS_PROP_USERINTERFACE
    3076                 : #undef CSS_PROP_USERINTERFACE
    3077                 : #undef DEFINED_CSS_PROP_USERINTERFACE
    3078                 : #endif
    3079                 : #ifdef DEFINED_CSS_PROP_UIRESET
    3080                 : #undef CSS_PROP_UIRESET
    3081                 : #undef DEFINED_CSS_PROP_UIRESET
    3082                 : #endif
    3083                 : #ifdef DEFINED_CSS_PROP_TABLE
    3084                 : #undef CSS_PROP_TABLE
    3085                 : #undef DEFINED_CSS_PROP_TABLE
    3086                 : #endif
    3087                 : #ifdef DEFINED_CSS_PROP_TABLEBORDER
    3088                 : #undef CSS_PROP_TABLEBORDER
    3089                 : #undef DEFINED_CSS_PROP_TABLEBORDER
    3090                 : #endif
    3091                 : #ifdef DEFINED_CSS_PROP_MARGIN
    3092                 : #undef CSS_PROP_MARGIN
    3093                 : #undef DEFINED_CSS_PROP_MARGIN
    3094                 : #endif
    3095                 : #ifdef DEFINED_CSS_PROP_PADDING
    3096                 : #undef CSS_PROP_PADDING
    3097                 : #undef DEFINED_CSS_PROP_PADDING
    3098                 : #endif
    3099                 : #ifdef DEFINED_CSS_PROP_BORDER
    3100                 : #undef CSS_PROP_BORDER
    3101                 : #undef DEFINED_CSS_PROP_BORDER
    3102                 : #endif
    3103                 : #ifdef DEFINED_CSS_PROP_OUTLINE
    3104                 : #undef CSS_PROP_OUTLINE
    3105                 : #undef DEFINED_CSS_PROP_OUTLINE
    3106                 : #endif
    3107                 : #ifdef DEFINED_CSS_PROP_XUL
    3108                 : #undef CSS_PROP_XUL
    3109                 : #undef DEFINED_CSS_PROP_XUL
    3110                 : #endif
    3111                 : #ifdef DEFINED_CSS_PROP_COLUMN
    3112                 : #undef CSS_PROP_COLUMN
    3113                 : #undef DEFINED_CSS_PROP_COLUMN
    3114                 : #endif
    3115                 : #ifdef DEFINED_CSS_PROP_SVG
    3116                 : #undef CSS_PROP_SVG
    3117                 : #undef DEFINED_CSS_PROP_SVG
    3118                 : #endif
    3119                 : #ifdef DEFINED_CSS_PROP_SVGRESET
    3120                 : #undef CSS_PROP_SVGRESET
    3121                 : #undef DEFINED_CSS_PROP_SVGRESET
    3122                 : #endif
    3123                 : #ifdef DEFINED_CSS_PROP_BACKENDONLY
    3124                 : #undef CSS_PROP_BACKENDONLY
    3125                 : #undef DEFINED_CSS_PROP_BACKENDONLY
    3126                 : #endif
    3127                 : 
    3128                 : #endif /* !defined(USED_CSS_PROP) */
    3129                 : 
    3130                 : #ifdef DEFINED_CSS_PROP_SHORTHAND
    3131                 : #undef CSS_PROP_SHORTHAND
    3132                 : #undef DEFINED_CSS_PROP_SHORTHAND
    3133                 : #endif

Generated by: LCOV version 1.7