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 8218fdaf89f3bb85eeae5d2a0ea4c3a7989c360f..af7a6be96d692ec80eea49a91d117dbf0387f107 100644 |
--- a/chrome/browser/ui/gtk/browser_actions_toolbar_gtk.cc |
+++ b/chrome/browser/ui/gtk/browser_actions_toolbar_gtk.cc |
@@ -237,6 +237,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); |
Evan Stade
2012/07/13 08:42:44
just enabled is fine.
Yoyo Zhou
2012/07/16 17:45:45
Done.
|
+ |
gtk_widget_queue_draw(button()); |
} |
@@ -581,7 +584,7 @@ BrowserActionsToolbarGtk::~BrowserActionsToolbarGtk() { |
hbox_.Destroy(); |
} |
-int BrowserActionsToolbarGtk::GetCurrentTabId() { |
+int BrowserActionsToolbarGtk::GetCurrentTabId() const { |
TabContents* active_tab = chrome::GetActiveTabContents(browser_); |
if (!active_tab) |
return -1; |
@@ -788,7 +791,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( |