summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/icon_loader_mac.mm10
1 files changed, 8 insertions, 2 deletions
diff --git a/chrome/browser/icon_loader_mac.mm b/chrome/browser/icon_loader_mac.mm
index 7313a69..62bf1fe 100644
--- a/chrome/browser/icon_loader_mac.mm
+++ b/chrome/browser/icon_loader_mac.mm
@@ -18,6 +18,10 @@ void IconLoader::ReadIcon() {
NSWorkspace* workspace = [NSWorkspace sharedWorkspace];
NSImage* icon = [workspace iconForFileType:group];
+ // TODO(pkotwicz): Remove CHECKs once www.crbug.com/159941 is resolved.
+ CHECK(icon);
+ CHECK_LT(0u, [icon representations].count);
+
if (icon_size_ == ALL) {
// The NSImage already has all sizes.
image_.reset(new gfx::Image([icon retain]));
@@ -34,8 +38,10 @@ void IconLoader::ReadIcon() {
NOTREACHED();
}
gfx::ImageSkia image_skia(gfx::ImageSkiaFromResizedNSImage(icon, size));
- image_skia.MakeThreadSafe();
- image_.reset(new gfx::Image(image_skia));
+ if (!image_skia.isNull()) {
+ image_skia.MakeThreadSafe();
+ image_.reset(new gfx::Image(image_skia));
+ }
}
target_message_loop_->PostTask(FROM_HERE,