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

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

Issue 2926773002: Check embargo status in PlatformNotificationServiceImpl::CheckPermissionOnIOThread (Closed)
Patch Set: Nits Created 3 years, 6 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
« no previous file with comments | « chrome/browser/permissions/permission_decision_auto_blocker.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/permissions/permission_decision_auto_blocker.cc
diff --git a/chrome/browser/permissions/permission_decision_auto_blocker.cc b/chrome/browser/permissions/permission_decision_auto_blocker.cc
index 8d26e6d0f82394d44810ffa12d6990dc1abe34c0..1c50079487ccb0f90371caef261702cbfff4f298 100644
--- a/chrome/browser/permissions/permission_decision_auto_blocker.cc
+++ b/chrome/browser/permissions/permission_decision_auto_blocker.cc
@@ -18,7 +18,6 @@
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/safe_browsing/safe_browsing_service.h"
#include "chrome/common/chrome_features.h"
-#include "components/content_settings/core/browser/host_content_settings_map.h"
#include "components/keyed_service/content/browser_context_dependency_manager.h"
#include "components/safe_browsing_db/database_manager.h"
#include "components/variations/variations_associated_data.h"
@@ -197,6 +196,43 @@ PermissionDecisionAutoBlocker* PermissionDecisionAutoBlocker::GetForProfile(
return PermissionDecisionAutoBlocker::Factory::GetForProfile(profile);
}
+// static
+PermissionResult PermissionDecisionAutoBlocker::GetEmbargoResult(
+ HostContentSettingsMap* settings_map,
+ const GURL& request_origin,
+ ContentSettingsType permission,
+ base::Time current_time) {
+ DCHECK(settings_map);
+ std::unique_ptr<base::DictionaryValue> dict =
+ GetOriginDict(settings_map, request_origin);
+ base::DictionaryValue* permission_dict = GetOrCreatePermissionDict(
+ dict.get(), PermissionUtil::GetPermissionString(permission));
+
+ if (IsUnderEmbargo(permission_dict, features::kPermissionsBlacklist,
+ kPermissionBlacklistEmbargoKey, current_time,
+ base::TimeDelta::FromDays(g_blacklist_embargo_days))) {
+ return PermissionResult(CONTENT_SETTING_BLOCK,
+ PermissionStatusSource::SAFE_BROWSING_BLACKLIST);
+ }
+
+ if (IsUnderEmbargo(permission_dict, features::kBlockPromptsIfDismissedOften,
+ kPermissionDismissalEmbargoKey, current_time,
+ base::TimeDelta::FromDays(g_dismissal_embargo_days))) {
+ return PermissionResult(CONTENT_SETTING_BLOCK,
+ PermissionStatusSource::MULTIPLE_DISMISSALS);
+ }
+
+ if (IsUnderEmbargo(permission_dict, features::kBlockPromptsIfIgnoredOften,
+ kPermissionIgnoreEmbargoKey, current_time,
+ base::TimeDelta::FromDays(g_ignore_embargo_days))) {
+ return PermissionResult(CONTENT_SETTING_BLOCK,
+ PermissionStatusSource::MULTIPLE_IGNORES);
+ }
+
+ return PermissionResult(CONTENT_SETTING_ASK,
+ PermissionStatusSource::UNSPECIFIED);
+}
+
// static
void PermissionDecisionAutoBlocker::UpdateFromVariations() {
int dismissals_before_block = -1;
@@ -276,37 +312,9 @@ void PermissionDecisionAutoBlocker::CheckSafeBrowsingBlacklist(
PermissionResult PermissionDecisionAutoBlocker::GetEmbargoResult(
const GURL& request_origin,
ContentSettingsType permission) {
- HostContentSettingsMap* map =
- HostContentSettingsMapFactory::GetForProfile(profile_);
- std::unique_ptr<base::DictionaryValue> dict =
- GetOriginDict(map, request_origin);
- base::DictionaryValue* permission_dict = GetOrCreatePermissionDict(
- dict.get(), PermissionUtil::GetPermissionString(permission));
-
- base::Time current_time = clock_->Now();
- if (IsUnderEmbargo(permission_dict, features::kPermissionsBlacklist,
- kPermissionBlacklistEmbargoKey, current_time,
- base::TimeDelta::FromDays(g_blacklist_embargo_days))) {
- return PermissionResult(CONTENT_SETTING_BLOCK,
- PermissionStatusSource::SAFE_BROWSING_BLACKLIST);
- }
-
- if (IsUnderEmbargo(permission_dict, features::kBlockPromptsIfDismissedOften,
- kPermissionDismissalEmbargoKey, current_time,
- base::TimeDelta::FromDays(g_dismissal_embargo_days))) {
- return PermissionResult(CONTENT_SETTING_BLOCK,
- PermissionStatusSource::MULTIPLE_DISMISSALS);
- }
-
- if (IsUnderEmbargo(permission_dict, features::kBlockPromptsIfIgnoredOften,
- kPermissionIgnoreEmbargoKey, current_time,
- base::TimeDelta::FromDays(g_ignore_embargo_days))) {
- return PermissionResult(CONTENT_SETTING_BLOCK,
- PermissionStatusSource::MULTIPLE_IGNORES);
- }
-
- return PermissionResult(CONTENT_SETTING_ASK,
- PermissionStatusSource::UNSPECIFIED);
+ return GetEmbargoResult(
+ HostContentSettingsMapFactory::GetForProfile(profile_), request_origin,
+ permission, clock_->Now());
}
int PermissionDecisionAutoBlocker::GetDismissCount(
« no previous file with comments | « chrome/browser/permissions/permission_decision_auto_blocker.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698