| Index: third_party/WebKit/Source/core/css/parser/CSSPropertyParserHelpers.cpp
|
| diff --git a/third_party/WebKit/Source/core/css/parser/CSSPropertyParserHelpers.cpp b/third_party/WebKit/Source/core/css/parser/CSSPropertyParserHelpers.cpp
|
| index 53eae84f694221d69e58fba1b700446bd189bb7f..7674a1d83526a3a12a61459352eefee7f51eda7d 100644
|
| --- a/third_party/WebKit/Source/core/css/parser/CSSPropertyParserHelpers.cpp
|
| +++ b/third_party/WebKit/Source/core/css/parser/CSSPropertyParserHelpers.cpp
|
| @@ -940,9 +940,19 @@ static CSSPrimitiveValue* ConsumeAngleOrPercent(CSSParserTokenRange& range,
|
| CSSParserMode,
|
| ValueRange value_range,
|
| UnitlessQuirk) {
|
| - return range.Peek().GetType() == kPercentageToken
|
| - ? ConsumePercent(range, value_range)
|
| - : ConsumeAngle(range);
|
| + const CSSParserToken& token = range.Peek();
|
| + if (token.GetType() == kDimensionToken || token.GetType() == kNumberToken)
|
| + return ConsumeAngle(range);
|
| + if (token.GetType() == kPercentageToken)
|
| + return ConsumePercent(range, value_range);
|
| + CalcParser calc_parser(range, value_range);
|
| + if (const CSSCalcValue* calculation = calc_parser.Value()) {
|
| + CalculationCategory category = calculation->Category();
|
| + // TODO(fs): Add and support kCalcPercentAngle?
|
| + if (category == kCalcAngle || category == kCalcPercent)
|
| + return calc_parser.ConsumeValue();
|
| + }
|
| + return nullptr;
|
| }
|
|
|
| using PositionFunctor = CSSPrimitiveValue* (*)(CSSParserTokenRange&,
|
|
|