mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
c9bbacc6bb
Previously we used IsFinishedTransition so that if the only animations present are finished transitions we could throttle the tick. In fact, this probably shouldn't even be necessary since we shouldn't be calling CanThrottle if AnimationCollection::mNeedsRefreshes is false. However, so long as we're performing this test it turns out we can generalize this further and throttle ticks for all finished animations that are not newly finished, regardless of whether they are running on the compositor or not (although this method won't be called unless the animation property could be run on the compositor anyway). This method is somewhat confusing. For one, it is not strictly limited to animations that are running on the compositor. It appears to only return true when the animation is running on the compositor but the mIsRunningOnCompositor flag doesn't get cleared when the animation finishes (bug 1151694). As a result this method also deals with animations that are now running on the main thread. This patch makes us deal with such animations more consistently. This patch also reworks this method so that it's hopefully a little easier to follow and a little more consistent since I spent several hours trying to understand the different combinations of inputs this method could take and what question it was trying to answer. |
||
---|---|---|
.. | ||
test | ||
Animation.cpp | ||
Animation.h | ||
AnimationComparator.h | ||
AnimationEffectReadOnly.cpp | ||
AnimationEffectReadOnly.h | ||
AnimationTimeline.cpp | ||
AnimationTimeline.h | ||
AnimationUtils.h | ||
DocumentTimeline.cpp | ||
DocumentTimeline.h | ||
KeyframeEffect.cpp | ||
KeyframeEffect.h | ||
moz.build | ||
PendingAnimationTracker.cpp | ||
PendingAnimationTracker.h |