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

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

Issue 2640033006: Convert AutoBlocker static class to KeyedService. (Closed)
Patch Set: Remove ShouldChangeDismissalToBlock Created 3 years, 11 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 f634e2625b8e3f6b349056925297f43d5d334188..1debbd0561d5273509aba02583e8752559598bd3 100644
--- a/chrome/browser/permissions/permission_context_base.cc
+++ b/chrome/browser/permissions/permission_context_base.cc
@@ -67,7 +67,8 @@ PermissionContextBase::PermissionContextBase(
permission_queue_controller_.reset(new PermissionQueueController(
profile_, permission_type_, content_settings_type_));
#endif
- PermissionDecisionAutoBlocker::UpdateFromVariations();
+ PermissionDecisionAutoBlocker::GetForProfile(profile_)
+ ->UpdateFromVariations();
}
PermissionContextBase::~PermissionContextBase() {
@@ -130,20 +131,12 @@ void PermissionContextBase::RequestPermission(
return;
}
- if (!db_manager_) {
- safe_browsing::SafeBrowsingService* sb_service =
- g_browser_process->safe_browsing_service();
- if (sb_service)
- db_manager_ = sb_service->database_manager();
- }
-
// Asynchronously check whether the origin should be blocked from making this
// permission request. It may be on the Safe Browsing API blacklist, or it may
// have been dismissed too many times in a row. If the origin is allowed to
// request, that request will be made to ContinueRequestPermission().
- PermissionDecisionAutoBlocker::UpdateEmbargoedStatus(
- db_manager_, permission_type_, requesting_origin, web_contents,
- safe_browsing_timeout_, profile_, base::Time::Now(),
+ PermissionDecisionAutoBlocker::GetForProfile(profile_)->UpdateEmbargoedStatus(
+ permission_type_, requesting_origin, web_contents, base::Time::Now(),
base::Bind(&PermissionContextBase::ContinueRequestPermission,
weak_factory_.GetWeakPtr(), web_contents, id,
requesting_origin, embedding_origin, user_gesture, callback));
@@ -165,14 +158,13 @@ void PermissionContextBase::ContinueRequestPermission(
base::StringPrintf(
"%s permission has been auto-blocked.",
PermissionUtil::GetPermissionString(permission_type_).c_str()));
- // Permission has been blacklisted, block the request.
+ // Permission has been automatically blocked.
// TODO(meredithl): Consider setting the content setting and persisting
dominickn 2017/01/20 04:03:47 You can remove this TODO :)
meredithl 2017/01/20 04:21:33 Done.
// the decision to block.
callback.Run(CONTENT_SETTING_BLOCK);
return;
}
- // Site is not blacklisted by Safe Browsing for the requested permission.
PermissionUmaUtil::PermissionRequested(permission_type_, requesting_origin,
embedding_origin, profile_);
@@ -191,12 +183,13 @@ ContentSetting PermissionContextBase::GetPermissionStatus(
!content::IsOriginSecure(requesting_origin)) {
return CONTENT_SETTING_BLOCK;
}
-
+ PermissionDecisionAutoBlocker* autoblocker =
dominickn 2017/01/20 04:03:47 Nit: newline above this line. Also consider not ha
meredithl 2017/01/20 04:21:33 Done.
+ PermissionDecisionAutoBlockerFactory::GetForProfile(profile_);
ContentSetting content_setting =
GetPermissionStatusInternal(requesting_origin, embedding_origin);
if (content_setting == CONTENT_SETTING_ASK &&
- PermissionDecisionAutoBlocker::IsUnderEmbargo(
- permission_type_, profile_, requesting_origin, base::Time::Now())) {
+ autoblocker->IsUnderEmbargo(permission_type_, requesting_origin,
+ base::Time::Now())) {
return CONTENT_SETTING_BLOCK;
}
return content_setting;
@@ -327,8 +320,9 @@ void PermissionContextBase::PermissionDecided(
}
if (content_setting == CONTENT_SETTING_DEFAULT &&
- PermissionDecisionAutoBlocker::RecordDismissAndEmbargo(
- requesting_origin, permission_type_, profile_, base::Time::Now())) {
+ PermissionDecisionAutoBlocker::GetForProfile(profile_)
+ ->RecordDismissAndEmbargo(requesting_origin, permission_type_,
+ base::Time::Now())) {
// The permission has been embargoed, so it is blocked for this permission
// request, but not persisted.
content_setting = CONTENT_SETTING_BLOCK;
@@ -390,10 +384,3 @@ void PermissionContextBase::UpdateContentSetting(
content_settings_type_, std::string(),
content_setting);
}
-
-void PermissionContextBase::SetSafeBrowsingDatabaseManagerAndTimeoutForTest(
- scoped_refptr<safe_browsing::SafeBrowsingDatabaseManager> db_manager,
- int timeout) {
- db_manager_ = db_manager;
- safe_browsing_timeout_ = timeout;
-}

Powered by Google App Engine
This is Rietveld 408576698