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); |