Index: third_party/WebKit/Source/platform/image-decoders/png/PNGImageDecoder.cpp |
diff --git a/third_party/WebKit/Source/platform/image-decoders/png/PNGImageDecoder.cpp b/third_party/WebKit/Source/platform/image-decoders/png/PNGImageDecoder.cpp |
index 6deba9ce22adfd250319cac12dada224f706df3d..c06abd69305a37023f09209fda9c11f86126739e 100644 |
--- a/third_party/WebKit/Source/platform/image-decoders/png/PNGImageDecoder.cpp |
+++ b/third_party/WebKit/Source/platform/image-decoders/png/PNGImageDecoder.cpp |
@@ -206,12 +206,14 @@ void PNGImageDecoder::rowAvailable(unsigned char* rowBuffer, |
ImageFrame& buffer = m_frameBufferCache[0]; |
if (buffer.getStatus() == ImageFrame::FrameEmpty) { |
png_structp png = m_reader->pngPtr(); |
- if (!buffer.setSizeAndColorSpace(size().width(), size().height(), |
+ if (!buffer.allocateBackingStore(size().width(), size().height(), |
colorSpaceForSkImages())) { |
longjmp(JMPBUF(png), 1); |
return; |
} |
+ buffer.zeroFillPixelData(); |
+ |
unsigned colorChannels = m_reader->hasAlpha() ? 4 : 3; |
if (PNG_INTERLACE_ADAM7 == |
png_get_interlace_type(png, m_reader->infoPtr())) { |