diff options
Diffstat (limited to 'gfx/layers/AnimationInfo.cpp')
-rw-r--r-- | gfx/layers/AnimationInfo.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/gfx/layers/AnimationInfo.cpp b/gfx/layers/AnimationInfo.cpp index 81d11f672c..ad43fd681f 100644 --- a/gfx/layers/AnimationInfo.cpp +++ b/gfx/layers/AnimationInfo.cpp @@ -494,11 +494,15 @@ void AnimationInfo::AddAnimationForProperty( } if (aAnimation->Pending()) { - const TimeStamp readyTime = - aFrame->PresContext()->RefreshDriver()->MostRecentRefresh( - /* aEnsureTimerStarted= */ false); - MOZ_ASSERT(!readyTime.IsNull()); - aAnimation->SetPendingReadyTime(readyTime); + TimeStamp readyTime = aAnimation->GetPendingReadyTime(); + if (readyTime.IsNull()) { + // TODO(emilio): This should generally not happen anymore, can we remove + // this SetPendingReadyTime call? + readyTime = aFrame->PresContext()->RefreshDriver()->MostRecentRefresh( + /* aEnsureTimerStarted= */ false); + MOZ_ASSERT(!readyTime.IsNull()); + aAnimation->SetPendingReadyTime(readyTime); + } MaybeStartPendingAnimation(*animation, readyTime); } } |