Index: ui/base/clipboard/clipboard_mac.mm |
diff --git a/ui/base/clipboard/clipboard_mac.mm b/ui/base/clipboard/clipboard_mac.mm |
index 202a7f9ba948a86b2dede34128ac05ce8f37ae86..fcc4a3a662f02b6d5318a069904751a680a81aa3 100644 |
--- a/ui/base/clipboard/clipboard_mac.mm |
+++ b/ui/base/clipboard/clipboard_mac.mm |
@@ -324,12 +324,17 @@ SkBitmap ClipboardMac::ReadImage(ClipboardType type, NSPasteboard* pb) const { |
} @catch (id exception) { |
} |
- SkBitmap bitmap; |
if (image.get()) { |
- bitmap = skia::NSImageToSkBitmapWithColorSpace( |
- image.get(), /*is_opaque=*/ false, base::mac::GetSystemColorSpace()); |
+ if ([[image representations] count] == 1u) { |
+ NSImageRep* rep = [[image representations] objectAtIndex:0]; |
+ return skia::NSImageRepToSkBitmapWithColorSpace( |
+ rep, NSMakeSize([rep pixelsWide], [rep pixelsHigh]), |
+ /*is_opaque=*/false, base::mac::GetSystemColorSpace()); |
+ } |
+ return skia::NSImageToSkBitmapWithColorSpace( |
+ image.get(), /*is_opaque=*/false, base::mac::GetSystemColorSpace()); |
} |
- return bitmap; |
+ return SkBitmap(); |
} |
SkBitmap ClipboardMac::ReadImage(ClipboardType type) const { |