Index: third_party/WebKit/Source/core/animation/CSSImageSliceInterpolationType.cpp |
diff --git a/third_party/WebKit/Source/core/animation/CSSImageSliceInterpolationType.cpp b/third_party/WebKit/Source/core/animation/CSSImageSliceInterpolationType.cpp |
index 037199d0369a0da23dfce61dd60b997c4daf2f7c..ec13167393eb4cd36f4780c004be06f51982879c 100644 |
--- a/third_party/WebKit/Source/core/animation/CSSImageSliceInterpolationType.cpp |
+++ b/third_party/WebKit/Source/core/animation/CSSImageSliceInterpolationType.cpp |
@@ -34,10 +34,10 @@ struct SliceTypes { |
} |
explicit SliceTypes(const CSSBorderImageSliceValue& slice) |
{ |
- isNumber[SideTop] = slice.slices().top()->isNumber(); |
- isNumber[SideRight] = slice.slices().right()->isNumber(); |
- isNumber[SideBottom] = slice.slices().bottom()->isNumber(); |
- isNumber[SideLeft] = slice.slices().left()->isNumber(); |
+ isNumber[SideTop] = slice.slices().top()->isPrimitiveValue() && toCSSPrimitiveValue(slice.slices().top())->isNumber(); |
+ isNumber[SideRight] = slice.slices().right()->isPrimitiveValue() && toCSSPrimitiveValue(slice.slices().right())->isNumber(); |
+ isNumber[SideBottom] = slice.slices().bottom()->isPrimitiveValue() && toCSSPrimitiveValue(slice.slices().bottom())->isNumber(); |
+ isNumber[SideLeft] = slice.slices().left()->isPrimitiveValue() && toCSSPrimitiveValue(slice.slices().left())->isNumber(); |
fill = slice.fill(); |
} |
@@ -179,14 +179,14 @@ InterpolationValue CSSImageSliceInterpolationType::maybeConvertValue(const CSSVa |
const CSSBorderImageSliceValue& slice = toCSSBorderImageSliceValue(value); |
std::unique_ptr<InterpolableList> list = InterpolableList::create(SideIndexCount); |
- const CSSPrimitiveValue* sides[SideIndexCount]; |
+ const CSSValue* sides[SideIndexCount]; |
sides[SideTop] = slice.slices().top(); |
sides[SideRight] = slice.slices().right(); |
sides[SideBottom] = slice.slices().bottom(); |
sides[SideLeft] = slice.slices().left(); |
for (size_t i = 0; i < SideIndexCount; i++) { |
- const CSSPrimitiveValue& side = *sides[i]; |
+ const CSSPrimitiveValue& side = *toCSSPrimitiveValue(sides[i]); |
DCHECK(side.isNumber() || side.isPercentage()); |
list->set(i, InterpolableNumber::create(side.getDoubleValue())); |
} |