Index: Source/core/animation/css/CSSAnimations.cpp |
diff --git a/Source/core/animation/css/CSSAnimations.cpp b/Source/core/animation/css/CSSAnimations.cpp |
index 13788b4a12351accedbc5f769f4c1b7bb17001f6..c84840ba2c6e038a1ae821e716edc05b9883d4dd 100644 |
--- a/Source/core/animation/css/CSSAnimations.cpp |
+++ b/Source/core/animation/css/CSSAnimations.cpp |
@@ -519,9 +519,8 @@ void CSSAnimations::maybeApplyPendingUpdate(Element* element) |
newFrames.append(frames[0]->clone()); |
newFrames[0]->clearPropertyValue(id); |
ASSERT(oldAnimation->compositableValues()->size() == 1); |
- const AnimationEffect::CompositableValue* compositableValue = oldAnimation->compositableValues()->at(0).second.get(); |
- ASSERT(!compositableValue->dependsOnUnderlyingValue()); |
- newFrames[0]->setPropertyValue(id, compositableValue->compositeOnto(0).get()); |
+ const AnimatableValue* value = static_cast<LegacyStyleInterpolation *>(oldAnimation->compositableValues()->at(0).get())->currentValue(); |
+ newFrames[0]->setPropertyValue(id, value); |
newFrames.append(frames[1]->clone()); |
effect = KeyframeEffectModel::create(newFrames); |
} |
@@ -675,7 +674,7 @@ void CSSAnimations::calculateAnimationCompositableValues(CSSAnimationUpdate* upd |
AnimationStack* animationStack = activeAnimations ? &activeAnimations->defaultStack() : 0; |
if (update->newAnimations().isEmpty() && update->cancelledAnimationPlayers().isEmpty()) { |
- AnimationEffect::CompositableValueMap compositableValuesForAnimations(AnimationStack::compositableValues(animationStack, 0, 0, Animation::DefaultPriority)); |
+ HashMap<CSSPropertyID, RefPtr<Interpolation> > compositableValuesForAnimations(AnimationStack::compositableValues(animationStack, 0, 0, Animation::DefaultPriority)); |
update->adoptCompositableValuesForAnimations(compositableValuesForAnimations); |
return; |
} |
@@ -686,7 +685,7 @@ void CSSAnimations::calculateAnimationCompositableValues(CSSAnimationUpdate* upd |
for (HashSet<RefPtr<InertAnimation> >::const_iterator animationsIter = animations.begin(); animationsIter != animations.end(); ++animationsIter) |
newAnimations.append(animationsIter->get()); |
} |
- AnimationEffect::CompositableValueMap compositableValuesForAnimations(AnimationStack::compositableValues(animationStack, &newAnimations, &update->cancelledAnimationPlayers(), Animation::DefaultPriority)); |
+ HashMap<CSSPropertyID, RefPtr<Interpolation> > compositableValuesForAnimations(AnimationStack::compositableValues(animationStack, &newAnimations, &update->cancelledAnimationPlayers(), Animation::DefaultPriority)); |
update->adoptCompositableValuesForAnimations(compositableValuesForAnimations); |
} |
@@ -695,7 +694,7 @@ void CSSAnimations::calculateTransitionCompositableValues(CSSAnimationUpdate* up |
ActiveAnimations* activeAnimations = element ? element->activeAnimations() : 0; |
AnimationStack* animationStack = activeAnimations ? &activeAnimations->defaultStack() : 0; |
- AnimationEffect::CompositableValueMap compositableValuesForTransitions; |
+ HashMap<CSSPropertyID, RefPtr<Interpolation> > compositableValuesForTransitions; |
if (update->newTransitions().isEmpty() && update->cancelledTransitions().isEmpty()) { |
compositableValuesForTransitions = AnimationStack::compositableValues(animationStack, 0, 0, Animation::TransitionPriority); |
} else { |
@@ -718,7 +717,7 @@ void CSSAnimations::calculateTransitionCompositableValues(CSSAnimationUpdate* up |
// Properties being animated by animations don't get values from transitions applied. |
if (!update->compositableValuesForAnimations().isEmpty() && !compositableValuesForTransitions.isEmpty()) { |
- for (AnimationEffect::CompositableValueMap::const_iterator iter = update->compositableValuesForAnimations().begin(); iter != update->compositableValuesForAnimations().end(); ++iter) |
+ for (HashMap<CSSPropertyID, RefPtr<Interpolation> >::const_iterator iter = update->compositableValuesForAnimations().begin(); iter != update->compositableValuesForAnimations().end(); ++iter) |
compositableValuesForTransitions.remove(iter->key); |
} |
update->adoptCompositableValuesForTransitions(compositableValuesForTransitions); |