Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(664)

Unified Diff: chrome/browser/ui/toolbar/origin_chip_info.cc

Issue 291173008: [OriginChip] Don't crash for invalid extension URL (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Review fix. Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/toolbar/origin_chip_info.cc
diff --git a/chrome/browser/ui/toolbar/origin_chip_info.cc b/chrome/browser/ui/toolbar/origin_chip_info.cc
index 84572f9e5ab5f1bdeab5f4a58776a3cdb494b3c7..ca702e76a2dbb8ef907a7af829439c43164a3dac 100644
--- a/chrome/browser/ui/toolbar/origin_chip_info.cc
+++ b/chrome/browser/ui/toolbar/origin_chip_info.cc
@@ -111,36 +111,41 @@ bool OriginChipInfo::Update(const content::WebContents* web_contents,
label_);
}
- if (displayed_url_.SchemeIs(extensions::kExtensionScheme)) {
- icon_ = IDR_EXTENSIONS_FAVICON;
+ if (displayed_url_.SchemeIs(extensions::kExtensionScheme)) {
const extensions::Extension* extension =
extensions::ExtensionSystem::Get(profile_)->extension_service()->
extensions()->GetExtensionOrAppByURL(displayed_url_);
- extension_icon_image_.reset(
- new extensions::IconImage(profile_,
- extension,
- extensions::IconsInfo::GetIcons(extension),
- extension_misc::EXTENSION_ICON_BITTY,
- extensions::util::GetDefaultAppIcon(),
- owner_));
-
- // Forces load of the image.
- extension_icon_image_->image_skia().GetRepresentation(1.0f);
- if (!extension_icon_image_->image_skia().image_reps().empty())
- owner_->OnExtensionIconImageChanged(extension_icon_image_.get());
- } else {
- if (extension_icon_image_) {
- extension_icon_image_.reset();
- owner_->OnExtensionIconImageChanged(NULL);
+
+ if (extension) {
+ icon_ = IDR_EXTENSIONS_FAVICON;
+ extension_icon_image_.reset(
+ new extensions::IconImage(profile_,
+ extension,
+ extensions::IconsInfo::GetIcons(extension),
+ extension_misc::EXTENSION_ICON_BITTY,
+ extensions::util::GetDefaultAppIcon(),
+ owner_));
+
+ // Forces load of the image.
+ extension_icon_image_->image_skia().GetRepresentation(1.0f);
+ if (!extension_icon_image_->image_skia().image_reps().empty())
+ owner_->OnExtensionIconImageChanged(extension_icon_image_.get());
+
+ return true;
}
+ }
- icon_ = (displayed_url_.is_empty() ||
- displayed_url_.SchemeIs(content::kChromeUIScheme)) ?
- IDR_PRODUCT_LOGO_16 :
- toolbar_model->GetIconForSecurityLevel(security_level_);
+ if (extension_icon_image_) {
+ extension_icon_image_.reset();
+ owner_->OnExtensionIconImageChanged(NULL);
}
+ icon_ = (displayed_url_.is_empty() ||
+ displayed_url_.SchemeIs(content::kChromeUIScheme)) ?
+ IDR_PRODUCT_LOGO_16 :
+ toolbar_model->GetIconForSecurityLevel(security_level_);
+
return true;
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698