Index: chrome/browser/ui/cocoa/extensions/browser_action_button.mm |
diff --git a/chrome/browser/ui/cocoa/extensions/browser_action_button.mm b/chrome/browser/ui/cocoa/extensions/browser_action_button.mm |
index 30ced534ba35f2575894949fecc8ab892790f078..728d0187e780b9de156fe034dab03f07d5eb13e2 100644 |
--- a/chrome/browser/ui/cocoa/extensions/browser_action_button.mm |
+++ b/chrome/browser/ui/cocoa/extensions/browser_action_button.mm |
@@ -173,7 +173,8 @@ class ExtensionImageTrackerBridge : public content::NotificationObserver, |
} |
- (void)mouseDown:(NSEvent*)theEvent { |
- [[self cell] setHighlighted:YES]; |
+ if ([self isEnabled]) |
+ [[self cell] setHighlighted:YES]; |
dragCouldStart_ = YES; |
} |
@@ -256,14 +257,19 @@ class ExtensionImageTrackerBridge : public content::NotificationObserver, |
if (tabId_ < 0) |
return; |
- std::string tooltip = extension_->browser_action()->GetTitle(tabId_); |
+ ExtensionAction* browser_action = extension_->browser_action(); |
+ CHECK(browser_action); |
+ |
+ [self setEnabled:browser_action->GetIsVisible(tabId_)]; |
+ |
+ std::string tooltip = browser_action->GetTitle(tabId_); |
if (tooltip.empty()) { |
[self setToolTip:nil]; |
} else { |
[self setToolTip:base::SysUTF8ToNSString(tooltip)]; |
} |
- SkBitmap image = extension_->browser_action()->GetIcon(tabId_); |
+ SkBitmap image = browser_action->GetIcon(tabId_); |
if (!image.isNull()) { |
[self setTabSpecificIcon:gfx::SkBitmapToNSImage(image)]; |
[self setImage:tabSpecificIcon_]; |