Bug 1190881 - Part 2. Trigger pending animation for SVG-as-image docs. draft
authorcku <cku@mozilla.com>
Thu, 25 Aug 2016 22:58:50 +0800
changeset 409944 b69207e0be4b711a3d25b8f6fe1f7967bfb7bba5
parent 409943 c3ca7426e9c827644e181b115f3152b6bec01a07
child 409945 07bb9aeb03541776d41dceba94f17ca181e11d1b
push id28615
push userbmo:cku@mozilla.com
push dateMon, 05 Sep 2016 18:28:08 +0000
bugs1190881
milestone51.0a1
Bug 1190881 - Part 2. Trigger pending animation for SVG-as-image docs. MozReview-Commit-ID: BOrdKoIDCGX
image/VectorImage.cpp
--- a/image/VectorImage.cpp
+++ b/image/VectorImage.cpp
@@ -520,16 +520,22 @@ VectorImage::GetWidth(int32_t* aWidth)
 //******************************************************************************
 NS_IMETHODIMP_(void)
 VectorImage::RequestRefresh(const TimeStamp& aTime)
 {
   if (HadRecentRefresh(aTime)) {
     return;
   }
 
+  PendingAnimationTracker* tracker =
+    mSVGDocumentWrapper->GetDocument()->GetPendingAnimationTracker();
+  if (tracker && ShouldAnimate()) {
+    tracker->TriggerPendingAnimationsOnNextTick(aTime);
+  }
+
   EvaluateAnimation();
 
   mSVGDocumentWrapper->TickRefreshDriver();
 
   if (mHasPendingInvalidation) {
     SendInvalidationNotifications();
     mHasPendingInvalidation = false;
   }