| Index: Source/core/css/parser/CSSPropertyParser.h
|
| diff --git a/Source/core/css/parser/CSSPropertyParser.h b/Source/core/css/parser/CSSPropertyParser.h
|
| index 70acb2cb0b56c5fa59c14a69945c6ac1f34a6d08..21e6db9f82d1fcd5eb2066482f3698170ec98d8c 100644
|
| --- a/Source/core/css/parser/CSSPropertyParser.h
|
| +++ b/Source/core/css/parser/CSSPropertyParser.h
|
| @@ -56,6 +56,23 @@ class StylePropertyShorthand;
|
| class CSSPropertyParser {
|
| STACK_ALLOCATED();
|
| public:
|
| +
|
| + enum Units {
|
| + FUnknown = 0x0000,
|
| + FInteger = 0x0001,
|
| + FNumber = 0x0002, // Real Numbers
|
| + FPercent = 0x0004,
|
| + FLength = 0x0008,
|
| + FAngle = 0x0010,
|
| + FTime = 0x0020,
|
| + FFrequency = 0x0040,
|
| + FPositiveInteger = 0x0080,
|
| + FRelative = 0x0100,
|
| + FResolution = 0x0200,
|
| + FNonNeg = 0x0400,
|
| + FUnitlessQuirk = 0x0800
|
| + };
|
| +
|
| static bool parseValue(CSSPropertyID, bool important,
|
| CSSParserValueList*, const CSSParserContext&, bool inViewport,
|
| WillBeHeapVector<CSSProperty, 256>&, CSSRuleSourceData::Type);
|
| @@ -101,12 +118,12 @@ private:
|
|
|
| enum FillPositionFlag { InvalidFillPosition = 0, AmbiguousFillPosition = 1, XFillPosition = 2, YFillPosition = 4 };
|
| enum FillPositionParsingMode { ResolveValuesAsPercent = 0, ResolveValuesAsKeyword = 1 };
|
| - PassRefPtrWillBeRawPtr<CSSPrimitiveValue> parseFillPositionComponent(CSSParserValueList*, unsigned& cumulativeFlags, FillPositionFlag& individualFlag, FillPositionParsingMode = ResolveValuesAsPercent);
|
| + PassRefPtrWillBeRawPtr<CSSPrimitiveValue> parseFillPositionComponent(CSSParserValueList*, unsigned& cumulativeFlags, FillPositionFlag& individualFlag, FillPositionParsingMode = ResolveValuesAsPercent, Units = FUnknown);
|
| PassRefPtrWillBeRawPtr<CSSValue> parseFillPositionX(CSSParserValueList*);
|
| PassRefPtrWillBeRawPtr<CSSValue> parseFillPositionY(CSSParserValueList*);
|
| - void parse2ValuesFillPosition(CSSParserValueList*, RefPtrWillBeRawPtr<CSSValue>&, RefPtrWillBeRawPtr<CSSValue>&);
|
| + void parse2ValuesFillPosition(CSSParserValueList*, RefPtrWillBeRawPtr<CSSValue>&, RefPtrWillBeRawPtr<CSSValue>&, Units = FUnknown);
|
| bool isPotentialPositionValue(CSSParserValue*);
|
| - void parseFillPosition(CSSParserValueList*, RefPtrWillBeRawPtr<CSSValue>&, RefPtrWillBeRawPtr<CSSValue>&);
|
| + void parseFillPosition(CSSParserValueList*, RefPtrWillBeRawPtr<CSSValue>&, RefPtrWillBeRawPtr<CSSValue>&, Units = FUnknown);
|
| void parse3ValuesFillPosition(CSSParserValueList*, RefPtrWillBeRawPtr<CSSValue>&, RefPtrWillBeRawPtr<CSSValue>&, PassRefPtrWillBeRawPtr<CSSPrimitiveValue>, PassRefPtrWillBeRawPtr<CSSPrimitiveValue>);
|
| void parse4ValuesFillPosition(CSSParserValueList*, RefPtrWillBeRawPtr<CSSValue>&, RefPtrWillBeRawPtr<CSSValue>&, PassRefPtrWillBeRawPtr<CSSPrimitiveValue>, PassRefPtrWillBeRawPtr<CSSPrimitiveValue>);
|
|
|
| @@ -263,8 +280,6 @@ private:
|
|
|
| PassRefPtrWillBeRawPtr<CSSValue> createCSSImageValueWithReferrer(const String& rawValue, const KURL&);
|
|
|
| - bool validWidthOrHeight(CSSParserValue*);
|
| -
|
| PassRefPtrWillBeRawPtr<CSSBasicShape> parseInsetRoundedCorners(PassRefPtrWillBeRawPtr<CSSBasicShapeInset>, CSSParserValueList*);
|
|
|
| enum SizeParameterType {
|
| @@ -324,26 +339,13 @@ private:
|
| DoNotReleaseParsedCalcValue
|
| };
|
|
|
| - enum Units {
|
| - FUnknown = 0x0000,
|
| - FInteger = 0x0001,
|
| - FNumber = 0x0002, // Real Numbers
|
| - FPercent = 0x0004,
|
| - FLength = 0x0008,
|
| - FAngle = 0x0010,
|
| - FTime = 0x0020,
|
| - FFrequency = 0x0040,
|
| - FPositiveInteger = 0x0080,
|
| - FRelative = 0x0100,
|
| - FResolution = 0x0200,
|
| - FNonNeg = 0x0400
|
| - };
|
| -
|
| friend inline Units operator|(Units a, Units b)
|
| {
|
| return static_cast<Units>(static_cast<unsigned>(a) | static_cast<unsigned>(b));
|
| }
|
|
|
| + bool validWidthOrHeight(CSSParserValue*, Units);
|
| +
|
| bool validCalculationUnit(CSSParserValue*, Units, ReleaseParsedCalcValueCondition releaseCalc = DoNotReleaseParsedCalcValue);
|
|
|
| bool shouldAcceptUnitLessValues(CSSParserValue*, Units, CSSParserMode);
|
|
|