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

Unified Diff: chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h

Issue 413323002: Resubmit: Open the WrenchMenu on mouseover when dragging a browser action (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix 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/extension_toolbar_menu_view.h
diff --git a/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h b/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h
index af1e9934ea32b67b2060fba0166eee1bb6d3d93e..69f8e33745abfab912776120a8c122a353923951 100644
--- a/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h
+++ b/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h
@@ -5,17 +5,24 @@
#ifndef CHROME_BROWSER_UI_VIEWS_TOOLBAR_EXTENSION_TOOLBAR_MENU_VIEW_H_
#define CHROME_BROWSER_UI_VIEWS_TOOLBAR_EXTENSION_TOOLBAR_MENU_VIEW_H_
+#include "base/memory/weak_ptr.h"
+#include "base/scoped_observer.h"
+#include "chrome/browser/ui/views/toolbar/browser_actions_container_observer.h"
#include "ui/views/view.h"
class Browser;
class BrowserActionsContainer;
+class WrenchMenu;
// ExtensionToolbarMenuView is the view containing the extension actions that
// overflowed from the BrowserActionsContainer, and is contained in and owned by
// the wrench menu.
-class ExtensionToolbarMenuView : public views::View {
+// In the event that the WrenchMenu was opened for an Extension Action drag-and-
+// drop, this will also close the menu upon completion.
+class ExtensionToolbarMenuView : public views::View,
+ public BrowserActionsContainerObserver {
public:
- explicit ExtensionToolbarMenuView(Browser* browser);
+ ExtensionToolbarMenuView(Browser* browser, WrenchMenu* wrench_menu);
virtual ~ExtensionToolbarMenuView();
// views::View:
@@ -23,9 +30,21 @@ class ExtensionToolbarMenuView : public views::View {
virtual void Layout() OVERRIDE;
private:
+ // BrowserActionsContainerObserver:
+ virtual void OnBrowserActionDragDone() OVERRIDE;
+
+ // The associated browser.
Browser* browser_;
+
+ // The WrenchMenu, which may need to be closed after a drag-and-drop.
+ WrenchMenu* wrench_menu_;
+
+ // The overflow BrowserActionsContainer which is nested in this view.
BrowserActionsContainer* container_;
+ ScopedObserver<BrowserActionsContainer, BrowserActionsContainerObserver>
+ browser_actions_container_observer_;
+
DISALLOW_COPY_AND_ASSIGN(ExtensionToolbarMenuView);
};

Powered by Google App Engine
This is Rietveld 408576698