| 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 ab40e10dccbd61eefaeba677c9e4c62faf4bc539..94ebf436c63105b35e0b9eb76dae33c1adfaccfb 100644
|
| --- a/chrome/browser/ui/views/toolbar/browser_actions_container.h
|
| +++ b/chrome/browser/ui/views/toolbar/browser_actions_container.h
|
| @@ -18,6 +18,7 @@
|
| #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 BrowserActionsContainerObserver;
|
| class ExtensionPopup;
|
| @@ -29,6 +30,7 @@ class Extension;
|
| }
|
|
|
| namespace views {
|
| +class BubbleDelegateView;
|
| class ResizeArea;
|
| }
|
|
|
| @@ -125,6 +127,7 @@ class BrowserActionsContainer
|
| public views::ResizeAreaDelegate,
|
| public gfx::AnimationDelegate,
|
| public ToolbarActionView::Delegate,
|
| + public views::WidgetObserver,
|
| public extensions::ExtensionKeybindingRegistry::Delegate {
|
| public:
|
| // Constructs a BrowserActionContainer for a particular |browser| object. For
|
| @@ -252,6 +255,13 @@ class BrowserActionsContainer
|
| bool IsPopupRunning() const override;
|
| void OnOverflowedActionWantsToRunChanged(
|
| bool overflowed_action_wants_to_run) override;
|
| + void ShowExtensionMessageBubble(
|
| + scoped_ptr<extensions::ExtensionMessageBubbleController> controller)
|
| + override;
|
| +
|
| + // views::WidgetObserver:
|
| + void OnWidgetClosing(views::Widget* widget) override;
|
| + void OnWidgetDestroying(views::Widget* widget) override;
|
|
|
| // Overridden from extension::ExtensionKeybindingRegistry::Delegate:
|
| extensions::ActiveTabPermissionGranter* GetActiveTabPermissionGranter()
|
| @@ -260,6 +270,8 @@ class BrowserActionsContainer
|
| // Retrieve the current popup. This should only be used by unit tests.
|
| gfx::NativeView TestGetPopup();
|
|
|
| + views::BubbleDelegateView* active_bubble() { return active_bubble_; }
|
| +
|
| protected:
|
| // Overridden from views::View:
|
| void ViewHierarchyChanged(
|
| @@ -275,6 +287,9 @@ class BrowserActionsContainer
|
|
|
| void LoadImages();
|
|
|
| + // Clears the |active_bubble_|, and unregisters the container as an observer.
|
| + void ClearActiveBubble(views::Widget* widget);
|
| +
|
| const ToolbarActionsBar::PlatformSettings& platform_settings() const {
|
| return toolbar_actions_bar_->platform_settings();
|
| }
|
| @@ -342,6 +357,13 @@ class BrowserActionsContainer
|
| // The class that registers for keyboard shortcuts for extension commands.
|
| scoped_ptr<ExtensionKeybindingRegistryViews> extension_keybinding_registry_;
|
|
|
| + // The controller of the bubble to show once animation finishes, if any.
|
| + scoped_ptr<extensions::ExtensionMessageBubbleController>
|
| + pending_extension_bubble_controller_;
|
| +
|
| + // The extension bubble that is actively showing, if any.
|
| + views::BubbleDelegateView* active_bubble_;
|
| +
|
| ObserverList<BrowserActionsContainerObserver> observers_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(BrowserActionsContainer);
|
|
|