diff options
author | pkotwicz@chromium.org <pkotwicz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-14 01:44:39 +0000 |
---|---|---|
committer | pkotwicz@chromium.org <pkotwicz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-14 01:44:39 +0000 |
commit | 6021d94e1114a6721905c4960c096c90e2f358ed (patch) | |
tree | c5e91e8eaa3d5ada304de719516f5e9add3f96de | |
parent | d49b0f14ba3050c9579fb2c35d347dca170374cf (diff) | |
download | chromium_src-6021d94e1114a6721905c4960c096c90e2f358ed.zip chromium_src-6021d94e1114a6721905c4960c096c90e2f358ed.tar.gz chromium_src-6021d94e1114a6721905c4960c096c90e2f358ed.tar.bz2 |
Add Check() to better diagnose www.crbug.com/159941
In icon_loader_mac.mm, if loading image failed, set |image_| to Null.
BUG=159941
Test=None
R=rsesek
TBR=thakis
Review URL: https://chromiumcodereview.appspot.com/11362148
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@167567 0039d316-1c4b-4281-b951-d872f2087c98
-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, |