| 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() {
|
|
|