summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/gtk/browser_actions_toolbar_gtk.cc
diff options
context:
space:
mode:
authorcduvall@chromium.org <cduvall@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-16 21:31:44 +0000
committercduvall@chromium.org <cduvall@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-16 21:31:44 +0000
commitbf25115a51df82c909a4d3499014697e7ab6d30f (patch)
tree002c4a19f4186e3406a09bc4fef9cc16fd7c84d5 /chrome/browser/ui/gtk/browser_actions_toolbar_gtk.cc
parentcf0de89088da61db5f7f3d182f69635ac7e8e1d3 (diff)
downloadchromium_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.cc11
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",