| 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);
|
|
|