diff options
-rw-r--r-- | chrome/browser/icon_loader_mac.mm | 10 |
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, |