Chromium Code Reviews| 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 1343be893037c659291a6e0844733c746bbb71d2..d85139beeaf4bb815f76623f1d2d796d45dbdfa5 100644 |
| --- a/chrome/browser/permissions/permission_decision_auto_blocker.cc |
| +++ b/chrome/browser/permissions/permission_decision_auto_blocker.cc |
| @@ -21,9 +21,9 @@ |
| namespace { |
| -// The default number of times that users may explicitly dismiss a permission |
| -// prompt from an origin before it is automatically blocked. |
| -const int kPromptDismissalsBeforeBlock = 3; |
| +// The number of times that users may explicitly dismiss a permission prompt |
| +// from an origin before it is automatically blocked. |
| +int g_PromptDismissalsBeforeBlock = 3; |
|
kcarattini
2016/10/04 05:26:05
Aren't globals lowercase with underscores?
raymes
2016/10/05 05:02:32
+1
dominickn
2016/10/05 05:55:30
Done, though we do seem to have a consistency issu
|
| std::unique_ptr<base::DictionaryValue> GetOriginDict( |
| HostContentSettingsMap* settings, |
| @@ -140,37 +140,44 @@ int PermissionDecisionAutoBlocker::GetIgnoreCount( |
| return GetActionCount(url, permission, kPromptIgnoreCountKey, profile); |
| } |
| -PermissionDecisionAutoBlocker::PermissionDecisionAutoBlocker(Profile* profile) |
| - : profile_(profile), |
| - prompt_dismissals_before_block_(kPromptDismissalsBeforeBlock) { |
| - UpdateFromVariations(); |
| +// static |
| +int PermissionDecisionAutoBlocker::RecordDismiss( |
| + const GURL& url, |
| + content::PermissionType permission, |
| + Profile* profile) { |
| + return RecordActionInWebsiteSettings(url, permission, kPromptDismissCountKey, |
| + profile); |
| } |
| +// static |
| int PermissionDecisionAutoBlocker::RecordIgnore( |
| const GURL& url, |
| - content::PermissionType permission) { |
| + content::PermissionType permission, |
| + Profile* profile) { |
| return RecordActionInWebsiteSettings(url, permission, kPromptIgnoreCountKey, |
| - profile_); |
| + profile); |
| } |
| +// static |
| bool PermissionDecisionAutoBlocker::ShouldChangeDismissalToBlock( |
| const GURL& url, |
| - content::PermissionType permission) { |
| - int current_dismissal_count = RecordActionInWebsiteSettings( |
| - url, permission, kPromptDismissCountKey, profile_); |
| + content::PermissionType permission, |
| + Profile* profile) { |
| + int current_dismissal_count = RecordDismiss(url, permission, profile); |
| if (!base::FeatureList::IsEnabled(features::kBlockPromptsIfDismissedOften)) |
| return false; |
| - return current_dismissal_count >= prompt_dismissals_before_block_; |
| + return current_dismissal_count >= g_PromptDismissalsBeforeBlock; |
| } |
| +// static |
| void PermissionDecisionAutoBlocker::UpdateFromVariations() { |
| int prompt_dismissals = -1; |
| std::string value = variations::GetVariationParamValueByFeature( |
| features::kBlockPromptsIfDismissedOften, kPromptDismissCountKey); |
| - // If converting the value fails, stick with the default value. |
| + // If converting the value fails, stick with the current value. |
| if (base::StringToInt(value, &prompt_dismissals) && prompt_dismissals > 0) |
| - prompt_dismissals_before_block_ = prompt_dismissals; |
| + g_PromptDismissalsBeforeBlock = prompt_dismissals; |
| } |