Index: content/renderer/webclipboard_impl.cc |
diff --git a/content/renderer/webclipboard_impl.cc b/content/renderer/webclipboard_impl.cc |
index 317ec7d283d707849e2829b8035760fd2530d4b7..663d6f064f240aa56b3ae152a39cc8376816b741 100644 |
--- a/content/renderer/webclipboard_impl.cc |
+++ b/content/renderer/webclipboard_impl.cc |
@@ -155,8 +155,15 @@ void WebClipboardImpl::writeImage(const WebImage& image, |
if (!image.isNull()) { |
const SkBitmap& bitmap = image.getSkBitmap(); |
+ // WriteBitmapFromPixels expects 32-bit data. |
+ DCHECK_EQ(bitmap.config(), SkBitmap::kARGB_8888_Config); |
+ |
SkAutoLockPixels locked(bitmap); |
- scw.WriteBitmapFromPixels(bitmap.getPixels(), image.size()); |
+ void *pixels = bitmap.getPixels(); |
+ // TODO(piman): this should not be NULL, but it is. crbug.com/369621 |
+ if (!pixels) |
+ return; |
+ scw.WriteBitmapFromPixels(pixels, image.size()); |
} |
if (!url.isEmpty()) { |