| Index: Source/core/css/BasicShapeFunctions.cpp
|
| diff --git a/Source/core/css/BasicShapeFunctions.cpp b/Source/core/css/BasicShapeFunctions.cpp
|
| index 2880c07d4e1a3fc9955bf43b619524748dce5d38..1c6f3be915397f79c267b8cccfa62b137fb87445 100644
|
| --- a/Source/core/css/BasicShapeFunctions.cpp
|
| +++ b/Source/core/css/BasicShapeFunctions.cpp
|
| @@ -40,7 +40,7 @@
|
|
|
| namespace blink {
|
|
|
| -static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> valueForCenterCoordinate(CSSValuePool& pool, const ComputedStyle& style, const BasicShapeCenterCoordinate& center, EBoxOrient orientation)
|
| +static CSSPrimitiveValue valueForCenterCoordinate(CSSValuePool& pool, const ComputedStyle& style, const BasicShapeCenterCoordinate& center, EBoxOrient orientation)
|
| {
|
| if (center.direction() == BasicShapeCenterCoordinate::TopLeft)
|
| return pool.createValue(center.length(), style);
|
| @@ -50,7 +50,7 @@ static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> valueForCenterCoordinate(CSSVal
|
| return pool.createValue(Pair::create(pool.createIdentifierValue(keyword), pool.createValue(center.length(), style), Pair::DropIdenticalValues));
|
| }
|
|
|
| -static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> basicShapeRadiusToCSSValue(CSSValuePool& pool, const ComputedStyle& style, const BasicShapeRadius& radius)
|
| +static CSSPrimitiveValue basicShapeRadiusToCSSValue(CSSValuePool& pool, const ComputedStyle& style, const BasicShapeRadius& radius)
|
| {
|
| switch (radius.type()) {
|
| case BasicShapeRadius::Value:
|
| @@ -62,7 +62,7 @@ static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> basicShapeRadiusToCSSValue(CSSV
|
| }
|
|
|
| ASSERT_NOT_REACHED();
|
| - return nullptr;
|
| + return pool.createValue(radius.value(), style);
|
| }
|
|
|
| CSSValue valueForBasicShape(const ComputedStyle& style, const BasicShape* basicShape)
|
| @@ -129,23 +129,23 @@ CSSValue valueForBasicShape(const ComputedStyle& style, const BasicShape* basicS
|
| return pool.createValue(basicShapeValue.release());
|
| }
|
|
|
| -static Length convertToLength(const StyleResolverState& state, CSSPrimitiveValue* value)
|
| +static Length convertToLength(const StyleResolverState& state, NullableCSSValue value)
|
| {
|
| if (!value)
|
| return Length(0, Fixed);
|
| - return value->convertToLength(state.cssToLengthConversionData());
|
| + return toCSSPrimitiveValue(value).convertToLength(state.cssToLengthConversionData());
|
| }
|
|
|
| -static LengthSize convertToLengthSize(const StyleResolverState& state, CSSPrimitiveValue* value)
|
| +static LengthSize convertToLengthSize(const StyleResolverState& state, NullableCSSValue value)
|
| {
|
| if (!value)
|
| return LengthSize(Length(0, Fixed), Length(0, Fixed));
|
|
|
| - Pair* pair = value->getPairValue();
|
| + Pair* pair = toCSSPrimitiveValue(value).getPairValue();
|
| return LengthSize(convertToLength(state, pair->first()), convertToLength(state, pair->second()));
|
| }
|
|
|
| -static BasicShapeCenterCoordinate convertToCenterCoordinate(const StyleResolverState& state, CSSPrimitiveValue* value)
|
| +static BasicShapeCenterCoordinate convertToCenterCoordinate(const StyleResolverState& state, NullableCSSValue value)
|
| {
|
| BasicShapeCenterCoordinate::Direction direction;
|
| Length offset = Length(0, Fixed);
|
| @@ -153,10 +153,10 @@ static BasicShapeCenterCoordinate convertToCenterCoordinate(const StyleResolverS
|
| CSSValueID keyword = CSSValueTop;
|
| if (!value) {
|
| keyword = CSSValueCenter;
|
| - } else if (value->isValueID()) {
|
| - keyword = value->getValueID();
|
| - } else if (Pair* pair = value->getPairValue()) {
|
| - keyword = pair->first()->getValueID();
|
| + } else if (toCSSPrimitiveValue(value).isValueID()) {
|
| + keyword = toCSSPrimitiveValue(value).getValueID();
|
| + } else if (Pair* pair = toCSSPrimitiveValue(value).getPairValue()) {
|
| + keyword = pair->first().getValueID();
|
| offset = convertToLength(state, pair->second());
|
| } else {
|
| offset = convertToLength(state, value);
|
| @@ -184,13 +184,13 @@ static BasicShapeCenterCoordinate convertToCenterCoordinate(const StyleResolverS
|
| return BasicShapeCenterCoordinate(direction, offset);
|
| }
|
|
|
| -static BasicShapeRadius cssValueToBasicShapeRadius(const StyleResolverState& state, PassRefPtrWillBeRawPtr<CSSPrimitiveValue> radius)
|
| +static BasicShapeRadius cssValueToBasicShapeRadius(const StyleResolverState& state, NullableCSSValue radius)
|
| {
|
| if (!radius)
|
| return BasicShapeRadius(BasicShapeRadius::ClosestSide);
|
|
|
| - if (radius->isValueID()) {
|
| - switch (radius->getValueID()) {
|
| + if (toCSSPrimitiveValue(radius).isValueID()) {
|
| + switch (toCSSPrimitiveValue(radius).getValueID()) {
|
| case CSSValueClosestSide:
|
| return BasicShapeRadius(BasicShapeRadius::ClosestSide);
|
| case CSSValueFarthestSide:
|
| @@ -201,7 +201,7 @@ static BasicShapeRadius cssValueToBasicShapeRadius(const StyleResolverState& sta
|
| }
|
| }
|
|
|
| - return BasicShapeRadius(convertToLength(state, radius.get()));
|
| + return BasicShapeRadius(convertToLength(state, radius));
|
| }
|
|
|
| PassRefPtr<BasicShape> basicShapeForValue(const StyleResolverState& state, const CSSBasicShape* basicShapeValue)
|
| @@ -237,7 +237,7 @@ PassRefPtr<BasicShape> basicShapeForValue(const StyleResolverState& state, const
|
| RefPtr<BasicShapePolygon> polygon = BasicShapePolygon::create();
|
|
|
| polygon->setWindRule(polygonValue->windRule());
|
| - const WillBeHeapVector<RefPtrWillBeMember<CSSPrimitiveValue>>& values = polygonValue->values();
|
| + const WillBeHeapVector<CSSValue>& values = polygonValue->values();
|
| for (unsigned i = 0; i < values.size(); i += 2)
|
| polygon->appendPoint(convertToLength(state, values.at(i).get()), convertToLength(state, values.at(i + 1).get()));
|
|
|
|
|