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

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

Issue 2755593002: Remove pointer from PermissionPromptAndroid to InfoBar (Closed)
Patch Set: fix 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/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.
+ NOTREACHED();
}
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') | chrome/browser/permissions/permission_request_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698