Chromium Code Reviews| 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 { |