| Index: third_party/WebKit/Source/core/css/properties/CSSPropertyAlignmentUtils.cpp
|
| diff --git a/third_party/WebKit/Source/core/css/properties/CSSPropertyAlignmentUtils.cpp b/third_party/WebKit/Source/core/css/properties/CSSPropertyAlignmentUtils.cpp
|
| index f66a77cb425fecbf65f65abe6c6172d91538a1d3..10e32355095d27148db7190583abd5bb6caee888 100644
|
| --- a/third_party/WebKit/Source/core/css/properties/CSSPropertyAlignmentUtils.cpp
|
| +++ b/third_party/WebKit/Source/core/css/properties/CSSPropertyAlignmentUtils.cpp
|
| @@ -21,16 +21,37 @@ CSSIdentifierValue* consumeSelfPositionKeyword(CSSParserTokenRange& range) {
|
| return nullptr;
|
| }
|
|
|
| +CSSValue* consumeBaselineKeyword(CSSParserTokenRange& range) {
|
| + CSSValueID id = range.peek().id();
|
| + if (CSSPropertyParserHelpers::identMatches<CSSValueBaseline>(id))
|
| + return CSSPropertyParserHelpers::consumeIdent(range);
|
| +
|
| + if (CSSIdentifierValue* preference =
|
| + CSSPropertyParserHelpers::consumeIdent<CSSValueFirst, CSSValueLast>(
|
| + range)) {
|
| + if (range.peek().id() == CSSValueBaseline) {
|
| + return CSSValuePair::create(preference,
|
| + CSSPropertyParserHelpers::consumeIdent(range),
|
| + CSSValuePair::DropIdenticalValues);
|
| + }
|
| + }
|
| + return nullptr;
|
| +}
|
| +
|
| } // namespace
|
|
|
| CSSValue* CSSPropertyAlignmentUtils::consumeSelfPositionOverflowPosition(
|
| CSSParserTokenRange& range) {
|
| if (CSSPropertyParserHelpers::identMatches<CSSValueAuto, CSSValueNormal,
|
| - CSSValueStretch, CSSValueBaseline,
|
| - CSSValueLastBaseline>(
|
| + CSSValueStretch>(
|
| range.peek().id()))
|
| return CSSPropertyParserHelpers::consumeIdent(range);
|
|
|
| + if (CSSPropertyParserHelpers::identMatches<CSSValueFirst, CSSValueLast,
|
| + CSSValueBaseline>(
|
| + range.peek().id()))
|
| + return consumeBaselineKeyword(range);
|
| +
|
| CSSIdentifierValue* overflowPosition =
|
| CSSPropertyParserHelpers::consumeIdent<CSSValueUnsafe, CSSValueSafe>(
|
| range);
|
|
|