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 35e1d74d200451239569c5afa6f6af53ca70aec5..ffe0ae9888a25aa4f03d75e23651fd5cc2c95828 100644 |
--- a/chrome/browser/permissions/permission_prompt_android.cc |
+++ b/chrome/browser/permissions/permission_prompt_android.cc |
@@ -24,6 +24,14 @@ void PermissionPromptAndroid::SetDelegate(Delegate* delegate) { |
void PermissionPromptAndroid::Show( |
const std::vector<PermissionRequest*>& requests, |
const std::vector<bool>& values) { |
+ if (IsVisible()) { |
+ // Show() was called because we just rejected a MaybeCancelRequest() call. |
+ // The existing infobar will keep working but the old requests vector is now |
+ // invalid. |
+ requests_ = requests; |
+ return; |
+ } |
+ |
InfoBarService* infobar_service = |
InfoBarService::FromWebContents(web_contents_); |
if (!infobar_service) |
@@ -34,7 +42,8 @@ void PermissionPromptAndroid::Show( |
requests[0]->GetOrigin()); |
} |
-bool PermissionPromptAndroid::CanAcceptRequestUpdate() { |
+bool PermissionPromptAndroid::MaybeCancelRequest() { |
+ // We do not support cancelling on Android to keep the code simple. |
raymes
2017/05/01 04:23:34
Isn't the reason because we think that infobars sh
|
return false; |
} |
@@ -43,8 +52,7 @@ bool PermissionPromptAndroid::HidesAutomatically() { |
} |
void PermissionPromptAndroid::Hide() { |
- // Hide() is only called if HidesAutomatically() returns false or |
- // CanAcceptRequestUpdate() return true. |
+ // Hide() is not called because HidesAutomatically() returns true |
NOTREACHED(); |
} |