Chromium Code Reviews| Index: chrome/browser/permissions/permission_uma_util.cc |
| diff --git a/chrome/browser/permissions/permission_uma_util.cc b/chrome/browser/permissions/permission_uma_util.cc |
| index 655473272778719ba00fab8762b592f73f5b7b98..75ab471a89c26871749185b1aea723142602190e 100644 |
| --- a/chrome/browser/permissions/permission_uma_util.cc |
| +++ b/chrome/browser/permissions/permission_uma_util.cc |
| @@ -447,6 +447,104 @@ void PermissionUmaUtil::PermissionPromptIgnored( |
| } |
| } |
| +void PermissionUmaUtil::PermissionPromptAcceptedWithPersistenceToggle( |
| + content::PermissionType permission, |
| + bool toggle_enabled) { |
| + switch (permission) { |
| + case PermissionType::GEOLOCATION: |
| + UMA_HISTOGRAM_BOOLEAN("Permissions.Prompt.Accepted.Persisted.Geolocation", |
| + toggle_enabled); |
| + break; |
| + case PermissionType::NOTIFICATIONS: |
| + UMA_HISTOGRAM_BOOLEAN( |
| + "Permissions.Prompt.Accepted.Persisted.Notifications", |
| + toggle_enabled); |
| + break; |
| + case PermissionType::MIDI_SYSEX: |
| + UMA_HISTOGRAM_BOOLEAN("Permissions.Prompt.Accepted.Persisted.MidiSysEx", |
| + toggle_enabled); |
| + break; |
| + case PermissionType::PUSH_MESSAGING: |
| + UMA_HISTOGRAM_BOOLEAN( |
| + "Permissions.Prompt.Accepted.Persisted.PushMessaging", |
| + toggle_enabled); |
| + break; |
| + case PermissionType::PROTECTED_MEDIA_IDENTIFIER: |
| + UMA_HISTOGRAM_BOOLEAN( |
| + "Permissions.Prompt.Accepted.Persisted.ProtectedMedia", |
| + toggle_enabled); |
| + break; |
| + case PermissionType::DURABLE_STORAGE: |
| + UMA_HISTOGRAM_BOOLEAN( |
| + "Permissions.Prompt.Accepted.Persisted.DurableStorage", |
| + toggle_enabled); |
| + break; |
| + case PermissionType::AUDIO_CAPTURE: |
| + UMA_HISTOGRAM_BOOLEAN( |
| + "Permissions.Prompt.Accepted.Persisted.AudioCapture", toggle_enabled); |
| + break; |
| + case PermissionType::VIDEO_CAPTURE: |
| + UMA_HISTOGRAM_BOOLEAN( |
| + "Permissions.Prompt.Accepted.Persisted.VideoCapture", toggle_enabled); |
| + break; |
| + // The user is not prompted for these permissions, thus there is no accept |
| + // recorded for them. |
| + case PermissionType::MIDI: |
| + case PermissionType::BACKGROUND_SYNC: |
| + case PermissionType::NUM: |
| + NOTREACHED() << "PERMISSION " |
| + << PermissionUtil::GetPermissionString(permission) |
| + << " not accounted for"; |
| + } |
| +} |
| + |
| +void PermissionUmaUtil::PermissionPromptDeniedWithPersistenceToggle( |
| + content::PermissionType permission, |
| + bool toggle_enabled) { |
| + switch (permission) { |
| + case PermissionType::GEOLOCATION: |
| + UMA_HISTOGRAM_BOOLEAN("Permissions.Prompt.Denied.Persisted.Geolocation", |
| + toggle_enabled); |
| + break; |
| + case PermissionType::NOTIFICATIONS: |
| + UMA_HISTOGRAM_BOOLEAN("Permissions.Prompt.Denied.Persisted.Notifications", |
| + toggle_enabled); |
| + break; |
| + case PermissionType::MIDI_SYSEX: |
| + UMA_HISTOGRAM_BOOLEAN("Permissions.Prompt.Denied.Persisted.MidiSysEx", |
| + toggle_enabled); |
| + break; |
| + case PermissionType::PUSH_MESSAGING: |
| + UMA_HISTOGRAM_BOOLEAN("Permissions.Prompt.Denied.Persisted.PushMessaging", |
| + toggle_enabled); |
| + break; |
| + case PermissionType::PROTECTED_MEDIA_IDENTIFIER: |
| + UMA_HISTOGRAM_BOOLEAN( |
| + "Permissions.Prompt.Denied.Persisted.ProtectedMedia", toggle_enabled); |
| + break; |
| + case PermissionType::DURABLE_STORAGE: |
| + UMA_HISTOGRAM_BOOLEAN( |
| + "Permissions.Prompt.Denied.Persisted.DurableStorage", toggle_enabled); |
| + break; |
| + case PermissionType::AUDIO_CAPTURE: |
| + UMA_HISTOGRAM_BOOLEAN("Permissions.Prompt.Denied.Persisted.AudioCapture", |
| + toggle_enabled); |
| + break; |
| + case PermissionType::VIDEO_CAPTURE: |
| + UMA_HISTOGRAM_BOOLEAN("Permissions.Prompt.Denied.Persisted.VideoCapture", |
| + toggle_enabled); |
| + break; |
| + // The user is not prompted for these permissions, thus there is no deny |
| + // recorded for them. |
| + case PermissionType::MIDI: |
| + case PermissionType::BACKGROUND_SYNC: |
| + case PermissionType::NUM: |
| + NOTREACHED() << "PERMISSION " |
| + << PermissionUtil::GetPermissionString(permission) |
| + << " not accounted for"; |
| + } |
|
raymes
2016/08/16 04:51:58
nit: maybe we should just have geolocation here fo
|
| +} |
| + |
| bool PermissionUmaUtil::IsOptedIntoPermissionActionReporting(Profile* profile) { |
| if (!base::CommandLine::ForCurrentProcess()->HasSwitch( |
| switches::kEnablePermissionActionReporting)) |