| Index: chrome/browser/permissions/permission_request_manager.cc
|
| diff --git a/chrome/browser/permissions/permission_request_manager.cc b/chrome/browser/permissions/permission_request_manager.cc
|
| index 2a7cf3ac5729cd357ac67051284a3872ce8cc374..f95adacba05fc6b56173976e5609c405baf6c52d 100644
|
| --- a/chrome/browser/permissions/permission_request_manager.cc
|
| +++ b/chrome/browser/permissions/permission_request_manager.cc
|
| @@ -341,6 +341,7 @@ void PermissionRequestManager::Accept() {
|
| }
|
|
|
| void PermissionRequestManager::Deny() {
|
| + DCHECK_EQ(1u, requests_.size());
|
| PermissionUmaUtil::PermissionPromptDenied(requests_);
|
|
|
| std::vector<PermissionRequest*>::iterator requests_iter;
|
| @@ -524,7 +525,14 @@ void PermissionRequestManager::DoAutoResponseForTesting() {
|
| Accept();
|
| break;
|
| case DENY_ALL:
|
| - Deny();
|
| + // Deny() assumes there is only 1 request.
|
| + if (accept_states_.size() == 1) {
|
| + Deny();
|
| + } else {
|
| + for (size_t i = 0; i < accept_states_.size(); ++i)
|
| + accept_states_[i] = false;
|
| + Accept();
|
| + }
|
| break;
|
| case DISMISS:
|
| Closing();
|
|
|