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

Unified Diff: chrome/browser/ui/views/browser_action_view.cc

Issue 10806058: Move icon fallbacks into ExtensionAction. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Windows support Created 8 years, 5 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
Index: chrome/browser/ui/views/browser_action_view.cc
diff --git a/chrome/browser/ui/views/browser_action_view.cc b/chrome/browser/ui/views/browser_action_view.cc
index bd751e487752e665faef607b46221ed05c0a8e5a..7c238281c971b435ee90c883fd0a4c929a99029a 100644
--- a/chrome/browser/ui/views/browser_action_view.cc
+++ b/chrome/browser/ui/views/browser_action_view.cc
@@ -95,11 +95,6 @@ void BrowserActionButton::ViewHierarchyChanged(
gfx::Size(Extension::kBrowserActionIconMaxSize,
Extension::kBrowserActionIconMaxSize),
ImageLoadingTracker::DONT_CACHE);
- } else {
- // Set the icon to be the default extensions icon.
- default_icon_ = *ui::ResourceBundle::GetSharedInstance().GetImageNamed(
- IDR_EXTENSIONS_FAVICON).ToSkBitmap();
- UpdateState();
}
MaybeRegisterExtensionCommand();
@@ -154,7 +149,7 @@ void BrowserActionButton::OnImageLoaded(const gfx::Image& image,
const std::string& extension_id,
int index) {
if (!image.IsEmpty())
- default_icon_ = *image.ToSkBitmap();
+ loaded_icons_[browser_action_->default_icon_path()] = image;
// Call back to UpdateState() because a more specific icon might have been set
// while the load was outstanding.
@@ -174,9 +169,7 @@ void BrowserActionButton::UpdateState() {
views::CustomButton::BS_NORMAL);
}
- SkBitmap icon(browser_action()->GetIcon(tab_id));
- if (icon.isNull())
- icon = default_icon_;
+ SkBitmap icon(*browser_action()->GetIcon(tab_id, loaded_icons_).ToSkBitmap());
if (!icon.isNull()) {
if (!browser_action()->GetIsVisible(tab_id))
icon = MakeTransparent(icon);
@@ -392,9 +385,8 @@ BrowserActionView::~BrowserActionView() {
gfx::Canvas* BrowserActionView::GetIconWithBadge() {
int tab_id = panel_->GetCurrentTabId();
- SkBitmap icon = button_->extension()->browser_action()->GetIcon(tab_id);
- if (icon.isNull())
- icon = button_->default_icon();
+ SkBitmap icon = *button_->extension()->browser_action()->GetIcon(
+ tab_id, button_->loaded_icons()).ToSkBitmap();
// Dim the icon if our button is disabled.
if (!button_->IsEnabled(tab_id))

Powered by Google App Engine
This is Rietveld 408576698