Index: chrome/browser/permissions/permission_prompt_android.cc |
diff --git a/chrome/browser/permissions/permission_prompt_android.cc b/chrome/browser/permissions/permission_prompt_android.cc |
index ba0b531d7b7272eaacc222f16b19b0a0a0dd898a..74ad79baec116074b9699c697c84038dabb8b4e4 100644 |
--- a/chrome/browser/permissions/permission_prompt_android.cc |
+++ b/chrome/browser/permissions/permission_prompt_android.cc |
@@ -39,8 +39,9 @@ void PermissionPromptAndroid::Show( |
if (!infobar_service) |
return; |
- infobar_ = GroupedPermissionInfoBarDelegate::Create( |
- this, infobar_service, requests[0]->GetOrigin(), requests); |
+ requests_ = requests; |
+ infobar_ = GroupedPermissionInfoBarDelegate::Create(this, infobar_service, |
+ requests[0]->GetOrigin()); |
} |
bool PermissionPromptAndroid::CanAcceptRequestUpdate() { |
@@ -70,6 +71,7 @@ gfx::NativeWindow PermissionPromptAndroid::GetNativeWindow() { |
} |
void PermissionPromptAndroid::Closing() { |
+ requests_.clear(); |
dominickn
2017/03/16 03:55:07
Should requests be cleared before or after calling
Timothy Loh
2017/03/17 00:47:27
If we have a queued request, the PermissionRequest
|
if (delegate_) |
delegate_->Closing(); |
} |
@@ -80,11 +82,13 @@ void PermissionPromptAndroid::ToggleAccept(int index, bool value) { |
} |
void PermissionPromptAndroid::Accept() { |
+ requests_.clear(); |
if (delegate_) |
delegate_->Accept(); |
} |
void PermissionPromptAndroid::Deny() { |
+ requests_.clear(); |
if (delegate_) |
delegate_->Deny(); |
} |