Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7980)

Unified Diff: chrome/browser/ui/views/toolbar/toolbar_view.cc

Issue 399143004: Open the WrenchMenu on mouseover when dragging a browser action (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Nit Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..8730e2b87b132e466abbebdbb2b7cbd655421cab 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.
}
////////////////////////////////////////////////////////////////////////////////

Powered by Google App Engine
This is Rietveld 408576698