зеркало из https://github.com/mozilla/gecko-dev.git
b5a2513e31
We move the check of important rule and animation level into KeyframeEffect::ShouldBlockAsyncTransformAnimations(), and add a new warning for it. Note: 1. ShouldBlockAsyncTransformAnimations() only cares about transforms. And for other compositor animation properties, we count on HasEffectiveAnimationOfPropertySet() (in IsMatchForCompositor()). 2. If we check the important rules in both EffectCompositor::HasAnimationsForCompositor() and ActiveLayerTracker::IsTransformMaybeAnimated(), we may get the incorrect animation warnings (i.e. TransformFrameInactive). In most cases, we check these two functions together, so perhaps move the check of important rules outside HasEffectiveAnimationOfPropertySet() is fine. Besides, ActiveLayerTracker just tracks if there is a style change on this property (or display item) on the active layers, so should be OK to not check important rules in it. So IsMatchForCompositor() should check all transform-like properties, instead of each one, to get the correct result. (That's why we have to refactor KeyframeEffect::GetPropertiesForCompositor() as well.) Differential Revision: https://phabricator.services.mozilla.com/D34432 --HG-- extra : moz-landing-system : lando |
||
---|---|---|
.. | ||
test | ||
Animation.cpp | ||
Animation.h | ||
AnimationComparator.h | ||
AnimationEffect.cpp | ||
AnimationEffect.h | ||
AnimationEventDispatcher.cpp | ||
AnimationEventDispatcher.h | ||
AnimationPerformanceWarning.cpp | ||
AnimationPerformanceWarning.h | ||
AnimationPropertySegment.h | ||
AnimationTarget.h | ||
AnimationTimeline.cpp | ||
AnimationTimeline.h | ||
AnimationUtils.cpp | ||
AnimationUtils.h | ||
CSSPseudoElement.cpp | ||
CSSPseudoElement.h | ||
ComputedTiming.h | ||
ComputedTimingFunction.cpp | ||
ComputedTimingFunction.h | ||
DocumentTimeline.cpp | ||
DocumentTimeline.h | ||
EffectCompositor.cpp | ||
EffectCompositor.h | ||
EffectSet.cpp | ||
EffectSet.h | ||
Keyframe.h | ||
KeyframeEffect.cpp | ||
KeyframeEffect.h | ||
KeyframeEffectParams.h | ||
KeyframeUtils.cpp | ||
KeyframeUtils.h | ||
PendingAnimationTracker.cpp | ||
PendingAnimationTracker.h | ||
PostRestyleMode.h | ||
PseudoElementHashEntry.h | ||
TimingParams.cpp | ||
TimingParams.h | ||
moz.build |