Index: chrome/browser/ui/cocoa/tabs/tab_controller.mm |
diff --git a/chrome/browser/ui/cocoa/tabs/tab_controller.mm b/chrome/browser/ui/cocoa/tabs/tab_controller.mm |
index 7a00bb503b844f33f839ba1eee542b2f515fb5bd..1dfa01157ec6219293da2f7793759317c07ae006 100644 |
--- a/chrome/browser/ui/cocoa/tabs/tab_controller.mm |
+++ b/chrome/browser/ui/cocoa/tabs/tab_controller.mm |
@@ -102,7 +102,6 @@ class MenuDelegate : public ui::SimpleMenuModel::Delegate { |
// to |selected|. Pass the selection change to the subviews that need it and |
// mark ourselves as needing a redraw. |
- (void)internalSetSelected:(BOOL)selected { |
Avi (use Gerrit)
2011/04/08 15:22:20
I'm a little fuzzy on what this function is suppos
Robert Sesek
2011/04/09 14:23:07
The only thing that may not be appropriate is canc
|
- selected_ = selected; |
TabView* tabView = static_cast<TabView*>([self view]); |
DCHECK([tabView isKindOfClass:[TabView class]]); |
[tabView setState:selected]; |
@@ -135,8 +134,9 @@ class MenuDelegate : public ui::SimpleMenuModel::Delegate { |
- (NSMenu*)menu { |
contextMenuDelegate_.reset( |
new TabControllerInternal::MenuDelegate(target_, self)); |
- contextMenuModel_.reset(new TabMenuModel(contextMenuDelegate_.get(), |
- [self pinned])); |
+ contextMenuModel_.reset( |
+ [target_ contextMenuModelForController:self |
+ menuDelegate:contextMenuDelegate_.get()]); |
contextMenuController_.reset( |
[[MenuController alloc] initWithModel:contextMenuModel_.get() |
useWithPopUpButtonCell:NO]); |
@@ -160,13 +160,26 @@ class MenuDelegate : public ui::SimpleMenuModel::Delegate { |
[super setTitle:title]; |
} |
+- (void)setActive:(BOOL)active { |
+ if (active != active_) { |
+ active_ = active; |
+ [self internalSetSelected:[self selected]]; |
+ } |
+} |
+ |
+- (BOOL)active { |
+ return active_; |
+} |
+ |
- (void)setSelected:(BOOL)selected { |
- if (selected_ != selected) |
- [self internalSetSelected:selected]; |
+ if (selected_ != selected) { |
+ selected_ = selected; |
+ [self internalSetSelected:[self selected]]; |
+ } |
} |
- (BOOL)selected { |
- return selected_; |
+ return selected_ || active_; |
} |
- (void)setIconView:(NSView*)iconView { |