Index: third_party/WebKit/Source/platform/image-decoders/gif/GIFImageDecoder.cpp |
diff --git a/third_party/WebKit/Source/platform/image-decoders/gif/GIFImageDecoder.cpp b/third_party/WebKit/Source/platform/image-decoders/gif/GIFImageDecoder.cpp |
index 457666d25dbf9719bca561b730007b49d180edd0..e9d3fb1f878bb29f75fece6510d53e420672b566 100644 |
--- a/third_party/WebKit/Source/platform/image-decoders/gif/GIFImageDecoder.cpp |
+++ b/third_party/WebKit/Source/platform/image-decoders/gif/GIFImageDecoder.cpp |
@@ -83,9 +83,11 @@ int GIFImageDecoder::repetitionCount() const |
return m_repetitionCount; |
} |
-bool GIFImageDecoder::frameIsCompleteAtIndex(size_t index) const |
+bool GIFImageDecoder::frameIsFullyReceivedAtIndex(size_t index) const |
{ |
- return m_reader && (index < m_reader->imagesCount()) && m_reader->frameContext(index)->isComplete(); |
+ ASSERT(haveUpdatedFrameCount()); |
+ return (m_reader && (index < m_reader->imagesCount()) && m_reader->frameContext(index)->isComplete()) |
+ || ImageDecoder::frameIsFullyReceivedAtIndex(index); |
} |
float GIFImageDecoder::frameDurationAtIndex(size_t index) const |
@@ -296,8 +298,7 @@ void GIFImageDecoder::initializeNewFrame(size_t index) |
void GIFImageDecoder::decode(size_t index) |
{ |
- parse(GIFFrameCountQuery); |
- |
+ ASSERT(haveUpdatedFrameCount()); |
if (failed()) |
return; |