summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Source/WebCore/platform/graphics/qt/ImageBufferQt.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/Source/WebCore/platform/graphics/qt/ImageBufferQt.cpp b/Source/WebCore/platform/graphics/qt/ImageBufferQt.cpp
index f8a929c3f..a796284c5 100644
--- a/Source/WebCore/platform/graphics/qt/ImageBufferQt.cpp
+++ b/Source/WebCore/platform/graphics/qt/ImageBufferQt.cpp
@@ -196,9 +196,12 @@ void ImageBuffer::putByteArray(Multiply multiplied, Uint8ClampedArray* source, c
static bool encodeImage(const QPixmap& pixmap, const String& format, const double* quality, QByteArray& data)
{
- int compressionQuality = 100;
- if (quality && *quality >= 0.0 && *quality <= 1.0)
- compressionQuality = static_cast<int>(*quality * 100 + 0.5);
+ int compressionQuality = -1;
+ if (format == "jpeg" || format == "webp") {
+ compressionQuality = 100;
+ if (quality && *quality >= 0.0 && *quality <= 1.0)
+ compressionQuality = static_cast<int>(*quality * 100 + 0.5);
+ }
QBuffer buffer(&data);
buffer.open(QBuffer::WriteOnly);