Index: chrome/browser/ui/website_settings/permission_bubble_manager.h |
diff --git a/chrome/browser/ui/website_settings/permission_bubble_manager.h b/chrome/browser/ui/website_settings/permission_bubble_manager.h |
index 1c624b66f09a130df079e6db52d8a8e68d2960e0..954e77c8735bbbb3dddbcd1c542c606c427e67df 100644 |
--- a/chrome/browser/ui/website_settings/permission_bubble_manager.h |
+++ b/chrome/browser/ui/website_settings/permission_bubble_manager.h |
@@ -8,6 +8,7 @@ |
#include <vector> |
#include "base/memory/weak_ptr.h" |
+#include "base/observer_list.h" |
#include "chrome/browser/ui/website_settings/permission_bubble_view.h" |
#include "content/public/browser/web_contents_observer.h" |
#include "content/public/browser/web_contents_user_data.h" |
@@ -30,6 +31,12 @@ class PermissionBubbleManager |
public content::WebContentsUserData<PermissionBubbleManager>, |
public PermissionBubbleView::Delegate { |
public: |
+ class Observer { |
+ public: |
+ virtual ~Observer(); |
+ virtual void OnBubbleAdded(); |
+ }; |
+ |
// Return the enabled state of permissions bubbles. |
// Controlled by a flag and FieldTrial. |
static bool Enabled(); |
@@ -72,6 +79,7 @@ class PermissionBubbleManager |
friend class PermissionBubbleManagerTest; |
friend class PermissionContextBaseTests; |
friend class content::WebContentsUserData<PermissionBubbleManager>; |
+ friend class PermissionBubbleResponder; |
explicit PermissionBubbleManager(content::WebContents* web_contents); |
@@ -119,6 +127,10 @@ class PermissionBubbleManager |
bool HasUserGestureRequest( |
const std::vector<PermissionBubbleRequest*>& queue); |
+ void AddObserver(Observer* obs); |
+ void RemoveObserver(Observer* obs); |
+ void NotifyBubbleAdded(PermissionBubbleView* bubble); |
+ |
// Whether to delay displaying the bubble until a request with a user gesture. |
// False by default, unless RequireUserGesture(bool) changes the value. |
bool require_user_gesture_; |
@@ -140,6 +152,8 @@ class PermissionBubbleManager |
std::vector<bool> accept_states_; |
+ ObserverList<Observer> observer_list_; |
+ |
base::WeakPtrFactory<PermissionBubbleManager> weak_factory_; |
}; |