| Index: third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp
|
| diff --git a/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp b/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp
|
| index 6ad5b1c4e2d4b13fed9eaac5c9cba9fc914378b1..9129f849c0709af9a5b6c1e37c4a4e68c5f5d52b 100644
|
| --- a/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp
|
| +++ b/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp
|
| @@ -1528,7 +1528,7 @@ static CSSValue* consumePathOrNone(CSSParserTokenRange& range)
|
| return consumePath(range);
|
| }
|
|
|
| -static CSSValue* consumeMotionRotation(CSSParserTokenRange& range)
|
| +static CSSValue* consumeOffsetRotation(CSSParserTokenRange& range)
|
| {
|
| CSSValue* angle = consumeAngle(range);
|
| CSSValue* keyword = consumeIdent<CSSValueAuto, CSSValueReverse>(range);
|
| @@ -1546,6 +1546,14 @@ static CSSValue* consumeMotionRotation(CSSParserTokenRange& range)
|
| return list;
|
| }
|
|
|
| +CSSValue* consumeOffsetPosition(CSSParserTokenRange& range, CSSParserMode cssParserMode)
|
| +{
|
| + CSSValueID id = range.peek().id();
|
| + if (id == CSSValueAuto)
|
| + return consumeIdent(range);
|
| + return consumePosition(range, cssParserMode, UnitlessQuirk::Forbid);
|
| +}
|
| +
|
| static CSSValue* consumeTextEmphasisStyle(CSSParserTokenRange& range)
|
| {
|
| CSSValueID id = range.peek().id();
|
| @@ -3208,6 +3216,9 @@ const CSSValue* CSSPropertyParser::parseSingleValue(CSSPropertyID unresolvedProp
|
| case CSSPropertyObjectPosition:
|
| case CSSPropertyPerspectiveOrigin:
|
| return consumePosition(m_range, m_context.mode(), UnitlessQuirk::Forbid);
|
| + case CSSPropertyOffsetAnchor:
|
| + case CSSPropertyOffsetPosition:
|
| + return consumeOffsetPosition(m_range, m_context.mode());
|
| case CSSPropertyWebkitLineClamp:
|
| return consumeLineClamp(m_range);
|
| case CSSPropertyWebkitFontSizeDelta:
|
| @@ -3307,12 +3318,12 @@ const CSSValue* CSSPropertyParser::parseSingleValue(CSSPropertyID unresolvedProp
|
| case CSSPropertyTextDecorationLine:
|
| return consumeTextDecorationLine(m_range);
|
| case CSSPropertyD:
|
| - case CSSPropertyMotionPath:
|
| + case CSSPropertyOffsetPath:
|
| return consumePathOrNone(m_range);
|
| - case CSSPropertyMotionOffset:
|
| + case CSSPropertyOffsetDistance:
|
| return consumeLengthOrPercent(m_range, m_context.mode(), ValueRangeAll);
|
| - case CSSPropertyMotionRotation:
|
| - return consumeMotionRotation(m_range);
|
| + case CSSPropertyOffsetRotation:
|
| + return consumeOffsetRotation(m_range);
|
| case CSSPropertyWebkitTextEmphasisStyle:
|
| return consumeTextEmphasisStyle(m_range);
|
| case CSSPropertyOutlineColor:
|
| @@ -4241,10 +4252,8 @@ bool CSSPropertyParser::consumeBackgroundShorthand(const StylePropertyShorthand&
|
| if (property == CSSPropertyBackgroundRepeatX || property == CSSPropertyWebkitMaskRepeatX) {
|
| consumeRepeatStyleComponent(m_range, value, valueY, implicit);
|
| } else if (property == CSSPropertyBackgroundPositionX || property == CSSPropertyWebkitMaskPositionX) {
|
| - CSSParserTokenRange rangeCopy = m_range;
|
| - if (!consumePosition(rangeCopy, m_context.mode(), UnitlessQuirk::Forbid, value, valueY))
|
| + if (!consumePosition(m_range, m_context.mode(), UnitlessQuirk::Forbid, value, valueY))
|
| continue;
|
| - m_range = rangeCopy;
|
| } else if (property == CSSPropertyBackgroundSize || property == CSSPropertyWebkitMaskSize) {
|
| if (!consumeSlashIncludingWhitespace(m_range))
|
| continue;
|
| @@ -4586,6 +4595,8 @@ bool CSSPropertyParser::parseShorthand(CSSPropertyID unresolvedProperty, bool im
|
| return consume4Values(paddingShorthand(), important);
|
| case CSSPropertyMotion:
|
| return consumeShorthandGreedily(motionShorthand(), important);
|
| + case CSSPropertyOffset:
|
| + return consumeShorthandGreedily(offsetShorthand(), important);
|
| case CSSPropertyWebkitTextEmphasis:
|
| return consumeShorthandGreedily(webkitTextEmphasisShorthand(), important);
|
| case CSSPropertyOutline:
|
|
|