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 083e56df2b59c86b095fdc26d5e5456e670a3807..4a64dae46e13957d0ae08ca686879b4213d6a598 100644 |
--- a/chrome/browser/ui/website_settings/permission_bubble_manager.cc |
+++ b/chrome/browser/ui/website_settings/permission_bubble_manager.cc |
@@ -67,6 +67,7 @@ bool PermissionBubbleManager::Enabled() { |
PermissionBubbleManager::PermissionBubbleManager( |
content::WebContents* web_contents) |
: content::WebContentsObserver(web_contents), |
+ require_user_gesture_(false), |
bubble_showing_(false), |
view_(NULL), |
request_url_has_loaded_(false), |
@@ -135,7 +136,7 @@ void PermissionBubbleManager::AddRequest(PermissionBubbleRequest* request) { |
queued_frame_requests_.push_back(request); |
} |
- if (request->HasUserGesture()) |
+ if (!require_user_gesture_ || request->HasUserGesture()) |
ScheduleShowBubble(); |
} |
@@ -202,6 +203,10 @@ void PermissionBubbleManager::SetView(PermissionBubbleView* view) { |
TriggerShowBubble(); |
} |
+void PermissionBubbleManager::RequireUserGesture(bool required) { |
+ require_user_gesture_ = required; |
+} |
+ |
void PermissionBubbleManager::DocumentOnLoadCompletedInMainFrame() { |
request_url_has_loaded_ = true; |
// This is scheduled because while all calls to the browser have been |