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

Side by Side Diff: chrome/browser/ui/views/toolbar/browser_action_view.h

Issue 561023002: Use the wrench menu as a reference view for overflowed extension actions' popups (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Latest master for CQ Created 6 years, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_UI_VIEWS_TOOLBAR_BROWSER_ACTION_VIEW_H_ 5 #ifndef CHROME_BROWSER_UI_VIEWS_TOOLBAR_BROWSER_ACTION_VIEW_H_
6 #define CHROME_BROWSER_UI_VIEWS_TOOLBAR_BROWSER_ACTION_VIEW_H_ 6 #define CHROME_BROWSER_UI_VIEWS_TOOLBAR_BROWSER_ACTION_VIEW_H_
7 7
8 #include "chrome/browser/ui/views/extensions/extension_action_view_controller.h" 8 #include "chrome/browser/ui/views/extensions/extension_action_view_controller.h"
9 #include "chrome/browser/ui/views/extensions/extension_action_view_delegate.h" 9 #include "chrome/browser/ui/views/extensions/extension_action_view_delegate.h"
10 #include "content/public/browser/notification_observer.h" 10 #include "content/public/browser/notification_observer.h"
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 // Returns the view of the browser actions overflow menu to use as a 57 // Returns the view of the browser actions overflow menu to use as a
58 // reference point for a popup when this view isn't visible. 58 // reference point for a popup when this view isn't visible.
59 virtual views::View* GetOverflowReferenceView() = 0; 59 virtual views::View* GetOverflowReferenceView() = 0;
60 60
61 // Sets the delegate's active popup owner to be |popup_owner|. 61 // Sets the delegate's active popup owner to be |popup_owner|.
62 virtual void SetPopupOwner(BrowserActionView* popup_owner) = 0; 62 virtual void SetPopupOwner(BrowserActionView* popup_owner) = 0;
63 63
64 // Hides the active popup of the delegate, if one exists. 64 // Hides the active popup of the delegate, if one exists.
65 virtual void HideActivePopup() = 0; 65 virtual void HideActivePopup() = 0;
66 66
67 // Returns the primary BrowserActionView associated with the given
68 // |extension|.
69 virtual BrowserActionView* GetMainViewForExtension(
70 const extensions::Extension* extension) = 0;
71
67 protected: 72 protected:
68 virtual ~Delegate() {} 73 virtual ~Delegate() {}
69 }; 74 };
70 75
71 // The IconObserver will receive a notification when the button's icon has 76 // The IconObserver will receive a notification when the button's icon has
72 // been updated. 77 // been updated.
73 class IconObserver { 78 class IconObserver {
74 public: 79 public:
75 virtual void OnIconUpdated(const gfx::ImageSkia& icon) = 0; 80 virtual void OnIconUpdated(const gfx::ImageSkia& icon) = 0;
76 81
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 virtual void OnDragDone() OVERRIDE; 157 virtual void OnDragDone() OVERRIDE;
153 virtual gfx::Size GetPreferredSize() const OVERRIDE; 158 virtual gfx::Size GetPreferredSize() const OVERRIDE;
154 virtual void PaintChildren(gfx::Canvas* canvas, 159 virtual void PaintChildren(gfx::Canvas* canvas,
155 const views::CullSet& cull_set) OVERRIDE; 160 const views::CullSet& cull_set) OVERRIDE;
156 161
157 // ExtensionActionViewDelegate: 162 // ExtensionActionViewDelegate:
158 virtual views::View* GetAsView() OVERRIDE; 163 virtual views::View* GetAsView() OVERRIDE;
159 virtual bool IsShownInMenu() OVERRIDE; 164 virtual bool IsShownInMenu() OVERRIDE;
160 virtual views::FocusManager* GetFocusManagerForAccelerator() OVERRIDE; 165 virtual views::FocusManager* GetFocusManagerForAccelerator() OVERRIDE;
161 virtual views::Widget* GetParentForContextMenu() OVERRIDE; 166 virtual views::Widget* GetParentForContextMenu() OVERRIDE;
167 virtual ExtensionActionViewController* GetPreferredPopupViewController()
168 OVERRIDE;
162 virtual views::View* GetReferenceViewForPopup() OVERRIDE; 169 virtual views::View* GetReferenceViewForPopup() OVERRIDE;
163 virtual content::WebContents* GetCurrentWebContents() OVERRIDE; 170 virtual content::WebContents* GetCurrentWebContents() OVERRIDE;
164 virtual void HideActivePopup() OVERRIDE; 171 virtual void HideActivePopup() OVERRIDE;
165 virtual void OnIconUpdated() OVERRIDE; 172 virtual void OnIconUpdated() OVERRIDE;
166 virtual void OnPopupShown(bool grant_tab_permissions) OVERRIDE; 173 virtual void OnPopupShown(bool grant_tab_permissions) OVERRIDE;
167 virtual void CleanupPopup() OVERRIDE; 174 virtual void CleanupPopup() OVERRIDE;
168 virtual void OnWillShowContextMenus() OVERRIDE; 175 virtual void OnWillShowContextMenus() OVERRIDE;
169 virtual void OnContextMenuDone() OVERRIDE; 176 virtual void OnContextMenuDone() OVERRIDE;
170 177
171 // The controller for this ExtensionAction view. 178 // The controller for this ExtensionAction view.
172 scoped_ptr<ExtensionActionViewController> view_controller_; 179 scoped_ptr<ExtensionActionViewController> view_controller_;
173 180
174 // Delegate that usually represents a container for BrowserActionView. 181 // Delegate that usually represents a container for BrowserActionView.
175 BrowserActionView::Delegate* delegate_; 182 BrowserActionView::Delegate* delegate_;
176 183
177 // Used to make sure we only register the command once. 184 // Used to make sure we only register the command once.
178 bool called_registered_extension_command_; 185 bool called_registered_extension_command_;
179 186
180 content::NotificationRegistrar registrar_; 187 content::NotificationRegistrar registrar_;
181 188
182 // The observer that we need to notify when the icon of the button has been 189 // The observer that we need to notify when the icon of the button has been
183 // updated. 190 // updated.
184 IconObserver* icon_observer_; 191 IconObserver* icon_observer_;
185 192
186 DISALLOW_COPY_AND_ASSIGN(BrowserActionView); 193 DISALLOW_COPY_AND_ASSIGN(BrowserActionView);
187 }; 194 };
188 195
189 #endif // CHROME_BROWSER_UI_VIEWS_TOOLBAR_BROWSER_ACTION_VIEW_H_ 196 #endif // CHROME_BROWSER_UI_VIEWS_TOOLBAR_BROWSER_ACTION_VIEW_H_
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/location_bar/page_action_image_view.cc ('k') | chrome/browser/ui/views/toolbar/browser_action_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698