| 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 cfefdb0904d6ec35b6e3a6aef68f7daac37dfa0f..4ef06b9285d0fcb71ecc3513d7109ba47548365d 100644
|
| --- a/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp
|
| +++ b/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp
|
| @@ -807,24 +807,6 @@ static CSSValue* ConsumePerspective(CSSParserTokenRange& range,
|
| return nullptr;
|
| }
|
|
|
| -static CSSValue* ConsumeScrollSnapPoints(CSSParserTokenRange& range,
|
| - CSSParserMode css_parser_mode) {
|
| - if (range.Peek().Id() == CSSValueNone)
|
| - return ConsumeIdent(range);
|
| - if (range.Peek().FunctionId() == CSSValueRepeat) {
|
| - CSSParserTokenRange args = ConsumeFunction(range);
|
| - CSSPrimitiveValue* parsed_value =
|
| - ConsumeLengthOrPercent(args, css_parser_mode, kValueRangeNonNegative);
|
| - if (args.AtEnd() && parsed_value &&
|
| - (parsed_value->IsCalculated() || parsed_value->GetDoubleValue() > 0)) {
|
| - CSSFunctionValue* result = CSSFunctionValue::Create(CSSValueRepeat);
|
| - result->Append(*parsed_value);
|
| - return result;
|
| - }
|
| - }
|
| - return nullptr;
|
| -}
|
| -
|
| static CSSValue* ConsumeReflect(CSSParserTokenRange& range,
|
| const CSSParserContext* context) {
|
| CSSIdentifierValue* direction =
|
| @@ -1534,10 +1516,6 @@ const CSSValue* CSSPropertyParser::ParseSingleValue(
|
| case CSSPropertyWebkitLogicalWidth:
|
| case CSSPropertyWebkitLogicalHeight:
|
| return CSSPropertyLengthUtils::ConsumeWidthOrHeight(range_, *context_);
|
| - case CSSPropertyScrollSnapDestination:
|
| - // TODO(crbug.com/724912): Retire scroll-snap-destination
|
| - return ConsumePosition(range_, *context_, UnitlessQuirk::kForbid,
|
| - Optional<WebFeature>());
|
| case CSSPropertyObjectPosition:
|
| return ConsumePosition(range_, *context_, UnitlessQuirk::kForbid,
|
| WebFeature::kThreeValuedPositionObjectPosition);
|
| @@ -1654,9 +1632,6 @@ const CSSValue* CSSPropertyParser::ParseSingleValue(
|
| return ConsumePerspective(
|
| range_, context_,
|
| unresolved_property == CSSPropertyAliasWebkitPerspective);
|
| - case CSSPropertyScrollSnapPointsX:
|
| - case CSSPropertyScrollSnapPointsY:
|
| - return ConsumeScrollSnapPoints(range_, context_->Mode());
|
| case CSSPropertyBorderImageRepeat:
|
| case CSSPropertyWebkitMaskBoxImageRepeat:
|
| return CSSPropertyBorderImageUtils::ConsumeBorderImageRepeat(range_);
|
| @@ -2343,6 +2318,23 @@ bool CSSPropertyParser::ConsumeBorder(bool important) {
|
| return range_.AtEnd();
|
| }
|
|
|
| +bool CSSPropertyParser::Consume2Values(const StylePropertyShorthand& shorthand,
|
| + bool important) {
|
| + DCHECK_EQ(shorthand.length(), 2u);
|
| + const CSSPropertyID* longhands = shorthand.properties();
|
| + const CSSValue* start = ParseSingleValue(longhands[0], shorthand.id());
|
| + if (!start)
|
| + return false;
|
| +
|
| + const CSSValue* end = ParseSingleValue(longhands[1], shorthand.id());
|
| + if (!end)
|
| + end = start;
|
| + AddParsedProperty(longhands[0], shorthand.id(), *start, important);
|
| + AddParsedProperty(longhands[1], shorthand.id(), *end, important);
|
| +
|
| + return range_.AtEnd();
|
| +}
|
| +
|
| bool CSSPropertyParser::Consume4Values(const StylePropertyShorthand& shorthand,
|
| bool important) {
|
| DCHECK_EQ(shorthand.length(), 4u);
|
| @@ -3286,6 +3278,18 @@ bool CSSPropertyParser::ParseShorthand(CSSPropertyID unresolved_property,
|
| return ConsumePlaceItemsShorthand(important);
|
| case CSSPropertyPlaceSelf:
|
| return ConsumePlaceSelfShorthand(important);
|
| + case CSSPropertyScrollPadding:
|
| + return Consume4Values(scrollPaddingShorthand(), important);
|
| + case CSSPropertyScrollPaddingBlock:
|
| + return Consume2Values(scrollPaddingBlockShorthand(), important);
|
| + case CSSPropertyScrollPaddingInline:
|
| + return Consume2Values(scrollPaddingInlineShorthand(), important);
|
| + case CSSPropertyScrollSnapMargin:
|
| + return Consume4Values(scrollSnapMarginShorthand(), important);
|
| + case CSSPropertyScrollSnapMarginBlock:
|
| + return Consume2Values(scrollSnapMarginBlockShorthand(), important);
|
| + case CSSPropertyScrollSnapMarginInline:
|
| + return Consume2Values(scrollSnapMarginInlineShorthand(), important);
|
| default:
|
| return false;
|
| }
|
|
|