| 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 8a917559ffd9df6604b072a22a3ab4b61a434c2b..8ed9f8cac4958ca8933e35350334078a1d7210f6 100644
|
| --- a/chrome/browser/permissions/permission_context_uma_util.cc
|
| +++ b/chrome/browser/permissions/permission_context_uma_util.cc
|
| @@ -48,30 +48,6 @@ enum PermissionAction {
|
| PERMISSION_ACTION_NUM,
|
| };
|
|
|
| -// The returned strings must match the RAPPOR metrics in rappor.xml,
|
| -// e.g. Permissions.Action.Geolocation etc..
|
| -const std::string GetPermissionString(ContentSettingsType permission) {
|
| - switch (permission) {
|
| - case CONTENT_SETTINGS_TYPE_GEOLOCATION:
|
| - return "Geolocation";
|
| - case CONTENT_SETTINGS_TYPE_NOTIFICATIONS:
|
| - return "Notifications";
|
| - case CONTENT_SETTINGS_TYPE_MIDI_SYSEX:
|
| - return "MidiSysEx";
|
| - case CONTENT_SETTINGS_TYPE_PUSH_MESSAGING:
|
| - return "PushMessaging";
|
| - case CONTENT_SETTINGS_TYPE_DURABLE_STORAGE:
|
| - return "DurableStorage";
|
| -#if defined(OS_ANDROID) || defined(OS_CHROMEOS)
|
| - case CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER:
|
| - return "ProtectedMediaIdentifier";
|
| -#endif
|
| - default:
|
| - NOTREACHED();
|
| - return "";
|
| - }
|
| -}
|
| -
|
| // 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,
|
| @@ -95,7 +71,8 @@ const std::string GetRapporMetric(ContentSettingsType permission,
|
| break;
|
| }
|
|
|
| - std::string permission_str = GetPermissionString(permission);
|
| + std::string permission_str =
|
| + PermissionContextUmaUtil::GetPermissionString(permission);
|
| if (permission_str.empty())
|
| return "";
|
| return base::StringPrintf("ContentSettings.PermissionActions_%s.%s.Url",
|
| @@ -171,7 +148,8 @@ void RecordPermissionAction(ContentSettingsType permission,
|
| rappor_service, rappor_metric, requesting_origin);
|
|
|
| // Add multi-dimensional RAPPOR reporting for safe-browsing users.
|
| - std::string permission_str = GetPermissionString(permission);
|
| + std::string permission_str =
|
| + PermissionContextUmaUtil::GetPermissionString(permission);
|
| if (!rappor_service || permission_str.empty())
|
| return;
|
|
|
| @@ -328,3 +306,33 @@ void PermissionContextUmaUtil::PermissionIgnored(
|
| ContentSettingsType permission, const GURL& requesting_origin) {
|
| RecordPermissionAction(permission, IGNORED, requesting_origin);
|
| }
|
| +
|
| +// The returned strings must match the RAPPOR metrics in rappor.xml,
|
| +// and any Finch configs for the API kill switch e.g.
|
| +// Permissions.Action.Geolocation etc..
|
| +const std::string PermissionContextUmaUtil::GetPermissionString(
|
| + ContentSettingsType permission) {
|
| + switch (permission) {
|
| + case CONTENT_SETTINGS_TYPE_GEOLOCATION:
|
| + return "Geolocation";
|
| + case CONTENT_SETTINGS_TYPE_NOTIFICATIONS:
|
| + return "Notifications";
|
| + case CONTENT_SETTINGS_TYPE_MIDI_SYSEX:
|
| + return "MidiSysEx";
|
| + case CONTENT_SETTINGS_TYPE_PUSH_MESSAGING:
|
| + return "PushMessaging";
|
| + case CONTENT_SETTINGS_TYPE_DURABLE_STORAGE:
|
| + return "DurableStorage";
|
| +#if defined(OS_ANDROID) || defined(OS_CHROMEOS)
|
| + case CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER:
|
| + return "ProtectedMediaIdentifier";
|
| +#endif
|
| + case CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC:
|
| + return "MediaStreamMic";
|
| + case CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA:
|
| + return "MediaStreamCamera";
|
| + default:
|
| + NOTREACHED();
|
| + return "";
|
| + }
|
| +}
|
|
|