Index: Source/core/css/resolver/StyleResolver.cpp |
diff --git a/Source/core/css/resolver/StyleResolver.cpp b/Source/core/css/resolver/StyleResolver.cpp |
index 53348df162a2e4dbeb211c5f3735659ab860ba47..b06632ac545d7faaca921f9c717c92f3a393c07f 100644 |
--- a/Source/core/css/resolver/StyleResolver.cpp |
+++ b/Source/core/css/resolver/StyleResolver.cpp |
@@ -1072,12 +1072,12 @@ void StyleResolver::applyAnimatedProperties(StyleResolverState& state, Element* |
if (!state.animationUpdate()) |
return; |
- const AnimationEffect::CompositableValueMap& compositableValuesForAnimations = state.animationUpdate()->compositableValuesForAnimations(); |
- const AnimationEffect::CompositableValueMap& compositableValuesForTransitions = state.animationUpdate()->compositableValuesForTransitions(); |
- applyAnimatedProperties<HighPriorityProperties>(state, compositableValuesForAnimations); |
- applyAnimatedProperties<HighPriorityProperties>(state, compositableValuesForTransitions); |
- applyAnimatedProperties<LowPriorityProperties>(state, compositableValuesForAnimations); |
- applyAnimatedProperties<LowPriorityProperties>(state, compositableValuesForTransitions); |
+ const HashMap<CSSPropertyID, RefPtr<Interpolation> >& activeInterpolationsForAnimations = state.animationUpdate()->activeInterpolationsForAnimations(); |
+ const HashMap<CSSPropertyID, RefPtr<Interpolation> >& activeInterpolationsForTransitions = state.animationUpdate()->activeInterpolationsForTransitions(); |
+ applyAnimatedProperties<HighPriorityProperties>(state, activeInterpolationsForAnimations); |
+ applyAnimatedProperties<HighPriorityProperties>(state, activeInterpolationsForTransitions); |
+ applyAnimatedProperties<LowPriorityProperties>(state, activeInterpolationsForAnimations); |
+ applyAnimatedProperties<LowPriorityProperties>(state, activeInterpolationsForTransitions); |
// If the animations/transitions change opacity or transform, we need to update |
// the style to impose the stacking rules. Note that this is also |
@@ -1088,17 +1088,16 @@ void StyleResolver::applyAnimatedProperties(StyleResolverState& state, Element* |
} |
template <StyleResolver::StyleApplicationPass pass> |
-void StyleResolver::applyAnimatedProperties(StyleResolverState& state, const AnimationEffect::CompositableValueMap& compositableValues) |
+void StyleResolver::applyAnimatedProperties(StyleResolverState& state, const HashMap<CSSPropertyID, RefPtr<Interpolation> >& activeInterpolations) |
{ |
ASSERT(pass != AnimationProperties); |
- for (AnimationEffect::CompositableValueMap::const_iterator iter = compositableValues.begin(); iter != compositableValues.end(); ++iter) { |
+ for (HashMap<CSSPropertyID, RefPtr<Interpolation> >::const_iterator iter = activeInterpolations.begin(); iter != activeInterpolations.end(); ++iter) { |
CSSPropertyID property = iter->key; |
if (!isPropertyForPass<pass>(property)) |
continue; |
- ASSERT_WITH_MESSAGE(!iter->value->dependsOnUnderlyingValue(), "Web Animations not yet implemented: An interface for compositing onto the underlying value."); |
- RefPtr<AnimatableValue> animatableValue = iter->value->compositeOnto(0); |
- AnimatedStyleBuilder::applyProperty(property, state, animatableValue.get()); |
+ const StyleInterpolation *interpolation = toStyleInterpolation(iter->value.get()); |
+ interpolation->apply(state); |
} |
} |