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

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

Issue 2184823007: Add a feature which, when enabled, blocks permissions after X prompt dismissals. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Unify implementation in permission_context_base, make log static Created 4 years, 4 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 8ce7f18b287fe0885a835bc862d313c02bbf2370..a8bb8fc8efa285f34f8e3264b6ab4317641dc0e8 100644
--- a/chrome/browser/permissions/permission_context_base.cc
+++ b/chrome/browser/permissions/permission_context_base.cc
@@ -36,9 +36,10 @@
// static
const char PermissionContextBase::kPermissionsKillSwitchFieldStudy[] =
"PermissionsKillSwitch";
-// static
const char PermissionContextBase::kPermissionsKillSwitchBlockedValue[] =
"blocked";
+base::LazyInstance<PermissionPromptDecisionLog>
+ PermissionContextBase::prompt_decision_log_ = LAZY_INSTANCE_INITIALIZER;
PermissionContextBase::PermissionContextBase(
Profile* profile,
@@ -233,6 +234,15 @@ void PermissionContextBase::PermissionDecided(
}
#endif
+ // Check if we should convert a dismiss decision into a block decision. This
+ // is gated on enabling the kBlockPromptsIfDismissedOften feature.
+ if (!persist &&
+ prompt_decision_log_.Get().ShouldChangeDismissalToBlock(
+ profile_, requesting_origin, permission_type_)) {
+ persist = true;
+ content_setting = CONTENT_SETTING_BLOCK;
+ }
+
NotifyPermissionSet(id, requesting_origin, embedding_origin, callback,
persist, content_setting);
}

Powered by Google App Engine
This is Rietveld 408576698