Bug 1434130 part 14 - Remove nsCSSProps::kParseVariantTable. r?emilio
The parsevariant field is not removed from nsCSSPropList.h since that
file is going away soon anyway.
MozReview-Commit-ID: 3nRBQtmZRKG
--- a/layout/style/nsCSSProps.cpp
+++ b/layout/style/nsCSSProps.cpp
@@ -2747,17 +2747,9 @@ nsCSSProps::gPropertyUseCounter[eCSSProp
#define CSS_PROP_LONGHAND(name_, id_, method_, ...) \
CSS_PROP_USE_COUNTER(method_)
#include "mozilla/ServoCSSPropList.h"
#undef CSS_PROP_LONGHAND
#undef CSS_PROP_USE_COUNTER
#undef CSS_PROP_PUBLIC_OR_PRIVATE
};
-const uint32_t
-nsCSSProps::kParserVariantTable[eCSSProperty_COUNT_no_shorthands] = {
-#define CSS_PROP(name_, id_, method_, pref_, parsevariant_, ...) \
- parsevariant_,
-#include "nsCSSPropList.h"
-#undef CSS_PROP
-};
-
#include "nsCSSPropsGenerated.inc"
--- a/layout/style/nsCSSProps.h
+++ b/layout/style/nsCSSProps.h
@@ -24,110 +24,16 @@
#include "mozilla/EnumTypeTraits.h"
#include "mozilla/Preferences.h"
#include "nsXULAppAPI.h"
// Length of the "--" prefix on custom names (such as custom property names,
// and, in the future, custom media query names).
#define CSS_CUSTOM_NAME_PREFIX_LENGTH 2
-// Flags for ParseVariant method
-#define VARIANT_KEYWORD 0x000001 // K
-#define VARIANT_LENGTH 0x000002 // L
-#define VARIANT_PERCENT 0x000004 // P
-#define VARIANT_COLOR 0x000008 // C eCSSUnit_*Color, eCSSUnit_Ident (e.g. "red")
-#define VARIANT_URL 0x000010 // U
-#define VARIANT_NUMBER 0x000020 // N
-#define VARIANT_INTEGER 0x000040 // I
-#define VARIANT_ANGLE 0x000080 // G
-#define VARIANT_FREQUENCY 0x000100 // F
-#define VARIANT_TIME 0x000200 // T
-#define VARIANT_STRING 0x000400 // S
-#define VARIANT_COUNTER 0x000800 //
-#define VARIANT_ATTR 0x001000 //
-#define VARIANT_IDENTIFIER 0x002000 // D
-#define VARIANT_IDENTIFIER_NO_INHERIT 0x004000 // like above, but excluding
-// 'inherit' and 'initial'
-#define VARIANT_AUTO 0x010000 // A
-#define VARIANT_INHERIT 0x020000 // H eCSSUnit_Initial, eCSSUnit_Inherit, eCSSUnit_Unset
-#define VARIANT_NONE 0x040000 // O
-#define VARIANT_NORMAL 0x080000 // M
-#define VARIANT_SYSFONT 0x100000 // eCSSUnit_System_Font
-#define VARIANT_GRADIENT 0x200000 // eCSSUnit_Gradient
-#define VARIANT_TIMING_FUNCTION 0x400000 // cubic-bezier() and steps()
-#define VARIANT_ALL 0x800000 //
-#define VARIANT_IMAGE_RECT 0x01000000 // eCSSUnit_Function
-// This is an extra bit that says that a VARIANT_ANGLE allows unitless zero:
-#define VARIANT_ZERO_ANGLE 0x02000000 // unitless zero for angles
-#define VARIANT_CALC 0x04000000 // eCSSUnit_Calc
-#define VARIANT_ELEMENT 0x08000000 // eCSSUnit_Element
-#define VARIANT_NONNEGATIVE_DIMENSION 0x10000000 // Only lengths greater than or equal to 0.0
-// Keyword used iff gfx.font_rendering.opentype_svg.enabled is true:
-#define VARIANT_OPENTYPE_SVG_KEYWORD 0x20000000
-#define VARIANT_ABSOLUTE_DIMENSION 0x40000000 // B Only lengths with absolute length unit
-
-// Variants that can consume more than one token
-#define VARIANT_MULTIPLE_TOKENS \
- (VARIANT_COLOR | /* rgb(...), hsl(...), etc. */ \
- VARIANT_COUNTER | /* counter(...), counters(...) */ \
- VARIANT_ATTR | /* attr(...) */ \
- VARIANT_GRADIENT | /* linear-gradient(...), etc. */ \
- VARIANT_TIMING_FUNCTION | /* cubic-bezier(...), steps(...) */ \
- VARIANT_IMAGE_RECT | /* -moz-image-rect(...) */ \
- VARIANT_CALC | /* calc(...) */ \
- VARIANT_ELEMENT) /* -moz-element(...) */
-
-// Common combinations of variants
-#define VARIANT_AL (VARIANT_AUTO | VARIANT_LENGTH)
-#define VARIANT_LP (VARIANT_LENGTH | VARIANT_PERCENT)
-#define VARIANT_LN (VARIANT_LENGTH | VARIANT_NUMBER)
-#define VARIANT_AH (VARIANT_AUTO | VARIANT_INHERIT)
-#define VARIANT_AHLP (VARIANT_AH | VARIANT_LP)
-#define VARIANT_AHI (VARIANT_AH | VARIANT_INTEGER)
-#define VARIANT_AHK (VARIANT_AH | VARIANT_KEYWORD)
-#define VARIANT_AHKLP (VARIANT_AHLP | VARIANT_KEYWORD)
-#define VARIANT_AHL (VARIANT_AH | VARIANT_LENGTH)
-#define VARIANT_AHKL (VARIANT_AHK | VARIANT_LENGTH)
-#define VARIANT_HK (VARIANT_INHERIT | VARIANT_KEYWORD)
-#define VARIANT_HKF (VARIANT_HK | VARIANT_FREQUENCY)
-#define VARIANT_HKI (VARIANT_HK | VARIANT_INTEGER)
-#define VARIANT_HKL (VARIANT_HK | VARIANT_LENGTH)
-#define VARIANT_HKLP (VARIANT_HK | VARIANT_LP)
-#define VARIANT_HKLPO (VARIANT_HKLP | VARIANT_NONE)
-#define VARIANT_HL (VARIANT_INHERIT | VARIANT_LENGTH)
-#define VARIANT_HI (VARIANT_INHERIT | VARIANT_INTEGER)
-#define VARIANT_HLP (VARIANT_HL | VARIANT_PERCENT)
-#define VARIANT_HLPN (VARIANT_HLP | VARIANT_NUMBER)
-#define VARIANT_HLPO (VARIANT_HLP | VARIANT_NONE)
-#define VARIANT_HTP (VARIANT_INHERIT | VARIANT_TIME | VARIANT_PERCENT)
-#define VARIANT_HMK (VARIANT_HK | VARIANT_NORMAL)
-#define VARIANT_HC (VARIANT_INHERIT | VARIANT_COLOR)
-#define VARIANT_HCK (VARIANT_HK | VARIANT_COLOR)
-#define VARIANT_HUK (VARIANT_HK | VARIANT_URL)
-#define VARIANT_HUO (VARIANT_INHERIT | VARIANT_URL | VARIANT_NONE)
-#define VARIANT_AHUO (VARIANT_AUTO | VARIANT_HUO)
-#define VARIANT_HPN (VARIANT_INHERIT | VARIANT_PERCENT | VARIANT_NUMBER)
-#define VARIANT_PN (VARIANT_PERCENT | VARIANT_NUMBER)
-#define VARIANT_ALPN (VARIANT_AL | VARIANT_PN)
-#define VARIANT_HN (VARIANT_INHERIT | VARIANT_NUMBER)
-#define VARIANT_HON (VARIANT_HN | VARIANT_NONE)
-#define VARIANT_HOS (VARIANT_INHERIT | VARIANT_NONE | VARIANT_STRING)
-#define VARIANT_LPN (VARIANT_LP | VARIANT_NUMBER)
-#define VARIANT_UK (VARIANT_URL | VARIANT_KEYWORD)
-#define VARIANT_UO (VARIANT_URL | VARIANT_NONE)
-#define VARIANT_ANGLE_OR_ZERO (VARIANT_ANGLE | VARIANT_ZERO_ANGLE)
-#define VARIANT_LB (VARIANT_LENGTH | VARIANT_ABSOLUTE_DIMENSION)
-#define VARIANT_LBCALC (VARIANT_LB | VARIANT_CALC)
-#define VARIANT_LCALC (VARIANT_LENGTH | VARIANT_CALC)
-#define VARIANT_LPCALC (VARIANT_LCALC | VARIANT_PERCENT)
-#define VARIANT_LNCALC (VARIANT_LCALC | VARIANT_NUMBER)
-#define VARIANT_LPNCALC (VARIANT_LNCALC | VARIANT_PERCENT)
-#define VARIANT_IMAGE (VARIANT_URL | VARIANT_NONE | VARIANT_GRADIENT | \
- VARIANT_IMAGE_RECT | VARIANT_ELEMENT)
-
class nsCSSProps {
public:
typedef mozilla::CSSEnabledState EnabledState;
typedef mozilla::CSSPropFlags Flags;
struct KTableEntry
{
// KTableEntry objects can be initialized either with an int16_t value
@@ -246,26 +152,16 @@ public:
static inline bool PropHasFlags(nsCSSPropertyID aProperty, Flags aFlags)
{
MOZ_ASSERT(0 <= aProperty && aProperty < eCSSProperty_COUNT,
"out of range");
return (nsCSSProps::kFlagsTable[aProperty] & aFlags) == aFlags;
}
private:
- static const uint32_t kParserVariantTable[eCSSProperty_COUNT_no_shorthands];
-
-public:
- static inline uint32_t ParserVariant(nsCSSPropertyID aProperty) {
- MOZ_ASSERT(0 <= aProperty && aProperty < eCSSProperty_COUNT_no_shorthands,
- "out of range");
- return nsCSSProps::kParserVariantTable[aProperty];
- }
-
-private:
// A table for shorthand properties. The appropriate index is the
// property ID minus eCSSProperty_COUNT_no_shorthands.
static const nsCSSPropertyID *const
kSubpropertyTable[eCSSProperty_COUNT - eCSSProperty_COUNT_no_shorthands];
public:
static inline
const nsCSSPropertyID * SubpropertyEntryFor(nsCSSPropertyID aProperty) {