Index: Source/core/animation/Interpolation.cpp |
diff --git a/Source/core/animation/Interpolation.cpp b/Source/core/animation/Interpolation.cpp |
index b552e0fdedfe07883820c0e0f03eb2dac9a15585..c9186c34114343fb59ac104f319d5591af22fc6e 100644 |
--- a/Source/core/animation/Interpolation.cpp |
+++ b/Source/core/animation/Interpolation.cpp |
@@ -5,6 +5,8 @@ |
#include "config.h" |
#include "core/animation/Interpolation.h" |
+#include "core/css/resolver/AnimatedStyleBuilder.h" |
+ |
namespace WebCore { |
namespace { |
@@ -15,6 +17,8 @@ bool typesMatch(const InterpolableValue* start, const InterpolableValue* end) |
return end->isNumber(); |
if (start->isBool()) |
return end->isBool(); |
+ if (start->isAnimatableValue()) |
+ return end->isAnimatableValue(); |
if (!(start->isList() && end->isList())) |
return false; |
const InterpolableList* startList = toInterpolableList(start); |
@@ -49,4 +53,10 @@ void Interpolation::interpolate(int iteration, double fraction) const |
} |
} |
+void LegacyStyleInterpolation::apply(StyleResolverState& state) const |
+{ |
+ AnimatableValue* value = currentValue(); |
+ AnimatedStyleBuilder::applyProperty(m_id, state, value); |
+} |
+ |
} |