| Index: Source/core/animation/css/CSSAnimatableValueFactory.cpp
|
| diff --git a/Source/core/animation/css/CSSAnimatableValueFactory.cpp b/Source/core/animation/css/CSSAnimatableValueFactory.cpp
|
| index 14536319e105387e46af7048e7e751c84ecd5da3..a7381cb52d634b3ce2ca40d37f95d8cd00e193c4 100644
|
| --- a/Source/core/animation/css/CSSAnimatableValueFactory.cpp
|
| +++ b/Source/core/animation/css/CSSAnimatableValueFactory.cpp
|
| @@ -102,6 +102,22 @@ inline static PassRefPtr<AnimatableValue> createFromDouble(double value, Animata
|
| return AnimatableDouble::create(value, constraint);
|
| }
|
|
|
| +static PassRefPtr<AnimatableValue> createFromBorderImageLength(const BorderImageLength& borderImageLength, const RenderStyle* style)
|
| +{
|
| + if (borderImageLength.isNumber())
|
| + return createFromDouble(borderImageLength.number());
|
| + return createFromLength(borderImageLength.length(), style);
|
| +}
|
| +
|
| +inline static PassRefPtr<AnimatableValue> createFromBorderImageLengthBox(const BorderImageLengthBox& borderImageLengthBox, const RenderStyle* style)
|
| +{
|
| + return AnimatableLengthBox::create(
|
| + createFromBorderImageLength(borderImageLengthBox.left(), style),
|
| + createFromBorderImageLength(borderImageLengthBox.right(), style),
|
| + createFromBorderImageLength(borderImageLengthBox.top(), style),
|
| + createFromBorderImageLength(borderImageLengthBox.bottom(), style));
|
| +}
|
| +
|
| inline static PassRefPtr<AnimatableValue> createFromLengthBox(const LengthBox& lengthBox, const RenderStyle* style)
|
| {
|
| return AnimatableLengthBox::create(
|
| @@ -229,13 +245,13 @@ PassRefPtr<AnimatableValue> CSSAnimatableValueFactory::create(CSSPropertyID prop
|
| case CSSPropertyBorderBottomWidth:
|
| return createFromDouble(style->borderBottomWidth());
|
| case CSSPropertyBorderImageOutset:
|
| - return createFromLengthBox(style->borderImageOutset(), style);
|
| + return createFromBorderImageLengthBox(style->borderImageOutset(), style);
|
| case CSSPropertyBorderImageSlice:
|
| return createFromLengthBox(style->borderImageSlices(), style);
|
| case CSSPropertyBorderImageSource:
|
| return createFromStyleImage(style->borderImageSource());
|
| case CSSPropertyBorderImageWidth:
|
| - return createFromLengthBox(style->borderImageWidth(), style);
|
| + return createFromBorderImageLengthBox(style->borderImageWidth(), style);
|
| case CSSPropertyBorderLeftColor:
|
| return createFromColor(property, style);
|
| case CSSPropertyBorderLeftWidth:
|
| @@ -376,13 +392,13 @@ PassRefPtr<AnimatableValue> CSSAnimatableValueFactory::create(CSSPropertyID prop
|
| case CSSPropertyWebkitFilter:
|
| return AnimatableFilterOperations::create(style->filter());
|
| case CSSPropertyWebkitMaskBoxImageOutset:
|
| - return createFromLengthBox(style->maskBoxImageOutset(), style);
|
| + return createFromBorderImageLengthBox(style->maskBoxImageOutset(), style);
|
| case CSSPropertyWebkitMaskBoxImageSlice:
|
| return createFromLengthBoxAndBool(style->maskBoxImageSlices(), style->maskBoxImageSlicesFill(), style);
|
| case CSSPropertyWebkitMaskBoxImageSource:
|
| return createFromStyleImage(style->maskBoxImageSource());
|
| case CSSPropertyWebkitMaskBoxImageWidth:
|
| - return createFromLengthBox(style->maskBoxImageWidth(), style);
|
| + return createFromBorderImageLengthBox(style->maskBoxImageWidth(), style);
|
| case CSSPropertyWebkitMaskImage:
|
| return createFromFillLayers<CSSPropertyWebkitMaskImage>(style->maskLayers(), style);
|
| case CSSPropertyWebkitMaskPositionX:
|
|
|