Index: chrome/browser/ui/views/extensions/extension_action_view_delegate.h |
diff --git a/chrome/browser/ui/views/extensions/extension_action_view_delegate.h b/chrome/browser/ui/views/extensions/extension_action_view_delegate.h |
index 5a86e68d88c65491b649f4e3110ce493896a49ac..ca74a0621d4abe71a6a1b6038c218daca3e08b1b 100644 |
--- a/chrome/browser/ui/views/extensions/extension_action_view_delegate.h |
+++ b/chrome/browser/ui/views/extensions/extension_action_view_delegate.h |
@@ -15,6 +15,8 @@ class View; |
class Widget; |
} |
+class ExtensionActionViewController; |
+ |
// The view that surrounds an ExtensionAction and owns the |
// ExtensionActionViewController. Since different actions can subclass |
// different views, we don't derive views::View directly here. |
@@ -33,6 +35,11 @@ class ExtensionActionViewDelegate { |
// Returns the parent for the associated context menu. |
virtual views::Widget* GetParentForContextMenu() = 0; |
+ // In some cases (such as when an action is shown in a menu), a substitute |
+ // ExtensionActionViewController should be used for showing popups. This |
+ // returns the preferred control. |
+ virtual ExtensionActionViewController* GetPreferredPopupViewController() = 0; |
+ |
// Returns the reference view for the extension action's popup. |
virtual views::View* GetReferenceViewForPopup() = 0; |