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

Unified Diff: extensions/browser/api/web_contents_capture_client.cc

Issue 2895953003: Use SkJpegEncoder in gfx jpeg_codec (Closed)
Patch Set: Update comment Created 3 years, 6 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: extensions/browser/api/web_contents_capture_client.cc
diff --git a/extensions/browser/api/web_contents_capture_client.cc b/extensions/browser/api/web_contents_capture_client.cc
index 98eb66791262d4f71bc595425398885cfe354ae3..b1efdde9231d030f2f052750f1389379df976a2a 100644
--- a/extensions/browser/api/web_contents_capture_client.cc
+++ b/extensions/browser/api/web_contents_capture_client.cc
@@ -95,13 +95,14 @@ bool WebContentsCaptureClient::EncodeBitmap(const SkBitmap& bitmap,
bool encoded = false;
std::string mime_type;
switch (image_format_) {
- case api::extension_types::IMAGE_FORMAT_JPEG:
- encoded = gfx::JPEGCodec::Encode(
- reinterpret_cast<unsigned char*>(bitmap.getAddr32(0, 0)),
- gfx::JPEGCodec::FORMAT_SkBitmap, bitmap.width(), bitmap.height(),
- static_cast<int>(bitmap.rowBytes()), image_quality_, &data);
+ case api::extension_types::IMAGE_FORMAT_JPEG: {
+ SkPixmap pixmap;
+ bool success = bitmap.peekPixels(&pixmap);
+ DCHECK(success);
+ encoded = gfx::JPEGCodec::Encode(pixmap, image_quality_, &data);
mime_type = kMimeTypeJpeg;
break;
+ }
case api::extension_types::IMAGE_FORMAT_PNG:
encoded = gfx::PNGCodec::EncodeBGRASkBitmap(bitmap, should_discard_alpha,
&data);

Powered by Google App Engine
This is Rietveld 408576698