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 @@ ...@@ -24,7 +24,6 @@
#include "chrome/browser/engagement/important_sites_util.h" #include "chrome/browser/engagement/important_sites_util.h"
#include "chrome/browser/media/android/cdm/media_drm_license_manager.h" #include "chrome/browser/media/android/cdm/media_drm_license_manager.h"
#include "chrome/browser/notifications/notification_permission_context.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/permissions/quiet_notification_permission_ui_state.h"
#include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_android.h" #include "chrome/browser/profiles/profile_android.h"
...@@ -228,8 +227,8 @@ ContentSetting GetSettingForOrigin(JNIEnv* env, ...@@ -228,8 +227,8 @@ ContentSetting GetSettingForOrigin(JNIEnv* env,
embedder_url = url; embedder_url = url;
else else
embedder_url = GURL(embedder_str); embedder_url = GURL(embedder_str);
return PermissionManagerFactory::GetForProfile( return permissions::PermissionsClient::Get()
GetActiveUserProfile(is_incognito)) ->GetPermissionManager(GetActiveUserProfile(is_incognito))
->GetPermissionStatus(content_type, url, embedder_url) ->GetPermissionStatus(content_type, url, embedder_url)
.content_setting; .content_setting;
} }
...@@ -470,8 +469,8 @@ static jboolean JNI_WebsitePreferenceBridge_IsNotificationEmbargoedForOrigin( ...@@ -470,8 +469,8 @@ static jboolean JNI_WebsitePreferenceBridge_IsNotificationEmbargoedForOrigin(
const JavaParamRef<jstring>& origin) { const JavaParamRef<jstring>& origin) {
GURL origin_url(ConvertJavaStringToUTF8(env, origin)); GURL origin_url(ConvertJavaStringToUTF8(env, origin));
permissions::PermissionResult status = permissions::PermissionResult status =
PermissionManagerFactory::GetForProfile( permissions::PermissionsClient::Get()
ProfileAndroid::FromProfileAndroid(jprofile)) ->GetPermissionManager(ProfileAndroid::FromProfileAndroid(jprofile))
->GetPermissionStatus(ContentSettingsType::NOTIFICATIONS, origin_url, ->GetPermissionStatus(ContentSettingsType::NOTIFICATIONS, origin_url,
origin_url); origin_url);
return status.content_setting == ContentSetting::CONTENT_SETTING_BLOCK && return status.content_setting == ContentSetting::CONTENT_SETTING_BLOCK &&
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
#include "chrome/browser/permissions/adaptive_quiet_notification_permission_ui_enabler.h" #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/contextual_notification_permission_ui_selector.h"
#include "chrome/browser/permissions/permission_decision_auto_blocker_factory.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/profiles/profile.h"
#include "chrome/browser/search_engines/ui_thread_search_terms_data.h" #include "chrome/browser/search_engines/ui_thread_search_terms_data.h"
#include "chrome/common/url_constants.h" #include "chrome/common/url_constants.h"
...@@ -56,6 +57,12 @@ ChromePermissionsClient::GetPermissionDecisionAutoBlocker( ...@@ -56,6 +57,12 @@ ChromePermissionsClient::GetPermissionDecisionAutoBlocker(
Profile::FromBrowserContext(browser_context)); Profile::FromBrowserContext(browser_context));
} }
permissions::PermissionManager* ChromePermissionsClient::GetPermissionManager(
content::BrowserContext* browser_context) {
return PermissionManagerFactory::GetForProfile(
Profile::FromBrowserContext(browser_context));
}
double ChromePermissionsClient::GetSiteEngagementScore( double ChromePermissionsClient::GetSiteEngagementScore(
content::BrowserContext* browser_context, content::BrowserContext* browser_context,
const GURL& origin) { const GURL& origin) {
......
...@@ -18,6 +18,8 @@ class ChromePermissionsClient : public permissions::PermissionsClient { ...@@ -18,6 +18,8 @@ class ChromePermissionsClient : public permissions::PermissionsClient {
content::BrowserContext* browser_context) override; content::BrowserContext* browser_context) override;
permissions::PermissionDecisionAutoBlocker* GetPermissionDecisionAutoBlocker( permissions::PermissionDecisionAutoBlocker* GetPermissionDecisionAutoBlocker(
content::BrowserContext* browser_context) override; content::BrowserContext* browser_context) override;
permissions::PermissionManager* GetPermissionManager(
content::BrowserContext* browser_context) override;
double GetSiteEngagementScore(content::BrowserContext* browser_context, double GetSiteEngagementScore(content::BrowserContext* browser_context,
const GURL& origin) override; const GURL& origin) override;
void GetUkmSourceId(content::BrowserContext* browser_context, void GetUkmSourceId(content::BrowserContext* browser_context,
......
...@@ -35,6 +35,7 @@ class InfoBarManager; ...@@ -35,6 +35,7 @@ class InfoBarManager;
namespace permissions { namespace permissions {
class NotificationPermissionUiSelector; class NotificationPermissionUiSelector;
class PermissionDecisionAutoBlocker; class PermissionDecisionAutoBlocker;
class PermissionManager;
class PermissionPromptAndroid; class PermissionPromptAndroid;
// Interface to be implemented by permissions embedder to access embedder // Interface to be implemented by permissions embedder to access embedder
...@@ -60,6 +61,11 @@ class PermissionsClient { ...@@ -60,6 +61,11 @@ class PermissionsClient {
virtual PermissionDecisionAutoBlocker* GetPermissionDecisionAutoBlocker( virtual PermissionDecisionAutoBlocker* GetPermissionDecisionAutoBlocker(
content::BrowserContext* browser_context) = 0; 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|. // Gets the embedder defined engagement score for this |origin|.
virtual double GetSiteEngagementScore( virtual double GetSiteEngagementScore(
content::BrowserContext* browser_context, content::BrowserContext* browser_context,
......
...@@ -37,6 +37,11 @@ TestPermissionsClient::GetPermissionDecisionAutoBlocker( ...@@ -37,6 +37,11 @@ TestPermissionsClient::GetPermissionDecisionAutoBlocker(
return &autoblocker_; return &autoblocker_;
} }
PermissionManager* TestPermissionsClient::GetPermissionManager(
content::BrowserContext* browser_context) {
return nullptr;
}
void TestPermissionsClient::GetUkmSourceId( void TestPermissionsClient::GetUkmSourceId(
content::BrowserContext* browser_context, content::BrowserContext* browser_context,
const content::WebContents* web_contents, const content::WebContents* web_contents,
......
...@@ -23,6 +23,8 @@ class TestPermissionsClient : public PermissionsClient { ...@@ -23,6 +23,8 @@ class TestPermissionsClient : public PermissionsClient {
content::BrowserContext* browser_context) override; content::BrowserContext* browser_context) override;
PermissionDecisionAutoBlocker* GetPermissionDecisionAutoBlocker( PermissionDecisionAutoBlocker* GetPermissionDecisionAutoBlocker(
content::BrowserContext* browser_context) override; content::BrowserContext* browser_context) override;
PermissionManager* GetPermissionManager(
content::BrowserContext* browser_context) override;
void GetUkmSourceId(content::BrowserContext* browser_context, void GetUkmSourceId(content::BrowserContext* browser_context,
const content::WebContents* web_contents, const content::WebContents* web_contents,
const GURL& requesting_origin, const GURL& requesting_origin,
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#include "weblayer/browser/host_content_settings_map_factory.h" #include "weblayer/browser/host_content_settings_map_factory.h"
#include "weblayer/browser/permissions/permission_decision_auto_blocker_factory.h" #include "weblayer/browser/permissions/permission_decision_auto_blocker_factory.h"
#include "weblayer/browser/permissions/permission_manager_factory.h"
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
#include "weblayer/browser/android/resource_mapper.h" #include "weblayer/browser/android/resource_mapper.h"
...@@ -31,6 +32,11 @@ WebLayerPermissionsClient::GetPermissionDecisionAutoBlocker( ...@@ -31,6 +32,11 @@ WebLayerPermissionsClient::GetPermissionDecisionAutoBlocker(
browser_context); browser_context);
} }
permissions::PermissionManager* WebLayerPermissionsClient::GetPermissionManager(
content::BrowserContext* browser_context) {
return PermissionManagerFactory::GetForBrowserContext(browser_context);
}
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
int WebLayerPermissionsClient::MapToJavaDrawableId(int resource_id) { int WebLayerPermissionsClient::MapToJavaDrawableId(int resource_id) {
return weblayer::MapToJavaDrawableId(resource_id); return weblayer::MapToJavaDrawableId(resource_id);
......
...@@ -24,6 +24,8 @@ class WebLayerPermissionsClient : public permissions::PermissionsClient { ...@@ -24,6 +24,8 @@ class WebLayerPermissionsClient : public permissions::PermissionsClient {
content::BrowserContext* browser_context) override; content::BrowserContext* browser_context) override;
permissions::PermissionDecisionAutoBlocker* GetPermissionDecisionAutoBlocker( permissions::PermissionDecisionAutoBlocker* GetPermissionDecisionAutoBlocker(
content::BrowserContext* browser_context) override; content::BrowserContext* browser_context) override;
permissions::PermissionManager* GetPermissionManager(
content::BrowserContext* browser_context) override;
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
int MapToJavaDrawableId(int resource_id) override; int MapToJavaDrawableId(int resource_id) override;
#endif #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