Index: third_party/WebKit/Source/platform/graphics/BitmapImage.h |
diff --git a/third_party/WebKit/Source/platform/graphics/BitmapImage.h b/third_party/WebKit/Source/platform/graphics/BitmapImage.h |
index c237257adedce8137d641d3cfb2792a54ee9e015..a530097e44b07c6caedeac5274efcd90fc794afa 100644 |
--- a/third_party/WebKit/Source/platform/graphics/BitmapImage.h |
+++ b/third_party/WebKit/Source/platform/graphics/BitmapImage.h |
@@ -140,6 +140,12 @@ private: |
void startAnimation(CatchUpAnimation = CatchUp) override; |
void stopAnimation(); |
void advanceAnimation(Timer<BitmapImage>*); |
+ // Advance the animation and let the next frame get scheduled without |
+ // catch-up logic. For large images with slow or heavily-loaded systems, |
+ // throwing away data as we go (see destroyDecodedData()) means we can spend |
+ // so much time re-decoding data that we are always behind. To prevent this, |
+ // we force the next animation to skip the catch up logic. |
+ void advanceAnimationWithoutCatchUp(Timer<BitmapImage>*); |
// Function that does the real work of advancing the animation. When |
// skippingFrames is true, we're in the middle of a loop trying to skip over |