Chromium Code Reviews| Index: Source/platform/graphics/ImageBuffer.cpp |
| diff --git a/Source/platform/graphics/ImageBuffer.cpp b/Source/platform/graphics/ImageBuffer.cpp |
| index ece9dc7433d21ba3177ece5950bb03cc5136dd95..809f556cda7292a611a66a97af1ca3871aa2c925 100644 |
| --- a/Source/platform/graphics/ImageBuffer.cpp |
| +++ b/Source/platform/graphics/ImageBuffer.cpp |
| @@ -351,6 +351,12 @@ static bool encodeImage(const ImageDataBuffer& source, const String& mimeType, c |
| compressionQuality = static_cast<int>(*quality * 100 + 0.5); |
| if (!JPEGImageEncoder::encode(source, compressionQuality, encodedImage)) |
| return false; |
| + } else if (mimeType == "image/webplossless") { |
| + int compressionQuality = WEBPImageEncoder::DefaultCompressionQuality; |
| + if (quality && *quality >= 0.0 && *quality <= 1.0) |
| + compressionQuality = static_cast<int>(*quality * 100 + 0.5); |
| + if (!WEBPImageEncoder::encode(source, compressionQuality, encodedImage, WEBPImageEncoder::Lossless)) |
| + return false; |
| } else if (mimeType == "image/webp") { |
| int compressionQuality = WEBPImageEncoder::DefaultCompressionQuality; |
| if (quality && *quality >= 0.0 && *quality <= 1.0) |
| @@ -374,7 +380,13 @@ String ImageDataBuffer::toDataURL(const String& mimeType, const double* quality) |
| if (!encodeImage(*this, mimeType, quality, &encodedImage)) |
| return "data:,"; |
| - return "data:" + mimeType + ";base64," + base64Encode(encodedImage); |
| + // webplossless is an encoder selector: map it to the actual mimeType "image/webp". |
| + |
|
acterhd
2015/08/27 17:18:19
I'm used ternary operator for replace mimes.
|
| + String encodedImageMimeType = mimeType; |
| + if (mimeType == "image/webplossless") |
| + encodedImageMimeType = String("image/webp"); |
| + |
| + return "data:" + encodedImageMimeType + ";base64," + base64Encode(encodedImage); |
| } |
| } // namespace blink |