| 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_;
|
| }
|
|
|