Chromium Code Reviews| Index: chrome/browser/cocoa/toolbar_controller.mm |
| diff --git a/chrome/browser/cocoa/toolbar_controller.mm b/chrome/browser/cocoa/toolbar_controller.mm |
| index 57b0e38135bc729d5cd30fefd7df160324066125..b100b56ed5a6222f796f966b2295e8581f898821 100644 |
| --- a/chrome/browser/cocoa/toolbar_controller.mm |
| +++ b/chrome/browser/cocoa/toolbar_controller.mm |
| @@ -95,24 +95,9 @@ const CGFloat kWrenchMenuLeftPadding = 3.0; |
| namespace ToolbarControllerInternal { |
| -// A C++ delegate that handles enabling/disabling menu items and handling when |
| -// a menu command is chosen. |
| -class MenuDelegate : public menus::SimpleMenuModel::Delegate { |
| +// A C++ delegate that handles the accelerators in the wrench menu. |
| +class WrenchAcceleratorDelegate : public menus::AcceleratorProvider { |
| public: |
| - explicit MenuDelegate(Browser* browser) |
| - : browser_(browser) { } |
| - |
| - // Overridden from menus::SimpleMenuModel::Delegate |
| - virtual bool IsCommandIdChecked(int command_id) const { |
| - if (command_id == IDC_SHOW_BOOKMARK_BAR) { |
| - return browser_->profile()->GetPrefs()->GetBoolean( |
| - prefs::kShowBookmarkBar); |
| - } |
| - return false; |
| - } |
| - virtual bool IsCommandIdEnabled(int command_id) const { |
| - return browser_->command_updater()->IsCommandEnabled(command_id); |
| - } |
| virtual bool GetAcceleratorForCommandId(int command_id, |
| menus::Accelerator* accelerator_generic) { |
| // Downcast so that when the copy constructor is invoked below, the key |
| @@ -128,26 +113,6 @@ class MenuDelegate : public menus::SimpleMenuModel::Delegate { |
| } |
| return false; |
| } |
| - virtual void ExecuteCommand(int command_id) { |
| - browser_->ExecuteCommand(command_id); |
| - } |
| - virtual bool IsLabelForCommandIdDynamic(int command_id) const { |
| - // On Mac, switch between "Enter Full Screen" and "Exit Full Screen". |
| - return (command_id == IDC_FULLSCREEN); |
| - } |
| - virtual string16 GetLabelForCommandId(int command_id) const { |
| - if (command_id == IDC_FULLSCREEN) { |
| - int string_id = IDS_ENTER_FULLSCREEN_MAC; // Default to Enter. |
| - // Note: On startup, |window()| may be NULL. |
| - if (browser_->window() && browser_->window()->IsFullscreen()) |
| - string_id = IDS_EXIT_FULLSCREEN_MAC; |
| - return l10n_util::GetStringUTF16(string_id); |
| - } |
| - return menus::SimpleMenuModel::Delegate::GetLabelForCommandId(command_id); |
| - } |
| - |
| - private: |
| - Browser* browser_; |
| }; |
| // A class registered for C++ notifications. This is used to detect changes in |
| @@ -547,10 +512,12 @@ class NotificationBridge : public NotificationObserver { |
| - (void)installWrenchMenu { |
| if (wrenchMenuModel_.get()) |
| return; |
| - menuDelegate_.reset(new ToolbarControllerInternal::MenuDelegate(browser_)); |
| + acceleratorDelegate_.reset( |
| + new ToolbarControllerInternal::WrenchAcceleratorDelegate()); |
| - wrenchMenuModel_.reset(new WrenchMenuModel(menuDelegate_.get(), browser_)); |
| - [wrenchMenuController_ setModel:wrenchMenuModel_.get()]; |
| + wrenchMenuModel_.reset(new WrenchMenuModel( |
| + acceleratorDelegate_.get(), browser_)); |
| + [wrenchMenuController_ setWrenchMenuModel:wrenchMenuModel_.get()]; |
| [wrenchMenuController_ setUseWithPopUpButtonCell:YES]; |
| [wrenchButton_ setAttachedMenu:[wrenchMenuController_ menu]]; |
| } |
| @@ -578,8 +545,6 @@ class NotificationBridge : public NotificationObserver { |
| [overlayImage unlockFocus]; |
| [[wrenchButton_ cell] setOverlayImage:overlayImage]; |
| - |
| - [wrenchMenuController_ insertUpdateAvailableItem]; |
|
Robert Sesek
2010/08/24 00:31:13
Removing this concerns me. Does this break the up
|
| } |
| - (void)prefChanged:(std::string*)prefName { |