| Index: chrome/browser/ui/website_settings/permission_bubble_view.h
|
| diff --git a/chrome/browser/ui/website_settings/permission_bubble_view.h b/chrome/browser/ui/website_settings/permission_bubble_view.h
|
| index dd0e23b0ed495ef5477cc2ef4920574e318cd1df..08db48841bd66bd6d784e16593420d000f98d60b 100644
|
| --- a/chrome/browser/ui/website_settings/permission_bubble_view.h
|
| +++ b/chrome/browser/ui/website_settings/permission_bubble_view.h
|
| @@ -9,65 +9,38 @@
|
|
|
| #include "base/callback.h"
|
| #include "base/memory/scoped_ptr.h"
|
| +#include "components/bubble/bubble_ui.h"
|
| #include "ui/gfx/native_widget_types.h"
|
|
|
| class Browser;
|
| -class PermissionBubbleManager;
|
| -class PermissionBubbleRequest;
|
| +class PermissionBubbleDelegate;
|
|
|
| // This class is the platform-independent interface through which the permission
|
| // bubble managers (which are one per tab) communicate to the UI surface.
|
| // When the visible tab changes, the UI code must provide an object of this type
|
| // to the manager for the visible tab.
|
| -class PermissionBubbleView {
|
| +class PermissionBubbleView : public BubbleUI {
|
| public:
|
| // The delegate will receive events caused by user action which need to
|
| // be persisted in the per-tab UI state.
|
| - class Delegate {
|
| - public:
|
| - virtual ~Delegate() {}
|
| -
|
| - virtual void ToggleAccept(int index, bool new_value) = 0;
|
| - virtual void Accept() = 0;
|
| - virtual void Deny() = 0;
|
| - virtual void Closing() = 0;
|
| - };
|
| -
|
| - typedef base::Callback<scoped_ptr<PermissionBubbleView>(Browser*)> Factory;
|
| + typedef base::Callback<scoped_ptr<BubbleUI>(PermissionBubbleDelegate*)>
|
| + Factory;
|
|
|
| // Create a platform specific instance.
|
| - static scoped_ptr<PermissionBubbleView> Create(Browser* browser);
|
| - virtual ~PermissionBubbleView() {}
|
| + static scoped_ptr<BubbleUI> Create(PermissionBubbleDelegate* delegate);
|
|
|
| // Sets the delegate which will receive UI events forwarded from the bubble.
|
| - virtual void SetDelegate(Delegate* delegate) = 0;
|
| -
|
| - // Causes the bubble to show up with the given contents. This method may be
|
| - // called with mostly-identical contents to the existing contents. This can
|
| - // happen, for instance, if a new permission is requested and
|
| - // CanAcceptRequestUpdate() is true.
|
| - // Important: the view must not store any of the request objects it receives
|
| - // in this call.
|
| - virtual void Show(
|
| - const std::vector<PermissionBubbleRequest*>& requests,
|
| - const std::vector<bool>& accept_state) = 0;
|
| + virtual void SetDelegate(PermissionBubbleDelegate* delegate) = 0;
|
|
|
| // Returns true if the view can accept a new Show() command to coalesce
|
| // requests. Currently the policy is that this should return true if the view
|
| // is being shown and the mouse is not over the view area (!IsMouseHovered).
|
| virtual bool CanAcceptRequestUpdate() = 0;
|
|
|
| - // Hides the permission bubble.
|
| - virtual void Hide() = 0;
|
| -
|
| // Returns true if there is a bubble currently showing.
|
| virtual bool IsVisible() = 0;
|
|
|
| - // Updates where the bubble should be anchored. ex: fullscreen toggle.
|
| - virtual void UpdateAnchorPosition() = 0;
|
| -
|
| // Returns a reference to this bubble's native window.
|
| - // TODO(hcarmona): Remove this as part of the bubble API work.
|
| virtual gfx::NativeWindow GetNativeWindow() = 0;
|
| };
|
|
|
|
|