Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3872)

Unified Diff: chrome/browser/ui/website_settings/permission_bubble_manager.h

Issue 1154943008: Update push messaging tests to use both infobars and bubbles (w/ autoresponse) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Completely remove infobars Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_;
};

Powered by Google App Engine
This is Rietveld 408576698