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

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

Issue 1401073002: Add Rappor reporting for grant/deny/cancel/ignore of Mediastream permissions (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Use existing rappor code Created 5 years, 2 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_uma_util.cc
diff --git a/chrome/browser/permissions/permission_context_uma_util.cc b/chrome/browser/permissions/permission_context_uma_util.cc
index 8ed9f8cac4958ca8933e35350334078a1d7210f6..639941afdb9901130426c545748acfa59199303a 100644
--- a/chrome/browser/permissions/permission_context_uma_util.cc
+++ b/chrome/browser/permissions/permission_context_uma_util.cc
@@ -32,22 +32,6 @@ using content::PermissionType;
namespace {
-// Enum for UMA purposes, make sure you update histograms.xml if you add new
-// permission actions. Never delete or reorder an entry; only add new entries
-// immediately before PERMISSION_NUM
-enum PermissionAction {
- GRANTED = 0,
- DENIED = 1,
- DISMISSED = 2,
- IGNORED = 3,
- REVOKED = 4,
- REENABLED = 5,
- REQUESTED = 6,
-
- // Always keep this at the end.
- PERMISSION_ACTION_NUM,
-};
-
// Deprecated. This method is used for the single-dimensional RAPPOR metrics
// that are being replaced by the multi-dimensional ones.
const std::string GetRapporMetric(ContentSettingsType permission,
@@ -148,23 +132,8 @@ void RecordPermissionAction(ContentSettingsType permission,
rappor_service, rappor_metric, requesting_origin);
// Add multi-dimensional RAPPOR reporting for safe-browsing users.
- std::string permission_str =
- PermissionContextUmaUtil::GetPermissionString(permission);
- if (!rappor_service || permission_str.empty())
- return;
-
- scoped_ptr<rappor::Sample> sample =
- rappor_service->CreateSample(rappor::SAFEBROWSING_RAPPOR_TYPE);
- sample->SetStringField("Scheme", requesting_origin.scheme());
- sample->SetStringField("Host", requesting_origin.host());
- sample->SetStringField("Port", requesting_origin.port());
- sample->SetStringField("Domain",
- rappor::GetDomainAndRegistrySampleFromGURL(requesting_origin));
- sample->SetFlagsField("Actions",
- 1 << action,
- PermissionAction::PERMISSION_ACTION_NUM);
- rappor_service->RecordSampleObj("Permissions.Action." +
- permission_str, sample.Pass());
+ PermissionContextUmaUtil::RecordMultiDRapporAction(permission,
+ requesting_origin, action);
}
std::string PermissionTypeToString(PermissionType permission_type) {
@@ -336,3 +305,26 @@ const std::string PermissionContextUmaUtil::GetPermissionString(
return "";
}
}
+
+void PermissionContextUmaUtil::RecordMultiDRapporAction(
+ ContentSettingsType permission,
+ const GURL& requesting_origin,
+ PermissionAction action) {
+ rappor::RapporService* rappor_service = g_browser_process->rappor_service();
+ const std::string permission_str = GetPermissionString(permission);
+ if (!rappor_service || permission_str.empty())
+ return;
+
+ scoped_ptr<rappor::Sample> sample =
+ rappor_service->CreateSample(rappor::SAFEBROWSING_RAPPOR_TYPE);
+ sample->SetStringField("Scheme", requesting_origin.scheme());
+ sample->SetStringField("Host", requesting_origin.host());
+ sample->SetStringField("Port", requesting_origin.port());
+ sample->SetStringField("Domain",
+ rappor::GetDomainAndRegistrySampleFromGURL(requesting_origin));
+ sample->SetFlagsField("Actions",
+ 1 << action,
+ PermissionAction::PERMISSION_ACTION_NUM);
+ rappor_service->RecordSampleObj("Permissions.Action." +
+ permission_str, sample.Pass());
+}

Powered by Google App Engine
This is Rietveld 408576698