зеркало из https://github.com/mozilla/gecko-dev.git
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:
Родитель
7806ce3d5d
Коммит
e56195af79
|
@ -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,
|
||||
|
|
Загрузка…
Ссылка в новой задаче