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

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

Issue 2226633002: Add a feature to display a persistence toggle for permission prompts on Android. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix null error 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_uma_util.cc
diff --git a/chrome/browser/permissions/permission_uma_util.cc b/chrome/browser/permissions/permission_uma_util.cc
index ee69985714e9488e9ed9e9af6eb372a8e6dec8ae..96f24cb1c1c317abfb2792acf0fa08327b116a22 100644
--- a/chrome/browser/permissions/permission_uma_util.cc
+++ b/chrome/browser/permissions/permission_uma_util.cc
@@ -85,8 +85,7 @@ const std::string GetRapporMetric(PermissionType permission,
break;
}
- std::string permission_str =
- PermissionUtil::GetPermissionString(permission);
+ std::string permission_str = PermissionUtil::GetPermissionString(permission);
if (permission_str.empty())
return "";
return base::StringPrintf("ContentSettings.PermissionActions_%s.%s.Url",
@@ -102,8 +101,7 @@ void RecordPermissionRequest(PermissionType permission,
if (permission == PermissionType::GEOLOCATION) {
// TODO(dominickn): remove this deprecated metric - crbug.com/605836.
rappor::SampleDomainAndRegistryFromGURL(
- rappor_service,
- "ContentSettings.PermissionRequested.Geolocation.Url",
+ rappor_service, "ContentSettings.PermissionRequested.Geolocation.Url",
requesting_origin);
rappor_service->RecordSample(
"ContentSettings.PermissionRequested.Geolocation.Url2",
@@ -123,8 +121,7 @@ void RecordPermissionRequest(PermissionType permission,
permission == PermissionType::MIDI_SYSEX) {
// TODO(dominickn): remove this deprecated metric - crbug.com/605836.
rappor::SampleDomainAndRegistryFromGURL(
- rappor_service,
- "ContentSettings.PermissionRequested.Midi.Url",
+ rappor_service, "ContentSettings.PermissionRequested.Midi.Url",
requesting_origin);
rappor_service->RecordSample(
"ContentSettings.PermissionRequested.Midi.Url2",
@@ -356,6 +353,102 @@ void PermissionUmaUtil::PermissionPromptDenied(
requests[0]->GetGestureType(), requests[0]->GetPermissionRequestType());
}
+void PermissionUmaUtil::PermissionPromptGrantedWithPersistenceToggle(
+ content::PermissionType permission,
+ bool toggle_enabled) {
+ switch (permission) {
+ case PermissionType::GEOLOCATION:
+ UMA_HISTOGRAM_BOOLEAN("Permissions.Prompt.Granted.Persisted.Geolocation",
tsergeant 2016/08/11 00:21:50 Maybe change the histogram names to Permissions.P
dominickn 2016/08/11 04:43:49 Done.
+ toggle_enabled);
+ break;
+ case PermissionType::NOTIFICATIONS:
+ UMA_HISTOGRAM_BOOLEAN(
+ "Permissions.Prompt.Granted.Persisted.Notifications", toggle_enabled);
+ break;
+ case PermissionType::MIDI_SYSEX:
+ UMA_HISTOGRAM_BOOLEAN("Permissions.Prompt.Granted.Persisted.MidiSysEx",
+ toggle_enabled);
+ break;
+ case PermissionType::PUSH_MESSAGING:
+ UMA_HISTOGRAM_BOOLEAN(
+ "Permissions.Prompt.Granted.Persisted.PushMessaging", toggle_enabled);
+ break;
+ case PermissionType::PROTECTED_MEDIA_IDENTIFIER:
+ UMA_HISTOGRAM_BOOLEAN(
+ "Permissions.Prompt.Granted.Persisted.ProtectedMedia",
+ toggle_enabled);
+ break;
+ case PermissionType::DURABLE_STORAGE:
+ UMA_HISTOGRAM_BOOLEAN(
+ "Permissions.Prompt.Granted.Persisted.DurableStorage",
+ toggle_enabled);
+ break;
+ case PermissionType::AUDIO_CAPTURE:
+ UMA_HISTOGRAM_BOOLEAN("Permissions.Prompt.Granted.Persisted.AudioCapture",
+ toggle_enabled);
+ break;
+ case PermissionType::VIDEO_CAPTURE:
+ UMA_HISTOGRAM_BOOLEAN("Permissions.Prompt.Granted.Persisted.VideoCapture",
+ toggle_enabled);
+ break;
+ // The user is not prompted for these permissions, thus there is no
+ // grant 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";
+ }
+}
+
bool PermissionUmaUtil::IsOptedIntoPermissionActionReporting(Profile* profile) {
if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kEnablePermissionActionReporting))

Powered by Google App Engine
This is Rietveld 408576698