Index: chrome/browser/ui/website_settings/permission_bubble_manager.cc |
diff --git a/chrome/browser/ui/website_settings/permission_bubble_manager.cc b/chrome/browser/ui/website_settings/permission_bubble_manager.cc |
index b8a53e5f08765fb3e7b7617707defa9c23b538b6..4b64088c87d693c0575da3f8df0684475d33ef4a 100644 |
--- a/chrome/browser/ui/website_settings/permission_bubble_manager.cc |
+++ b/chrome/browser/ui/website_settings/permission_bubble_manager.cc |
@@ -57,6 +57,15 @@ class CancelledRequest : public PermissionBubbleRequest { |
DEFINE_WEB_CONTENTS_USER_DATA_KEY(PermissionBubbleManager); |
+// PermissionBubbleManager::Observer ------------------------------------------- |
+PermissionBubbleManager::Observer::~Observer() { |
+} |
+ |
+void PermissionBubbleManager::Observer::OnBubbleAdded() { |
+} |
+ |
+// PermissionBubbleManager ----------------------------------------------------- |
+ |
// static |
bool PermissionBubbleManager::Enabled() { |
// Command line flags take precedence. |
@@ -346,6 +355,7 @@ void PermissionBubbleManager::TriggerShowBubble() { |
// case we may do in-line calling of finalization. |
bubble_showing_ = true; |
view_->Show(requests_, accept_states_); |
+ NotifyBubbleAdded(view_); |
msw
2015/06/04 01:22:08
Instead of adding the observer and responder class
felt
2015/06/05 00:38:21
There is one disadvantage of the set_auto_response
|
} |
void PermissionBubbleManager::FinalizeBubble() { |
@@ -414,3 +424,14 @@ bool PermissionBubbleManager::HasUserGestureRequest( |
return false; |
} |
+void PermissionBubbleManager::AddObserver(Observer* obs) { |
+ observer_list_.AddObserver(obs); |
+} |
+ |
+void PermissionBubbleManager::RemoveObserver(Observer* obs) { |
+ observer_list_.RemoveObserver(obs); |
+} |
+ |
+void PermissionBubbleManager::NotifyBubbleAdded(PermissionBubbleView* bubble) { |
+ FOR_EACH_OBSERVER(Observer, observer_list_, OnBubbleAdded()); |
+} |