| Index: chrome/browser/ui/gtk/browser_actions_toolbar_gtk.cc
|
| diff --git a/chrome/browser/ui/gtk/browser_actions_toolbar_gtk.cc b/chrome/browser/ui/gtk/browser_actions_toolbar_gtk.cc
|
| index e2cd0d6e4de17c843c773c38e00bdc28fcf1d546..ea42b35225c5c7db53bc1054464cf54769298cd7 100644
|
| --- a/chrome/browser/ui/gtk/browser_actions_toolbar_gtk.cc
|
| +++ b/chrome/browser/ui/gtk/browser_actions_toolbar_gtk.cc
|
| @@ -238,6 +238,9 @@ class BrowserActionButton : public content::NotificationObserver,
|
| } else if (default_icon_) {
|
| SetImage(default_icon_);
|
| }
|
| + bool enabled = extension_->browser_action()->GetIsVisible(tab_id);
|
| + gtk_widget_set_sensitive(button(), enabled ? TRUE : FALSE);
|
| +
|
| gtk_widget_queue_draw(button());
|
| }
|
|
|
| @@ -582,7 +585,7 @@ BrowserActionsToolbarGtk::~BrowserActionsToolbarGtk() {
|
| hbox_.Destroy();
|
| }
|
|
|
| -int BrowserActionsToolbarGtk::GetCurrentTabId() {
|
| +int BrowserActionsToolbarGtk::GetCurrentTabId() const {
|
| TabContents* active_tab = chrome::GetActiveTabContents(browser_);
|
| if (!active_tab)
|
| return -1;
|
| @@ -789,7 +792,8 @@ bool BrowserActionsToolbarGtk::IsCommandIdChecked(int command_id) const {
|
| }
|
|
|
| bool BrowserActionsToolbarGtk::IsCommandIdEnabled(int command_id) const {
|
| - return true;
|
| + const Extension* extension = model_->GetExtensionByIndex(command_id);
|
| + return extension->browser_action()->GetIsVisible(GetCurrentTabId());
|
| }
|
|
|
| bool BrowserActionsToolbarGtk::GetAcceleratorForCommandId(
|
|
|