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

Unified Diff: Source/platform/graphics/ImageBuffer.cpp

Issue 1257253004: [HTMLCanvasElement.toBlob] Default callback version without scheduler (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Modifications based on feedback from Patch Set 3 including Layout Tests and Rebaseline of Mac and Win Created 5 years, 4 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: Source/platform/graphics/ImageBuffer.cpp
diff --git a/Source/platform/graphics/ImageBuffer.cpp b/Source/platform/graphics/ImageBuffer.cpp
index 8897e0a1b2d5eb8aca89df37843640f7fb6bb8bf..5e771133953ce268ac26cc753a0c39cd4e4b2372 100644
--- a/Source/platform/graphics/ImageBuffer.cpp
+++ b/Source/platform/graphics/ImageBuffer.cpp
@@ -327,7 +327,7 @@ void ImageBuffer::putByteArray(Multiply multiplied, const unsigned char* source,
m_surface->writePixels(info, srcAddr, srcBytesPerRow, destX, destY);
}
-static bool encodeImage(const ImageDataBuffer& source, const String& mimeType, const double* quality, Vector<char>* output)
+bool ImageDataBuffer::encodeImage(const String& mimeType, const double* quality, Vector<char>* output)
Justin Novosad 2015/08/20 20:38:43 This should be const
xlai (Olivia) 2015/08/20 21:36:29 Acknowledged and elsewhere.
{
Vector<unsigned char>* encodedImage = reinterpret_cast<Vector<unsigned char>*>(output);
@@ -335,16 +335,16 @@ static bool encodeImage(const ImageDataBuffer& source, const String& mimeType, c
int compressionQuality = JPEGImageEncoder::DefaultCompressionQuality;
if (quality && *quality >= 0.0 && *quality <= 1.0)
compressionQuality = static_cast<int>(*quality * 100 + 0.5);
- if (!JPEGImageEncoder::encode(source, compressionQuality, encodedImage))
+ if (!JPEGImageEncoder::encode(*this, compressionQuality, encodedImage))
return false;
} else if (mimeType == "image/webp") {
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))
+ if (!WEBPImageEncoder::encode(*this, compressionQuality, encodedImage))
return false;
} else {
- if (!PNGImageEncoder::encode(source, encodedImage))
+ if (!PNGImageEncoder::encode(*this, encodedImage))
return false;
ASSERT(mimeType == "image/png");
}
@@ -352,15 +352,17 @@ static bool encodeImage(const ImageDataBuffer& source, const String& mimeType, c
return true;
}
-String ImageDataBuffer::toDataURL(const String& mimeType, const double* quality) const
+String ImageDataBuffer::toDataURL(const String& mimeType, const double* quality)
Justin Novosad 2015/08/20 20:38:43 this should stay const
{
ASSERT(MIMETypeRegistry::isSupportedImageMIMETypeForEncoding(mimeType));
Vector<char> encodedImage;
- if (!encodeImage(*this, mimeType, quality, &encodedImage))
+ if (!encodeImage(mimeType, quality, &encodedImage))
return "data:,";
return "data:" + mimeType + ";base64," + base64Encode(encodedImage);
}
+
Justin Novosad 2015/08/20 20:38:43 unnecessary whitespace
+
} // namespace blink
« Source/core/html/HTMLCanvasElement.idl ('K') | « Source/platform/graphics/ImageBuffer.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698