diff options
author | cduvall@chromium.org <cduvall@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-16 21:31:44 +0000 |
---|---|---|
committer | cduvall@chromium.org <cduvall@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-16 21:31:44 +0000 |
commit | bf25115a51df82c909a4d3499014697e7ab6d30f (patch) | |
tree | 002c4a19f4186e3406a09bc4fef9cc16fd7c84d5 /chrome/browser/ui/gtk/browser_actions_toolbar_gtk.cc | |
parent | cf0de89088da61db5f7f3d182f69635ac7e8e1d3 (diff) | |
download | chromium_src-bf25115a51df82c909a4d3499014697e7ab6d30f.zip chromium_src-bf25115a51df82c909a4d3499014697e7ab6d30f.tar.gz chromium_src-bf25115a51df82c909a4d3499014697e7ab6d30f.tar.bz2 |
Default browser action icon to the puzzle piece.
If an extension has a browser action but does not specify an
icon, it is now set the puzzle piece icon.
*I do not have a Mac for testing, so the cocoa changes will need to be verified*
BUG=116626
TEST=BrowserActionApiTest.DynamicBrowserAction,
Make an extension with a browser action but no icon. The
icon should default to the puzzle piece.
Review URL: http://codereview.chromium.org/9665038
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127245 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ui/gtk/browser_actions_toolbar_gtk.cc')
-rw-r--r-- | chrome/browser/ui/gtk/browser_actions_toolbar_gtk.cc | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/chrome/browser/ui/gtk/browser_actions_toolbar_gtk.cc b/chrome/browser/ui/gtk/browser_actions_toolbar_gtk.cc index 457df5f..c5b40e0 100644 --- a/chrome/browser/ui/gtk/browser_actions_toolbar_gtk.cc +++ b/chrome/browser/ui/gtk/browser_actions_toolbar_gtk.cc @@ -40,6 +40,7 @@ #include "grit/ui_resources.h" #include "ui/base/accelerators/accelerator_gtk.h" #include "ui/base/gtk/gtk_compat.h" +#include "ui/base/resource/resource_bundle.h" #include "ui/gfx/canvas_skia_paint.h" #include "ui/gfx/gtk_util.h" #include "ui/gfx/image/image.h" @@ -113,8 +114,6 @@ class BrowserActionButton : public content::NotificationObserver, DCHECK(extension_->browser_action()); - UpdateState(); - // The Browser Action API does not allow the default icon path to be // changed at runtime, so we can load this now and cache it. std::string path = extension_->browser_action()->default_icon_path(); @@ -123,8 +122,16 @@ class BrowserActionButton : public content::NotificationObserver, gfx::Size(Extension::kBrowserActionIconMaxSize, Extension::kBrowserActionIconMaxSize), ImageLoadingTracker::DONT_CACHE); + } else { + const SkBitmap* bm = + ui::ResourceBundle::GetSharedInstance().GetImageNamed( + IDR_EXTENSIONS_FAVICON).ToSkBitmap(); + default_skbitmap_ = *bm; + default_icon_ = gfx::GdkPixbufFromSkBitmap(bm); } + UpdateState(); + signals_.Connect(button(), "button-press-event", G_CALLBACK(OnButtonPress), this); signals_.Connect(button(), "clicked", |