Bug 1226118 part 9 - Use EffectCompositor::GetAnimationsForCompositor in nsDisplayList; r=dholbert

The existing code contains a comment about needing to add transitions before
animations. However, this is unnecessary since the interaction between
transitions and animations is handled by the mWinsInCascade member that is
checked in AddAnimationsForProperty.
This commit is contained in:
Brian Birtles 2015-12-04 08:34:17 +09:00
Родитель 7806ce3d5d
Коммит e56195af79
1 изменённых файлов: 6 добавлений и 18 удалений

Просмотреть файл

@ -55,6 +55,7 @@
#include "nsCanvasFrame.h"
#include "StickyScrollContainer.h"
#include "mozilla/AnimationUtils.h"
#include "mozilla/EffectCompositor.h"
#include "mozilla/EventStates.h"
#include "mozilla/LookAndFeel.h"
#include "mozilla/PendingAnimationTracker.h"
@ -528,13 +529,9 @@ nsDisplayListBuilder::AddAnimationsAndTransitionsToLayer(Layer* aLayer,
aProperty);
presContext->AnimationManager()->ClearIsRunningOnCompositor(aFrame,
aProperty);
AnimationCollection* transitions =
presContext->TransitionManager()->GetAnimationsForCompositor(aFrame,
aProperty);
AnimationCollection* animations =
presContext->AnimationManager()->GetAnimationsForCompositor(aFrame,
aProperty);
if (!animations && !transitions) {
nsTArray<RefPtr<dom::Animation>> compositorAnimations =
EffectCompositor::GetAnimationsForCompositor(aFrame, aProperty);
if (compositorAnimations.IsEmpty()) {
return;
}
@ -590,17 +587,8 @@ nsDisplayListBuilder::AddAnimationsAndTransitionsToLayer(Layer* aLayer,
data = null_t();
}
// When both are running, animations override transitions. We want
// to add the ones that override last.
if (transitions) {
AddAnimationsForProperty(aFrame, aProperty, transitions->mAnimations,
aLayer, data, pending);
}
if (animations) {
AddAnimationsForProperty(aFrame, aProperty, animations->mAnimations,
aLayer, data, pending);
}
AddAnimationsForProperty(aFrame, aProperty, compositorAnimations,
aLayer, data, pending);
}
nsDisplayListBuilder::nsDisplayListBuilder(nsIFrame* aReferenceFrame,