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

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

Issue 2440403002: Make GroupedPermissionInfoBarDelegate's methods call through PermissionPromptAndroid (Closed)
Patch Set: address Created 4 years, 1 month 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/grouped_permission_infobar_delegate_android.cc
diff --git a/chrome/browser/permissions/grouped_permission_infobar_delegate_android.cc b/chrome/browser/permissions/grouped_permission_infobar_delegate_android.cc
index af595628b7095ecb5e2dca3fc0b71410f4cf5687..c0fd8aa326460acd3dc5156f5fbb78d0ad6b611c 100644
--- a/chrome/browser/permissions/grouped_permission_infobar_delegate_android.cc
+++ b/chrome/browser/permissions/grouped_permission_infobar_delegate_android.cc
@@ -7,6 +7,7 @@
#include "base/memory/ptr_util.h"
#include "chrome/browser/android/android_theme_resources.h"
#include "chrome/browser/infobars/infobar_service.h"
+#include "chrome/browser/permissions/permission_prompt_android.h"
#include "chrome/browser/permissions/permission_request.h"
#include "chrome/browser/permissions/permission_util.h"
#include "chrome/browser/ui/android/infobars/grouped_permission_infobar.h"
@@ -21,12 +22,13 @@ GroupedPermissionInfoBarDelegate::~GroupedPermissionInfoBarDelegate() {}
// static
infobars::InfoBar* GroupedPermissionInfoBarDelegate::Create(
+ PermissionPromptAndroid* permission_prompt,
InfoBarService* infobar_service,
const GURL& requesting_origin,
const std::vector<PermissionRequest*>& requests) {
- return infobar_service->AddInfoBar(
- base::MakeUnique<GroupedPermissionInfoBar>(base::WrapUnique(
- new GroupedPermissionInfoBarDelegate(requesting_origin, requests))));
+ return infobar_service->AddInfoBar(base::MakeUnique<GroupedPermissionInfoBar>(
+ base::WrapUnique(new GroupedPermissionInfoBarDelegate(
+ permission_prompt, requesting_origin, requests))));
}
bool GroupedPermissionInfoBarDelegate::ShouldShowPersistenceToggle() const {
@@ -63,18 +65,38 @@ base::string16 GroupedPermissionInfoBarDelegate::GetMessageText() const {
url_formatter::FormatUrlForSecurityDisplay(requesting_origin_));
}
+bool GroupedPermissionInfoBarDelegate::Accept() {
+ if (permission_prompt_)
+ permission_prompt_->Accept();
+ return true;
+}
+
+bool GroupedPermissionInfoBarDelegate::Cancel() {
+ if (permission_prompt_)
+ permission_prompt_->Deny();
+ return true;
+}
+
+void GroupedPermissionInfoBarDelegate::PermissionPromptDestroyed() {
+ permission_prompt_ = nullptr;
+}
+
bool GroupedPermissionInfoBarDelegate::GetAcceptState(size_t position) {
DCHECK_LT(position, requests_.size());
return accept_states_[position];
}
GroupedPermissionInfoBarDelegate::GroupedPermissionInfoBarDelegate(
+ PermissionPromptAndroid* permission_prompt,
const GURL& requesting_origin,
const std::vector<PermissionRequest*>& requests)
: requesting_origin_(requesting_origin),
requests_(requests),
accept_states_(requests_.size(), true),
- persist_(true) {}
+ persist_(true),
+ permission_prompt_(permission_prompt) {
+ DCHECK(permission_prompt);
+}
infobars::InfoBarDelegate::InfoBarIdentifier
GroupedPermissionInfoBarDelegate::GetIdentifier() const {

Powered by Google App Engine
This is Rietveld 408576698