Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(328)

Unified Diff: Source/core/animation/css/CSSAnimations.cpp

Issue 143573004: [wip] interpolable value refactor. NOT FOR LANDING. Base URL: https://chromium.googlesource.com/chromium/blink.git@interpolationWrap
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/animation/css/CSSAnimations.h ('k') | Source/core/core.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
« no previous file with comments | « Source/core/animation/css/CSSAnimations.h ('k') | Source/core/core.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698