| 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
|
| }
|
|
|
| ////////////////////////////////////////////////////////////////////////////////
|
|
|