| Index: Source/core/css/resolver/StyleBuilderConverter.cpp
|
| diff --git a/Source/core/css/resolver/StyleBuilderConverter.cpp b/Source/core/css/resolver/StyleBuilderConverter.cpp
|
| index 75b3a6c10977c0ee2f40c4b100cec5a181b02f35..ce5f709da7bbfb671930d1f24eb580c82ea40550 100644
|
| --- a/Source/core/css/resolver/StyleBuilderConverter.cpp
|
| +++ b/Source/core/css/resolver/StyleBuilderConverter.cpp
|
| @@ -649,7 +649,7 @@ static Length convertPositionLength(StyleResolverState& state, CSSPrimitiveValue
|
| return StyleBuilderConverter::convertLength(state, primitiveValue);
|
| }
|
|
|
| -LengthPoint StyleBuilderConverter::convertObjectPosition(StyleResolverState& state, CSSValue* value)
|
| +LengthPoint StyleBuilderConverter::convertPosition(StyleResolverState& state, CSSValue* value)
|
| {
|
| CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
|
| Pair* pair = primitiveValue->getPairValue();
|
| @@ -901,4 +901,38 @@ TransformOrigin StyleBuilderConverter::convertTransformOrigin(StyleResolverState
|
| );
|
| }
|
|
|
| +ScrollSnapPoints StyleBuilderConverter::convertSnapPoints(StyleResolverState& state, CSSValue* value)
|
| +{
|
| + // Handles: none | repeat(<length>)
|
| + ScrollSnapPoints points;
|
| + points.hasRepeat = false;
|
| +
|
| + if (!value->isFunctionValue())
|
| + return points;
|
| +
|
| + CSSFunctionValue* repeatFunction = toCSSFunctionValue(value);
|
| + ASSERT_WITH_SECURITY_IMPLICATION(repeatFunction->length() == 1);
|
| + points.repeatOffset = convertLength(state, toCSSPrimitiveValue(repeatFunction->item(0)));
|
| + points.hasRepeat = true;
|
| +
|
| + return points;
|
| +}
|
| +
|
| +Vector<LengthPoint> StyleBuilderConverter::convertSnapCoordinates(StyleResolverState& state, CSSValue* value)
|
| +{
|
| + // Handles: none | <position>#
|
| + Vector<LengthPoint> coordinates;
|
| +
|
| + if (!value->isValueList())
|
| + return coordinates;
|
| +
|
| + CSSValueList* valueList = toCSSValueList(value);
|
| + coordinates.reserveInitialCapacity(valueList->length());
|
| + for (auto& snapCoordinate : *valueList) {
|
| + coordinates.uncheckedAppend(convertPosition(state, snapCoordinate.get()));
|
| + }
|
| +
|
| + return coordinates;
|
| +}
|
| +
|
| } // namespace blink
|
|
|