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

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

Issue 1422053004: permissions: remove PermissionQueueController and introduce PermissionInfoBarManager (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address small issues Created 5 years, 2 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_context_base.cc
diff --git a/chrome/browser/permissions/permission_context_base.cc b/chrome/browser/permissions/permission_context_base.cc
index 761b489994bc1507925059216dd6746781d0402b..503ca015e529e80687883123c2e9f093a4a0029f 100644
--- a/chrome/browser/permissions/permission_context_base.cc
+++ b/chrome/browser/permissions/permission_context_base.cc
@@ -18,7 +18,7 @@
#include "content/public/common/origin_util.h"
#if defined(OS_ANDROID)
-#include "chrome/browser/permissions/permission_queue_controller.h"
+#include "chrome/browser/permissions/permission_infobar_manager.h"
#else
#include "chrome/browser/permissions/permission_bubble_request_impl.h"
#include "chrome/browser/ui/website_settings/permission_bubble_manager.h"
@@ -30,10 +30,6 @@ PermissionContextBase::PermissionContextBase(
: profile_(profile),
permission_type_(permission_type),
weak_factory_(this) {
-#if defined(OS_ANDROID)
- permission_queue_controller_.reset(
- new PermissionQueueController(profile_, permission_type_));
-#endif
}
PermissionContextBase::~PermissionContextBase() {
@@ -85,11 +81,17 @@ void PermissionContextBase::CancelPermissionRequest(
const PermissionRequestID& id) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
+ if (!web_contents)
+ return;
+
#if defined(OS_ANDROID)
- GetQueueController()->CancelInfoBarRequest(id);
+ if (PermissionInfoBarManager::FromWebContents(web_contents)) {
+ PermissionInfoBarManager::FromWebContents(web_contents)->
+ CancelRequest(id);
+ }
#else
PermissionBubbleRequest* cancelling = pending_bubbles_.get(id.ToString());
- if (cancelling != NULL && web_contents != NULL &&
+ if (cancelling != NULL &&
PermissionBubbleManager::FromWebContents(web_contents) != NULL) {
PermissionBubbleManager::FromWebContents(web_contents)
->CancelRequest(cancelling);
@@ -167,14 +169,15 @@ void PermissionContextBase::DecidePermission(
DCHECK(inserted) << "Duplicate id " << id.ToString();
bubble_manager->AddRequest(request);
#else
- GetQueueController()->CreateInfoBarRequest(
- id, requesting_origin, embedding_origin,
+ PermissionInfoBarManager* infobar_manager =
+ PermissionInfoBarManager::FromWebContents(web_contents);
+ DCHECK(infobar_manager);
+ infobar_manager->CreateRequest(
+ permission_type_, id,
+ requesting_origin, embedding_origin,
base::Bind(&PermissionContextBase::PermissionDecided,
weak_factory_.GetWeakPtr(), id, requesting_origin,
- embedding_origin, callback,
- // the queue controller takes care of persisting the
- // permission
- false));
+ embedding_origin, callback));
#endif
}
@@ -185,9 +188,6 @@ void PermissionContextBase::PermissionDecided(
const BrowserPermissionCallback& callback,
bool persist,
ContentSetting content_setting) {
-#if !defined(OS_ANDROID)
- // Infobar persistence and its related UMA is tracked on the infobar
- // controller directly.
if (persist) {
DCHECK(content_setting == CONTENT_SETTING_ALLOW ||
content_setting == CONTENT_SETTING_BLOCK);
@@ -202,18 +202,11 @@ void PermissionContextBase::PermissionDecided(
PermissionContextUmaUtil::PermissionDismissed(permission_type_,
requesting_origin);
}
-#endif
NotifyPermissionSet(id, requesting_origin, embedding_origin, callback,
persist, content_setting);
}
-#if defined(OS_ANDROID)
-PermissionQueueController* PermissionContextBase::GetQueueController() {
- return permission_queue_controller_.get();
-}
-#endif
-
Profile* PermissionContextBase::profile() const {
return profile_;
}
« no previous file with comments | « chrome/browser/permissions/permission_context_base.h ('k') | chrome/browser/permissions/permission_context_base_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698