| 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))
|
|
|