Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(539)

Unified Diff: chrome/browser/ui/cocoa/permission_bubble/permission_bubble_cocoa.mm

Issue 2829023002: Fix cancelling permission requests on Android when the PermissionRequestManager is enabled (Closed)
Patch Set: comment Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/cocoa/permission_bubble/permission_bubble_cocoa.mm
diff --git a/chrome/browser/ui/cocoa/permission_bubble/permission_bubble_cocoa.mm b/chrome/browser/ui/cocoa/permission_bubble/permission_bubble_cocoa.mm
index edca45418cd0470a8d0c11d9c1ae02b988d49339..7520a4144fc421c2acd8c3736fecc40295210abc 100644
--- a/chrome/browser/ui/cocoa/permission_bubble/permission_bubble_cocoa.mm
+++ b/chrome/browser/ui/cocoa/permission_bubble/permission_bubble_cocoa.mm
@@ -22,12 +22,14 @@ void PermissionBubbleCocoa::Show(
const std::vector<bool>& accept_state) {
DCHECK(browser_);
- if (!bubbleController_) {
- bubbleController_ =
- [[PermissionBubbleController alloc] initWithBrowser:browser_
- bridge:this];
+ if (IsVisible()) {
+ // We just rejected a MaybeCancelRequest() call.
+ return;
}
+ bubbleController_ =
+ [[PermissionBubbleController alloc] initWithBrowser:browser_ bridge:this];
+
[bubbleController_ showWithDelegate:delegate_
forRequests:requests
acceptStates:accept_state];
@@ -47,8 +49,11 @@ void PermissionBubbleCocoa::SetDelegate(Delegate* delegate) {
delegate_ = delegate;
}
-bool PermissionBubbleCocoa::CanAcceptRequestUpdate() {
- return ![[[bubbleController_ window] contentView] cr_isMouseInView];
+bool PermissionBubbleCocoa::MaybeCancelRequest() {
+ if ([[[bubbleController_ window] contentView] cr_isMouseInView])
+ return false;
+ Hide();
+ return true;
}
bool PermissionBubbleCocoa::HidesAutomatically() {

Powered by Google App Engine
This is Rietveld 408576698