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

Unified Diff: chrome/browser/permissions/permission_prompt_android.cc

Issue 2755593002: Remove pointer from PermissionPromptAndroid to InfoBar (Closed)
Patch Set: rm nl Created 3 years, 9 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
« no previous file with comments | « chrome/browser/permissions/permission_prompt_android.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 607b369d1ffb12e17b167edae6c5859d124d7b15..f929b5fae55a482f4ffc025b4be319801805ef93 100644
--- a/chrome/browser/permissions/permission_prompt_android.cc
+++ b/chrome/browser/permissions/permission_prompt_android.cc
@@ -15,17 +15,11 @@
PermissionPromptAndroid::PermissionPromptAndroid(
content::WebContents* web_contents)
- : web_contents_(web_contents), delegate_(nullptr), infobar_(nullptr) {
+ : web_contents_(web_contents), delegate_(nullptr) {
DCHECK(web_contents);
}
-PermissionPromptAndroid::~PermissionPromptAndroid() {
- if (infobar_) {
- GroupedPermissionInfoBarDelegate* infobar_delegate =
- static_cast<GroupedPermissionInfoBarDelegate*>(infobar_->delegate());
- infobar_delegate->PermissionPromptDestroyed();
- }
-}
+PermissionPromptAndroid::~PermissionPromptAndroid() {}
void PermissionPromptAndroid::SetDelegate(Delegate* delegate) {
delegate_ = delegate;
@@ -40,8 +34,8 @@ void PermissionPromptAndroid::Show(
return;
requests_ = requests;
- infobar_ = GroupedPermissionInfoBarDelegate::Create(this, infobar_service,
- requests[0]->GetOrigin());
+ GroupedPermissionInfoBarDelegate::Create(this, infobar_service,
+ requests[0]->GetOrigin());
}
bool PermissionPromptAndroid::CanAcceptRequestUpdate() {
@@ -49,16 +43,16 @@ bool PermissionPromptAndroid::CanAcceptRequestUpdate() {
}
void PermissionPromptAndroid::Hide() {
- InfoBarService* infobar_service =
- InfoBarService::FromWebContents(web_contents_);
- if (infobar_ && infobar_service) {
- infobar_service->RemoveInfoBar(infobar_);
- }
- infobar_ = nullptr;
+ // No-op. Hide() is called in three cases:
+ // - After the user resolves a prompt. The infobar manager will hide the
+ // prompt for us.
+ // - DidFinishNavigation, etc. The infobar manager handles this.
+ // - PermissionManager::CancelRequest(). As CanAcceptRequestUpdate() returns
+ // false, it doesn't call into here and instead dummies out the callbacks.
}
bool PermissionPromptAndroid::IsVisible() {
- return infobar_ != nullptr;
+ return !requests_.empty();
}
void PermissionPromptAndroid::UpdateAnchorPosition() {
« no previous file with comments | « chrome/browser/permissions/permission_prompt_android.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698