Chromium Code Reviews| 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..35e1d74d200451239569c5afa6f6af53ca70aec5 100644 |
| --- a/chrome/browser/permissions/permission_prompt_android.cc |
| +++ b/chrome/browser/permissions/permission_prompt_android.cc |
| @@ -6,26 +6,16 @@ |
| #include "base/memory/ptr_util.h" |
| #include "chrome/browser/infobars/infobar_service.h" |
| -#include "chrome/browser/media/webrtc/media_stream_devices_controller.h" |
| #include "chrome/browser/permissions/grouped_permission_infobar_delegate_android.h" |
| #include "chrome/browser/permissions/permission_request.h" |
| -#include "chrome/browser/permissions/permission_request_id.h" |
| -#include "components/infobars/core/infobar.h" |
| -#include "content/public/browser/web_contents.h" |
| 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,25 +30,26 @@ 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() { |
| return false; |
| } |
| +bool PermissionPromptAndroid::HidesAutomatically() { |
| + return true; |
| +} |
| + |
| void PermissionPromptAndroid::Hide() { |
| - InfoBarService* infobar_service = |
| - InfoBarService::FromWebContents(web_contents_); |
| - if (infobar_ && infobar_service) { |
| - infobar_service->RemoveInfoBar(infobar_); |
| - } |
| - infobar_ = nullptr; |
| + // Hide() is only called if HidesAutomatically() returns false or |
| + // CanAcceptRequestUpdate() return true. |
|
Timothy Loh
2017/04/10 04:23:48
I'm thinking of changing (in a separate patch of c
benwells
2017/04/10 07:00:57
Acknowledged.
|
| + NOTREACHED(); |
| } |
| bool PermissionPromptAndroid::IsVisible() { |
| - return infobar_ != nullptr; |
| + return !requests_.empty(); |
| } |
| void PermissionPromptAndroid::UpdateAnchorPosition() { |