| Index: chrome/browser/ui/views/toolbar/browser_actions_container.h
|
| diff --git a/chrome/browser/ui/views/toolbar/browser_actions_container.h b/chrome/browser/ui/views/toolbar/browser_actions_container.h
|
| index 51a03ef087d0004cf9a7da4227eae1574f677fa9..bded26886d57edd87ba4e8f90bead04437c89ebe 100644
|
| --- a/chrome/browser/ui/views/toolbar/browser_actions_container.h
|
| +++ b/chrome/browser/ui/views/toolbar/browser_actions_container.h
|
| @@ -8,23 +8,17 @@
|
| #include "base/observer_list.h"
|
| #include "chrome/browser/extensions/extension_keybinding_registry.h"
|
| #include "chrome/browser/extensions/extension_toolbar_model.h"
|
| -#include "chrome/browser/ui/views/chrome_views_export.h"
|
| #include "chrome/browser/ui/views/extensions/browser_action_overflow_menu_controller.h"
|
| -#include "chrome/browser/ui/views/extensions/extension_keybinding_registry_views.h"
|
| -#include "chrome/browser/ui/views/extensions/extension_popup.h"
|
| #include "chrome/browser/ui/views/toolbar/browser_action_view.h"
|
| -#include "chrome/browser/ui/views/toolbar/browser_actions_container_observer.h"
|
| #include "content/public/browser/notification_observer.h"
|
| #include "ui/gfx/animation/animation_delegate.h"
|
| #include "ui/gfx/animation/tween.h"
|
| -#include "ui/views/controls/button/menu_button.h"
|
| #include "ui/views/controls/button/menu_button_listener.h"
|
| #include "ui/views/controls/resize_area_delegate.h"
|
| #include "ui/views/drag_controller.h"
|
| #include "ui/views/view.h"
|
| -#include "ui/views/widget/widget_observer.h"
|
|
|
| -class BrowserActionButton;
|
| +class BrowserActionsContainerObserver;
|
| class ExtensionKeybindingRegistryViews;
|
| class ExtensionPopup;
|
|
|
| @@ -135,7 +129,6 @@ class BrowserActionsContainer
|
| public gfx::AnimationDelegate,
|
| public extensions::ExtensionToolbarModel::Observer,
|
| public BrowserActionOverflowMenuController::Observer,
|
| - public views::WidgetObserver,
|
| public BrowserActionView::Delegate,
|
| public extensions::ExtensionKeybindingRegistry::Delegate {
|
| public:
|
| @@ -236,16 +229,15 @@ class BrowserActionsContainer
|
| virtual void NotifyMenuDeleted(
|
| BrowserActionOverflowMenuController* controller) OVERRIDE;
|
|
|
| - // Overridden from views::WidgetObserver:
|
| - virtual void OnWidgetDestroying(views::Widget* widget) OVERRIDE;
|
| -
|
| // Overridden from BrowserActionView::Delegate:
|
| - virtual void InspectPopup(ExtensionAction* action) OVERRIDE;
|
| virtual int GetCurrentTabId() const OVERRIDE;
|
| - virtual void OnBrowserActionExecuted(BrowserActionButton* button) OVERRIDE;
|
| virtual void OnBrowserActionVisibilityChanged() OVERRIDE;
|
| virtual bool ShownInsideMenu() const OVERRIDE;
|
| virtual void OnBrowserActionViewDragDone() OVERRIDE;
|
| + virtual views::View* GetOverflowReferenceView() OVERRIDE;
|
| + virtual void SetPopupOwner(BrowserActionButton* popup_owner) OVERRIDE;
|
| + virtual void HideActivePopup() OVERRIDE;
|
| + virtual extensions::ExtensionToolbarModel* GetModel() OVERRIDE;
|
|
|
| // Overridden from extension::ExtensionKeybindingRegistry::Delegate:
|
| virtual extensions::ActiveTabPermissionGranter*
|
| @@ -258,18 +250,14 @@ class BrowserActionsContainer
|
| // was shown. Showing the popup will grant tab permissions if
|
| // |grant_tab_permissions| is true. Only pass true for this argument for
|
| // popups triggered interactively, not popups triggered by an API.
|
| - bool ShowPopup(const extensions::Extension* extension,
|
| - bool grant_tab_permissions);
|
| -
|
| - // Hide the current popup.
|
| - void HidePopup();
|
| -
|
| - // Simulate a click on a browser action button. This should only be
|
| - // used by unit tests.
|
| - void TestExecuteBrowserAction(int index);
|
| + // If |can_override| is true, this popup can override other popups (hiding
|
| + // them) and does not have to be in the active window.
|
| + bool ShowPopupForExtension(const extensions::Extension* extension,
|
| + bool grant_tab_permissions,
|
| + bool can_override);
|
|
|
| // Retrieve the current popup. This should only be used by unit tests.
|
| - ExtensionPopup* TestGetPopup() { return popup_; }
|
| + ExtensionPopup* TestGetPopup();
|
|
|
| // Set how many icons the container should show. This should only be used by
|
| // unit tests.
|
| @@ -306,8 +294,6 @@ class BrowserActionsContainer
|
| const extensions::Extension* extension) OVERRIDE;
|
| virtual void BrowserActionMoved(const extensions::Extension* extension,
|
| int index) OVERRIDE;
|
| - virtual bool BrowserActionShowPopup(
|
| - const extensions::Extension* extension) OVERRIDE;
|
| virtual void VisibleCountChanged() OVERRIDE;
|
| virtual void HighlightModeChanged(bool is_highlighting) OVERRIDE;
|
|
|
| @@ -359,14 +345,6 @@ class BrowserActionsContainer
|
| // for incognito.
|
| bool ShouldDisplayBrowserAction(const extensions::Extension* extension);
|
|
|
| - // Show a popup. Returns true if a new popup was shown. Showing the popup will
|
| - // grant tab permissions if |grant_tab_permissions| is true. Only pass true
|
| - // for this argument for popups triggered interactively, not popups triggered
|
| - // by an API.
|
| - bool ShowPopup(BrowserActionButton* button,
|
| - ExtensionPopup::ShowAction show_action,
|
| - bool grant_tab_permissions);
|
| -
|
| // Whether this container is in overflow mode (as opposed to in 'main'
|
| // mode). See class comments for details on the difference.
|
| bool in_overflow_mode() const { return main_container_ != NULL; }
|
| @@ -389,12 +367,9 @@ class BrowserActionsContainer
|
| // the difference between main and overflow.
|
| BrowserActionsContainer* main_container_;
|
|
|
| - // The current popup and the button it came from. NULL if no popup.
|
| - ExtensionPopup* popup_;
|
| -
|
| // The button that triggered the current popup (just a reference to a button
|
| // from browser_action_views_).
|
| - BrowserActionButton* popup_button_;
|
| + BrowserActionButton* popup_owner_;
|
|
|
| // The model that tracks the order of the toolbar icons.
|
| extensions::ExtensionToolbarModel* model_;
|
|
|