Index: Source/core/animation/InvalidatableStyleInterpolation.cpp |
diff --git a/Source/core/animation/InvalidatableStyleInterpolation.cpp b/Source/core/animation/InvalidatableStyleInterpolation.cpp |
index 18ba3b6afe8fbb952a5bb3db7fd5b7cbae208467..9b3da9b7a3b1d3cf09c3c5c8d00813e26ba11859 100644 |
--- a/Source/core/animation/InvalidatableStyleInterpolation.cpp |
+++ b/Source/core/animation/InvalidatableStyleInterpolation.cpp |
@@ -27,8 +27,7 @@ bool InvalidatableStyleInterpolation::maybeCachePairwiseConversion(const StyleRe |
for (const auto& animationType : m_animationTypes) { |
OwnPtrWillBeRawPtr<PairwisePrimitiveInterpolation> pairwiseConversion = animationType->maybeConvertPairwise(m_startKeyframe, m_endKeyframe, state, m_conversionCheckers); |
if (pairwiseConversion) { |
- m_cachedValue.type = animationType; |
- pairwiseConversion->initializeAnimationValue(m_cachedValue); |
+ m_cachedValue = pairwiseConversion->initialValue(); |
m_cachedConversion = pairwiseConversion.release(); |
return true; |
} |
@@ -44,10 +43,10 @@ void InvalidatableStyleInterpolation::interpolate(int, double fraction) |
// We defer the interpolation to ensureValidInterpolation() if m_cachedConversion is null. |
} |
-PassOwnPtrWillBeRawPtr<FlipPrimitiveInterpolation::Side> InvalidatableStyleInterpolation::convertSingleKeyframe(const CSSPropertySpecificKeyframe& keyframe, const StyleResolverState& state) const |
+PassOwnPtrWillBeRawPtr<AnimationValue> InvalidatableStyleInterpolation::convertSingleKeyframe(const CSSPropertySpecificKeyframe& keyframe, const StyleResolverState& state) const |
{ |
for (const auto& animationType : m_animationTypes) { |
- OwnPtrWillBeRawPtr<FlipPrimitiveInterpolation::Side> result = animationType->maybeConvertSingle(keyframe, &state, m_conversionCheckers); |
+ OwnPtrWillBeRawPtr<AnimationValue> result = animationType->maybeConvertSingle(keyframe, &state, m_conversionCheckers); |
if (result) |
return result.release(); |
} |
@@ -80,7 +79,7 @@ void InvalidatableStyleInterpolation::ensureValidInterpolation(const StyleResolv |
void InvalidatableStyleInterpolation::apply(StyleResolverState& state) const |
{ |
ensureValidInterpolation(state); |
- m_cachedValue.type->apply(*m_cachedValue.interpolableValue, m_cachedValue.nonInterpolableValue.get(), state); |
+ m_cachedValue->type().apply(m_cachedValue->interpolableValue(), m_cachedValue->nonInterpolableValue(), state); |
} |
} // namespace blink |