| Index: chrome/browser/ui/views/permission_bubble/permission_prompt_impl.cc
|
| diff --git a/chrome/browser/ui/views/permission_bubble/permission_prompt_impl.cc b/chrome/browser/ui/views/permission_bubble/permission_prompt_impl.cc
|
| index 9ca35cec672045c1f32f5abc801c3245d4121afa..fbd33f6ce2b6f819a7955ab56ca1007efe7e9aff 100644
|
| --- a/chrome/browser/ui/views/permission_bubble/permission_prompt_impl.cc
|
| +++ b/chrome/browser/ui/views/permission_bubble/permission_prompt_impl.cc
|
| @@ -407,8 +407,10 @@ void PermissionPromptImpl::Show(const std::vector<PermissionRequest*>& requests,
|
| DCHECK(browser_);
|
| DCHECK(browser_->window());
|
|
|
| - if (bubble_delegate_)
|
| - bubble_delegate_->CloseBubble();
|
| + if (IsVisible()) {
|
| + // We just rejected a MaybeCancelRequest() call.
|
| + return;
|
| + }
|
|
|
| bubble_delegate_ =
|
| new PermissionsBubbleDialogDelegateView(this, requests, values);
|
| @@ -430,8 +432,11 @@ void PermissionPromptImpl::Show(const std::vector<PermissionRequest*>& requests,
|
| GetAnchorArrow());
|
| }
|
|
|
| -bool PermissionPromptImpl::CanAcceptRequestUpdate() {
|
| - return !(bubble_delegate_ && bubble_delegate_->IsMouseHovered());
|
| +bool PermissionPromptImpl::MaybeCancelRequest() {
|
| + if (bubble_delegate_->IsMouseHovered())
|
| + return false;
|
| + Hide();
|
| + return true;
|
| }
|
|
|
| bool PermissionPromptImpl::HidesAutomatically() {
|
|
|