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

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

Issue 1977693003: Add metrics for permission prompt acceptance / denial (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 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 38ca3630e42f4f61dd7b52b4e89582b0dedf3a24..0c0ab5e57e7dc0b64b425ade6d6997b2e18e823f 100644
--- a/chrome/browser/permissions/permission_uma_util.cc
+++ b/chrome/browser/permissions/permission_uma_util.cc
@@ -282,6 +282,7 @@ void PermissionUmaUtil::PermissionRevoked(PermissionType permission,
void PermissionUmaUtil::PermissionPromptShown(
const std::vector<PermissionBubbleRequest*>& requests) {
DCHECK(!requests.empty());
+
PermissionBubbleType permission_prompt_type = PermissionBubbleType::MULTIPLE;
if (requests.size() == 1)
permission_prompt_type = requests[0]->GetPermissionBubbleType();
@@ -305,3 +306,51 @@ void PermissionUmaUtil::PermissionPromptShown(
}
}
}
+
+void PermissionUmaUtil::PermissionPromptAccepted(
+ const std::vector<PermissionBubbleRequest*>& requests,
+ const std::vector<bool>& accept_states) {
+ DCHECK(!requests.empty());
+ DCHECK(requests.size() == accept_states.size());
+
+ bool all_accepted = true;
+ PermissionBubbleType permission_prompt_type =
+ requests[0]->GetPermissionBubbleType();
+ if (requests.size() > 1) {
+ permission_prompt_type = PermissionBubbleType::MULTIPLE;
+ for (size_t i = 0; i < requests.size(); ++i) {
+ const auto* request = requests[i];
+ std::string metric_name = "Permissions.Prompt.MergedBubbleAccepted";
+ if (!accept_states[i]) {
+ all_accepted = false;
+ metric_name = "Permissions.Prompt.MergedBubbleDenied";
+ }
+
+ UMA_HISTOGRAM_ENUMERATION(
+ metric_name,
+ static_cast<base::HistogramBase::Sample>(
+ request->GetPermissionBubbleType()),
+ static_cast<base::HistogramBase::Sample>(PermissionBubbleType::NUM));
+ }
+ }
+
+ std::string metric_name = all_accepted ? "Permissions.Prompt.Accepted"
+ : "Permissions.Prompt.Denied";
+ UMA_HISTOGRAM_ENUMERATION(
+ metric_name,
+ static_cast<base::HistogramBase::Sample>(permission_prompt_type),
+ static_cast<base::HistogramBase::Sample>(PermissionBubbleType::NUM));
+}
+
+void PermissionUmaUtil::PermissionPromptDenied(
+ const std::vector<PermissionBubbleRequest*>& requests) {
+ DCHECK(!requests.empty());
+ DCHECK(requests.size() == 1);
+
+ PermissionBubbleType permission_prompt_type =
+ requests[0]->GetPermissionBubbleType();
+ UMA_HISTOGRAM_ENUMERATION(
+ "Permissions.Prompt.Denied",
+ static_cast<base::HistogramBase::Sample>(permission_prompt_type),
+ static_cast<base::HistogramBase::Sample>(PermissionBubbleType::NUM));
+}

Powered by Google App Engine
This is Rietveld 408576698