summaryrefslogtreecommitdiffstats
path: root/WebCore/platform/image-decoders/png/PNGImageDecoder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/platform/image-decoders/png/PNGImageDecoder.cpp')
-rw-r--r--WebCore/platform/image-decoders/png/PNGImageDecoder.cpp36
1 files changed, 3 insertions, 33 deletions
diff --git a/WebCore/platform/image-decoders/png/PNGImageDecoder.cpp b/WebCore/platform/image-decoders/png/PNGImageDecoder.cpp
index ad79fc8..d14333f 100644
--- a/WebCore/platform/image-decoders/png/PNGImageDecoder.cpp
+++ b/WebCore/platform/image-decoders/png/PNGImageDecoder.cpp
@@ -1,6 +1,5 @@
/*
* Copyright (C) 2006 Apple Computer, Inc.
- * Copyright (C) 2007-2009 Torch Mobile, Inc.
*
* Portions are Copyright (C) 2001 mozilla.org
*
@@ -243,9 +242,6 @@ void PNGImageDecoder::headerAvailable()
longjmp(png->jmpbuf, 1);
return;
}
-#if ENABLE(IMAGE_DECODER_DOWN_SAMPLING)
- prepareScaleDataIfNecessary();
-#endif
}
int bitDepth, colorType, interlaceType, compressionType, filterType, channels;
@@ -317,14 +313,7 @@ void PNGImageDecoder::rowAvailable(unsigned char* rowBuffer, unsigned rowIndex,
// Initialize the framebuffer if needed.
RGBA32Buffer& buffer = m_frameBufferCache[0];
if (buffer.status() == RGBA32Buffer::FrameEmpty) {
-#if ENABLE(IMAGE_DECODER_DOWN_SAMPLING)
- int width = m_scaled ? m_scaledColumns.size() : size().width();
- int height = m_scaled ? m_scaledRows.size() : size().height();
-#else
- int width = size().width();
- int height = size().height();
-#endif
- if (!buffer.setSize(width, height)) {
+ if (!buffer.setSize(size().width(), size().height())) {
static_cast<PNGImageDecoder*>(png_get_progressive_ptr(reader()->pngPtr()))->decodingFailed();
longjmp(reader()->pngPtr()->jmpbuf, 1);
return;
@@ -369,7 +358,7 @@ void PNGImageDecoder::rowAvailable(unsigned char* rowBuffer, unsigned rowIndex,
* to pass the current row, and the function will combine the
* old row and the new row.
*/
-
+
png_structp png = reader()->pngPtr();
bool hasAlpha = reader()->hasAlpha();
unsigned colorChannels = hasAlpha ? 4 : 3;
@@ -383,27 +372,8 @@ void PNGImageDecoder::rowAvailable(unsigned char* rowBuffer, unsigned rowIndex,
row = rowBuffer;
// Copy the data into our buffer.
-#if ENABLE(IMAGE_DECODER_DOWN_SAMPLING)
- if (m_scaled) {
- int destY = scaledY(rowIndex);
- if (destY < 0)
- return;
- int columns = m_scaledColumns.size();
- bool sawAlpha = buffer.hasAlpha();
- for (int x = 0; x < columns; ++x) {
- png_bytep pixel = row + m_scaledColumns[x] * 4;
- unsigned alpha = pixel[3];
- buffer.setRGBA(x, destY, pixel[0], pixel[1], pixel[2], alpha);
- if (!sawAlpha && alpha < 255) {
- sawAlpha = true;
- buffer.setHasAlpha(true);
- }
- }
- return;
- }
-#endif
int width = size().width();
- bool sawAlpha = buffer.hasAlpha();
+ bool sawAlpha = false;
for (int x = 0; x < width; x++) {
unsigned red = *row++;
unsigned green = *row++;