Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(57)

Unified Diff: third_party/WebKit/Source/platform/image-decoders/ImageDecoder.cpp

Issue 1962563002: Fix ImageDecoder::frameIsCompleteAtIndex - fully received instead of decoded. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: PNG alpha & partial decode fixes. Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/platform/image-decoders/ImageDecoder.cpp
diff --git a/third_party/WebKit/Source/platform/image-decoders/ImageDecoder.cpp b/third_party/WebKit/Source/platform/image-decoders/ImageDecoder.cpp
index 663f0d5d1ede08172707f54097054bba8349cca9..84b75ef8b211fa647ae06f0230926f2522dfe25a 100644
--- a/third_party/WebKit/Source/platform/image-decoders/ImageDecoder.cpp
+++ b/third_party/WebKit/Source/platform/image-decoders/ImageDecoder.cpp
@@ -146,13 +146,14 @@ ImageFrame* ImageDecoder::frameBufferAtIndex(size_t index)
bool ImageDecoder::frameHasAlphaAtIndex(size_t index) const
{
- return !frameIsCompleteAtIndex(index) || m_frameBufferCache[index].hasAlpha();
+ return index >= m_frameBufferCache.size()
+ || m_frameBufferCache[index].getStatus() == ImageFrame::FramePartial
aleksandar.stojiljkovic 2016/05/11 11:05:16 As I still didn't fix BMPImageDecoder alpha handli
scroggo_chromium 2016/05/11 15:17:34 FWIW, you didn't fix PNGImageDecoder (or, you fixe
Peter Kasting 2016/05/11 18:29:34 I think you want "!= ImageFrame::FrameComplete", b
aleksandar.stojiljkovic 2016/05/16 13:09:49 Now the patch fixed the former PNG and BMP decoder
scroggo_chromium 2016/05/16 20:32:08 My preference is that *if* we have two separate me
Peter Kasting 2016/05/16 20:35:53 What I want is for the following two things to be
scroggo_chromium 2016/05/16 20:40:56 Yes, that sounds good to me.
+ || m_frameBufferCache[index].hasAlpha();
}
-bool ImageDecoder::frameIsCompleteAtIndex(size_t index) const
+bool ImageDecoder::frameIsFullyReceivedAtIndex(size_t index) const
{
- return (index < m_frameBufferCache.size()) &&
- (m_frameBufferCache[index].getStatus() == ImageFrame::FrameComplete);
+ return m_isAllDataReceived;
}
size_t ImageDecoder::frameBytesAtIndex(size_t index) const

Powered by Google App Engine
This is Rietveld 408576698