Index: third_party/WebKit/Source/core/animation/StringKeyframe.cpp |
diff --git a/third_party/WebKit/Source/core/animation/StringKeyframe.cpp b/third_party/WebKit/Source/core/animation/StringKeyframe.cpp |
index 3ea0b7078f539de509f1d4880dfd23995c07ea8d..f6778f2461bb2a3fe32e11b2080d63786e18b86c 100644 |
--- a/third_party/WebKit/Source/core/animation/StringKeyframe.cpp |
+++ b/third_party/WebKit/Source/core/animation/StringKeyframe.cpp |
@@ -28,14 +28,13 @@ |
#include "core/animation/LegacyStyleInterpolation.h" |
#include "core/animation/LengthBoxStyleInterpolation.h" |
#include "core/animation/LengthPairStyleInterpolation.h" |
-#include "core/animation/LengthSVGInterpolation.h" |
#include "core/animation/LengthStyleInterpolation.h" |
-#include "core/animation/ListSVGInterpolation.h" |
#include "core/animation/ListStyleInterpolation.h" |
#include "core/animation/SVGAngleInterpolationType.h" |
#include "core/animation/SVGIntegerInterpolationType.h" |
#include "core/animation/SVGIntegerOptionalIntegerInterpolationType.h" |
#include "core/animation/SVGLengthInterpolationType.h" |
+#include "core/animation/SVGLengthListInterpolationType.h" |
#include "core/animation/SVGNumberInterpolationType.h" |
#include "core/animation/SVGNumberListInterpolationType.h" |
#include "core/animation/SVGNumberOptionalNumberInterpolationType.h" |
@@ -299,12 +298,19 @@ const InterpolationTypes* applicableTypesForProperty(PropertyHandle property) |
|| attribute == SVGNames::startOffsetAttr |
|| attribute == SVGNames::textLengthAttr |
|| attribute == SVGNames::widthAttr |
- || attribute == SVGNames::xAttr |
|| attribute == SVGNames::x1Attr |
|| attribute == SVGNames::x2Attr |
|| attribute == SVGNames::y1Attr |
|| attribute == SVGNames::y2Attr) { |
applicableTypes->append(adoptPtr(new SVGLengthInterpolationType(attribute))); |
+ } else if (attribute == SVGNames::dxAttr |
+ || attribute == SVGNames::dyAttr) { |
+ applicableTypes->append(adoptPtr(new SVGNumberInterpolationType(attribute))); |
+ applicableTypes->append(adoptPtr(new SVGLengthListInterpolationType(attribute))); |
+ } else if (attribute == SVGNames::xAttr |
+ || attribute == SVGNames::yAttr) { |
+ applicableTypes->append(adoptPtr(new SVGLengthInterpolationType(attribute))); |
+ applicableTypes->append(adoptPtr(new SVGLengthListInterpolationType(attribute))); |
} else if (attribute == SVGNames::amplitudeAttr |
|| attribute == SVGNames::azimuthAttr |
|| attribute == SVGNames::biasAttr |
@@ -602,15 +608,12 @@ PassRefPtr<Interpolation> createSVGInterpolation(SVGPropertyBase* fromValue, SVG |
RefPtr<Interpolation> interpolation = nullptr; |
ASSERT(fromValue->type() == toValue->type()); |
switch (fromValue->type()) { |
- case AnimatedLengthList: |
- interpolation = ListSVGInterpolation<LengthSVGInterpolation>::maybeCreate(fromValue, toValue, attribute); |
- break; |
- |
// Handled by SVGInterpolationTypes. |
case AnimatedAngle: |
case AnimatedInteger: |
case AnimatedIntegerOptionalInteger: |
case AnimatedLength: |
+ case AnimatedLengthList: |
case AnimatedNumber: |
case AnimatedNumberList: |
case AnimatedNumberOptionalNumber: |