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

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

Issue 2250993002: Add prior dismissal and ignore count metrics for all permission actions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@kendra-permission-action-reporting
Patch Set: Comments 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_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 204dfa0a05adb943f165c315e5bc4b45d978aa60..554565d4e277064a35e787aa9d9051f1103a7553 100644
--- a/chrome/browser/permissions/permission_decision_auto_blocker.cc
+++ b/chrome/browser/permissions/permission_decision_auto_blocker.cc
@@ -12,7 +12,6 @@
#include "base/strings/string_number_conversions.h"
#include "base/values.h"
#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
-#include "chrome/browser/permissions/permission_uma_util.h"
#include "chrome/browser/permissions/permission_util.h"
#include "chrome/common/chrome_features.h"
#include "components/content_settings/core/browser/host_content_settings_map.h"
@@ -54,6 +53,44 @@ base::DictionaryValue* GetOrCreatePermissionDict(
return permission_dict;
}
+int RecordActionInWebsiteSettings(const GURL& url,
+ content::PermissionType permission,
+ const char* key,
+ Profile* profile) {
+ HostContentSettingsMap* map =
+ HostContentSettingsMapFactory::GetForProfile(profile);
+ std::unique_ptr<base::DictionaryValue> dict = GetOriginDict(map, url);
+
+ base::DictionaryValue* permission_dict = GetOrCreatePermissionDict(
+ dict.get(), PermissionUtil::GetPermissionString(permission));
+
+ int current_count = 0;
+ permission_dict->GetInteger(key, &current_count);
+ permission_dict->SetInteger(key, ++current_count);
+
+ map->SetWebsiteSettingDefaultScope(
+ url, GURL(), CONTENT_SETTINGS_TYPE_PROMPT_NO_DECISION_COUNT,
+ std::string(), std::move(dict));
+
+ return current_count;
+}
+
+int GetActionCount(const GURL& url,
+ content::PermissionType permission,
+ const char* key,
+ Profile* profile) {
+ HostContentSettingsMap* map =
+ HostContentSettingsMapFactory::GetForProfile(profile);
+ std::unique_ptr<base::DictionaryValue> dict = GetOriginDict(map, url);
+
+ base::DictionaryValue* permission_dict = GetOrCreatePermissionDict(
+ dict.get(), PermissionUtil::GetPermissionString(permission));
+
+ int current_count = 0;
+ permission_dict->GetInteger(key, &current_count);
+ return current_count;
+}
+
} // namespace
// static
@@ -88,33 +125,19 @@ void PermissionDecisionAutoBlocker::RemoveCountsByUrl(
}
// static
-int PermissionDecisionAutoBlocker::GetDismissCount(const GURL& url,
- content::PermissionType permission, Profile* profile) {
+int PermissionDecisionAutoBlocker::GetDismissCount(
+ const GURL& url,
+ content::PermissionType permission,
+ Profile* profile) {
return GetActionCount(url, permission, kPromptDismissCountKey, profile);
}
// static
-int PermissionDecisionAutoBlocker::GetIgnoreCount(const GURL& url,
- content::PermissionType permission, Profile* profile) {
- return GetActionCount(url, permission, kPromptIgnoreCountKey, profile);
-}
-
-// static
-int PermissionDecisionAutoBlocker::GetActionCount(
+int PermissionDecisionAutoBlocker::GetIgnoreCount(
const GURL& url,
content::PermissionType permission,
- const char* key,
Profile* profile) {
- HostContentSettingsMap* map =
- HostContentSettingsMapFactory::GetForProfile(profile);
- std::unique_ptr<base::DictionaryValue> dict = GetOriginDict(map, url);
-
- base::DictionaryValue* permission_dict = GetOrCreatePermissionDict(
- dict.get(), PermissionUtil::GetPermissionString(permission));
-
- int current_count = 0;
- permission_dict->GetInteger(key, &current_count);
- return current_count;
+ return GetActionCount(url, permission, kPromptIgnoreCountKey, profile);
}
PermissionDecisionAutoBlocker::PermissionDecisionAutoBlocker(Profile* profile)
@@ -126,22 +149,15 @@ PermissionDecisionAutoBlocker::PermissionDecisionAutoBlocker(Profile* profile)
int PermissionDecisionAutoBlocker::RecordIgnore(
const GURL& url,
content::PermissionType permission) {
- int current_ignore_count =
- RecordActionInWebsiteSettings(url, permission, kPromptIgnoreCountKey);
-
- PermissionUmaUtil::PermissionPromptIgnored(permission, current_ignore_count);
-
- return current_ignore_count;
+ return RecordActionInWebsiteSettings(url, permission, kPromptIgnoreCountKey,
+ profile_);
}
bool PermissionDecisionAutoBlocker::ShouldChangeDismissalToBlock(
const GURL& url,
content::PermissionType permission) {
- int current_dismissal_count =
- RecordActionInWebsiteSettings(url, permission, kPromptDismissCountKey);
-
- PermissionUmaUtil::PermissionPromptDismissed(permission,
- current_dismissal_count);
+ int current_dismissal_count = RecordActionInWebsiteSettings(
+ url, permission, kPromptDismissCountKey, profile_);
if (!base::FeatureList::IsEnabled(features::kBlockPromptsIfDismissedOften))
return false;
@@ -149,28 +165,6 @@ bool PermissionDecisionAutoBlocker::ShouldChangeDismissalToBlock(
return current_dismissal_count >= prompt_dismissals_before_block_;
}
-int PermissionDecisionAutoBlocker::RecordActionInWebsiteSettings(
- const GURL& url,
- content::PermissionType permission,
- const char* key) {
- HostContentSettingsMap* map =
- HostContentSettingsMapFactory::GetForProfile(profile_);
- std::unique_ptr<base::DictionaryValue> dict = GetOriginDict(map, url);
-
- base::DictionaryValue* permission_dict = GetOrCreatePermissionDict(
- dict.get(), PermissionUtil::GetPermissionString(permission));
-
- int current_count = 0;
- permission_dict->GetInteger(key, &current_count);
- permission_dict->SetInteger(key, ++current_count);
-
- map->SetWebsiteSettingDefaultScope(
- url, GURL(), CONTENT_SETTINGS_TYPE_PROMPT_NO_DECISION_COUNT,
- std::string(), std::move(dict));
-
- return current_count;
-}
-
void PermissionDecisionAutoBlocker::UpdateFromVariations() {
int prompt_dismissals = -1;
std::string value = variations::GetVariationParamValueByFeature(

Powered by Google App Engine
This is Rietveld 408576698