Chromium Code Reviews| Index: chrome/browser/ui/views/toolbar/toolbar_view.cc |
| diff --git a/chrome/browser/ui/views/toolbar/toolbar_view.cc b/chrome/browser/ui/views/toolbar/toolbar_view.cc |
| index e9aacdfc5bc9fdede452b6aa3ac6d5443e1a478e..439a8bb295b973ca75ea843619029342c0a731b9 100644 |
| --- a/chrome/browser/ui/views/toolbar/toolbar_view.cc |
| +++ b/chrome/browser/ui/views/toolbar/toolbar_view.cc |
| @@ -350,6 +350,37 @@ void ToolbarView::ShowBrowserActionPopup( |
| browser_actions_->ShowPopup(extension, true); |
| } |
| +void ToolbarView::ShowAppMenu(bool for_drop) { |
| + if (wrench_menu_.get() && wrench_menu_->IsShowing()) |
| + return; |
| + |
| + bool use_new_menu = false; |
| + bool supports_new_separators = false; |
| + // TODO: remove this. |
| +#if !defined(OS_LINUX) || defined(OS_CHROMEOS) |
| + supports_new_separators = |
| + GetNativeTheme() == ui::NativeThemeAura::instance(); |
| + use_new_menu = supports_new_separators; |
| +#endif |
| + |
| + if (keyboard::KeyboardController::GetInstance() && |
| + keyboard::KeyboardController::GetInstance()->keyboard_visible()) { |
| + keyboard::KeyboardController::GetInstance()->HideKeyboard( |
| + keyboard::KeyboardController::HIDE_REASON_AUTOMATIC); |
| + } |
| + |
| + wrench_menu_.reset(new WrenchMenu(browser_, |
| + use_new_menu, |
| + supports_new_separators, |
| + for_drop)); |
| + wrench_menu_model_.reset(new WrenchMenuModel(this, browser_, use_new_menu)); |
| + wrench_menu_->Init(wrench_menu_model_.get()); |
| + |
| + FOR_EACH_OBSERVER(views::MenuListener, menu_listeners_, OnMenuOpened()); |
| + |
| + wrench_menu_->RunMenu(app_menu_); |
| +} |
| + |
| views::MenuButton* ToolbarView::app_menu() const { |
| return app_menu_; |
| } |
| @@ -384,30 +415,7 @@ void ToolbarView::OnMenuButtonClicked(views::View* source, |
| const gfx::Point& point) { |
| TRACE_EVENT0("views", "ToolbarView::OnMenuButtonClicked"); |
| DCHECK_EQ(VIEW_ID_APP_MENU, source->id()); |
| - |
| - bool use_new_menu = false; |
| - bool supports_new_separators = false; |
| - // TODO: remove this. |
| -#if !defined(OS_LINUX) || defined(OS_CHROMEOS) |
| - supports_new_separators = |
| - GetNativeTheme() == ui::NativeThemeAura::instance(); |
| - use_new_menu = supports_new_separators; |
| -#endif |
| - |
| - if (keyboard::KeyboardController::GetInstance() && |
| - keyboard::KeyboardController::GetInstance()->keyboard_visible()) { |
| - keyboard::KeyboardController::GetInstance()->HideKeyboard( |
| - keyboard::KeyboardController::HIDE_REASON_AUTOMATIC); |
| - } |
| - |
| - wrench_menu_.reset(new WrenchMenu(browser_, use_new_menu, |
| - supports_new_separators)); |
| - wrench_menu_model_.reset(new WrenchMenuModel(this, browser_, use_new_menu)); |
| - wrench_menu_->Init(wrench_menu_model_.get()); |
| - |
| - FOR_EACH_OBSERVER(views::MenuListener, menu_listeners_, OnMenuOpened()); |
| - |
| - wrench_menu_->RunMenu(app_menu_); |
| + ShowAppMenu(false); // not for drop |
|
Finnur
2014/07/18 10:40:40
Nit: Capitalize 'n' and add period.
Devlin
2014/07/18 15:44:32
Done.
|
| } |
| //////////////////////////////////////////////////////////////////////////////// |