Commit b2dff97f authored by Evan Stade's avatar Evan Stade Committed by Commit Bot

Expose PermissionManager via PermissionsClient

This removes the PermissionManagerFactory dependency from
WebsitePreferenceBridge.

Bug: 1058600
Change-Id: I474a8a40e178ee1cc79f3a0454617e9b12a8d789
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2110671Reviewed-by: default avatarScott Violet <sky@chromium.org>
Reviewed-by: default avatarClark DuVall <cduvall@chromium.org>
Commit-Queue: Evan Stade <estade@chromium.org>
Cr-Commit-Position: refs/heads/master@{#751831}
parent 0abcfeb9
......@@ -24,7 +24,6 @@
#include "chrome/browser/engagement/important_sites_util.h"
#include "chrome/browser/media/android/cdm/media_drm_license_manager.h"
#include "chrome/browser/notifications/notification_permission_context.h"
#include "chrome/browser/permissions/permission_manager_factory.h"
#include "chrome/browser/permissions/quiet_notification_permission_ui_state.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_android.h"
......@@ -228,8 +227,8 @@ ContentSetting GetSettingForOrigin(JNIEnv* env,
embedder_url = url;
else
embedder_url = GURL(embedder_str);
return PermissionManagerFactory::GetForProfile(
GetActiveUserProfile(is_incognito))
return permissions::PermissionsClient::Get()
->GetPermissionManager(GetActiveUserProfile(is_incognito))
->GetPermissionStatus(content_type, url, embedder_url)
.content_setting;
}
......@@ -470,8 +469,8 @@ static jboolean JNI_WebsitePreferenceBridge_IsNotificationEmbargoedForOrigin(
const JavaParamRef<jstring>& origin) {
GURL origin_url(ConvertJavaStringToUTF8(env, origin));
permissions::PermissionResult status =
PermissionManagerFactory::GetForProfile(
ProfileAndroid::FromProfileAndroid(jprofile))
permissions::PermissionsClient::Get()
->GetPermissionManager(ProfileAndroid::FromProfileAndroid(jprofile))
->GetPermissionStatus(ContentSettingsType::NOTIFICATIONS, origin_url,
origin_url);
return status.content_setting == ContentSetting::CONTENT_SETTING_BLOCK &&
......
......@@ -12,6 +12,7 @@
#include "chrome/browser/permissions/adaptive_quiet_notification_permission_ui_enabler.h"
#include "chrome/browser/permissions/contextual_notification_permission_ui_selector.h"
#include "chrome/browser/permissions/permission_decision_auto_blocker_factory.h"
#include "chrome/browser/permissions/permission_manager_factory.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/search_engines/ui_thread_search_terms_data.h"
#include "chrome/common/url_constants.h"
......@@ -56,6 +57,12 @@ ChromePermissionsClient::GetPermissionDecisionAutoBlocker(
Profile::FromBrowserContext(browser_context));
}
permissions::PermissionManager* ChromePermissionsClient::GetPermissionManager(
content::BrowserContext* browser_context) {
return PermissionManagerFactory::GetForProfile(
Profile::FromBrowserContext(browser_context));
}
double ChromePermissionsClient::GetSiteEngagementScore(
content::BrowserContext* browser_context,
const GURL& origin) {
......
......@@ -18,6 +18,8 @@ class ChromePermissionsClient : public permissions::PermissionsClient {
content::BrowserContext* browser_context) override;
permissions::PermissionDecisionAutoBlocker* GetPermissionDecisionAutoBlocker(
content::BrowserContext* browser_context) override;
permissions::PermissionManager* GetPermissionManager(
content::BrowserContext* browser_context) override;
double GetSiteEngagementScore(content::BrowserContext* browser_context,
const GURL& origin) override;
void GetUkmSourceId(content::BrowserContext* browser_context,
......
......@@ -35,6 +35,7 @@ class InfoBarManager;
namespace permissions {
class NotificationPermissionUiSelector;
class PermissionDecisionAutoBlocker;
class PermissionManager;
class PermissionPromptAndroid;
// Interface to be implemented by permissions embedder to access embedder
......@@ -60,6 +61,11 @@ class PermissionsClient {
virtual PermissionDecisionAutoBlocker* GetPermissionDecisionAutoBlocker(
content::BrowserContext* browser_context) = 0;
// Retrieves the PermissionManager for this context. The returned
// pointer has the same lifetime as |browser_context|.
virtual PermissionManager* GetPermissionManager(
content::BrowserContext* browser_context) = 0;
// Gets the embedder defined engagement score for this |origin|.
virtual double GetSiteEngagementScore(
content::BrowserContext* browser_context,
......
......@@ -37,6 +37,11 @@ TestPermissionsClient::GetPermissionDecisionAutoBlocker(
return &autoblocker_;
}
PermissionManager* TestPermissionsClient::GetPermissionManager(
content::BrowserContext* browser_context) {
return nullptr;
}
void TestPermissionsClient::GetUkmSourceId(
content::BrowserContext* browser_context,
const content::WebContents* web_contents,
......
......@@ -23,6 +23,8 @@ class TestPermissionsClient : public PermissionsClient {
content::BrowserContext* browser_context) override;
PermissionDecisionAutoBlocker* GetPermissionDecisionAutoBlocker(
content::BrowserContext* browser_context) override;
PermissionManager* GetPermissionManager(
content::BrowserContext* browser_context) override;
void GetUkmSourceId(content::BrowserContext* browser_context,
const content::WebContents* web_contents,
const GURL& requesting_origin,
......
......@@ -6,6 +6,7 @@
#include "weblayer/browser/host_content_settings_map_factory.h"
#include "weblayer/browser/permissions/permission_decision_auto_blocker_factory.h"
#include "weblayer/browser/permissions/permission_manager_factory.h"
#if defined(OS_ANDROID)
#include "weblayer/browser/android/resource_mapper.h"
......@@ -31,6 +32,11 @@ WebLayerPermissionsClient::GetPermissionDecisionAutoBlocker(
browser_context);
}
permissions::PermissionManager* WebLayerPermissionsClient::GetPermissionManager(
content::BrowserContext* browser_context) {
return PermissionManagerFactory::GetForBrowserContext(browser_context);
}
#if defined(OS_ANDROID)
int WebLayerPermissionsClient::MapToJavaDrawableId(int resource_id) {
return weblayer::MapToJavaDrawableId(resource_id);
......
......@@ -24,6 +24,8 @@ class WebLayerPermissionsClient : public permissions::PermissionsClient {
content::BrowserContext* browser_context) override;
permissions::PermissionDecisionAutoBlocker* GetPermissionDecisionAutoBlocker(
content::BrowserContext* browser_context) override;
permissions::PermissionManager* GetPermissionManager(
content::BrowserContext* browser_context) override;
#if defined(OS_ANDROID)
int MapToJavaDrawableId(int resource_id) override;
#endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment