| 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 efbdf5f04b6c65ff92efbb88a5fa6d95f2c44fb1..fc5bad9f76537e2a9bb823ba3a15a789e4e44ca0 100644
|
| --- a/chrome/browser/permissions/permission_uma_util.cc
|
| +++ b/chrome/browser/permissions/permission_uma_util.cc
|
| @@ -32,11 +32,22 @@
|
| PERMISSION_ACTION_NUM); \
|
| }
|
|
|
| -#define PERMISSION_BUBBLE_TYPE_UMA(metric_name, permission_bubble_type) \
|
| - UMA_HISTOGRAM_ENUMERATION( \
|
| - metric_name, \
|
| - static_cast<base::HistogramBase::Sample>(permission_bubble_type), \
|
| - static_cast<base::HistogramBase::Sample>(PermissionBubbleType::NUM))
|
| +#define PERMISSION_BUBBLE_TYPE_UMA(metric_name, permission_bubble_type) \
|
| + UMA_HISTOGRAM_ENUMERATION( \
|
| + metric_name, \
|
| + static_cast<base::HistogramBase::Sample>(permission_bubble_type), \
|
| + static_cast<base::HistogramBase::Sample>(PermissionBubbleType::NUM))
|
| +
|
| +#define PERMISSION_BUBBLE_GESTURE_TYPE_UMA(gesture_metric_name, \
|
| + no_gesture_metric_name, \
|
| + gesture_type, \
|
| + permission_bubble_type) \
|
| + if (gesture_type == PermissionBubbleGestureType::GESTURE) { \
|
| + PERMISSION_BUBBLE_TYPE_UMA(gesture_metric_name, permission_bubble_type); \
|
| + } else if (gesture_type == PermissionBubbleGestureType::NO_GESTURE) { \
|
| + PERMISSION_BUBBLE_TYPE_UMA(no_gesture_metric_name, \
|
| + permission_bubble_type); \
|
| + }
|
|
|
| using content::PermissionType;
|
|
|
| @@ -260,6 +271,18 @@ const char PermissionUmaUtil::kPermissionsPromptAccepted[] =
|
| "Permissions.Prompt.Accepted";
|
| const char PermissionUmaUtil::kPermissionsPromptDenied[] =
|
| "Permissions.Prompt.Denied";
|
| +const char PermissionUmaUtil::kPermissionsPromptGestureShown[] =
|
| + "Permissions.Prompt.Gesture.Shown";
|
| +const char PermissionUmaUtil::kPermissionsPromptGestureAccepted[] =
|
| + "Permissions.Prompt.Gesture.Accepted";
|
| +const char PermissionUmaUtil::kPermissionsPromptGestureDenied[] =
|
| + "Permissions.Prompt.Gesture.Denied";
|
| +const char PermissionUmaUtil::kPermissionsPromptNoGestureShown[] =
|
| + "Permissions.Prompt.NoGesture.Shown";
|
| +const char PermissionUmaUtil::kPermissionsPromptNoGestureAccepted[] =
|
| + "Permissions.Prompt.NoGesture.Accepted";
|
| +const char PermissionUmaUtil::kPermissionsPromptNoGestureDenied[] =
|
| + "Permissions.Prompt.NoGesture.Denied";
|
| const char PermissionUmaUtil::kPermissionsPromptRequestsPerPrompt[] =
|
| "Permissions.Prompt.RequestsPerPrompt";
|
| const char PermissionUmaUtil::kPermissionsPromptMergedBubbleTypes[] =
|
| @@ -316,9 +339,17 @@ void PermissionUmaUtil::PermissionPromptShown(
|
| DCHECK(!requests.empty());
|
|
|
| PermissionBubbleType permission_prompt_type = PermissionBubbleType::MULTIPLE;
|
| - if (requests.size() == 1)
|
| + PermissionBubbleGestureType permission_gesture_type =
|
| + PermissionBubbleGestureType::UNKNOWN;
|
| + if (requests.size() == 1) {
|
| permission_prompt_type = requests[0]->GetPermissionBubbleType();
|
| + permission_gesture_type = requests[0]->GetGestureType();
|
| + }
|
| +
|
| PERMISSION_BUBBLE_TYPE_UMA(kPermissionsPromptShown, permission_prompt_type);
|
| + PERMISSION_BUBBLE_GESTURE_TYPE_UMA(
|
| + kPermissionsPromptGestureShown, kPermissionsPromptNoGestureShown,
|
| + permission_gesture_type, permission_prompt_type);
|
|
|
| UMA_HISTOGRAM_ENUMERATION(
|
| kPermissionsPromptRequestsPerPrompt,
|
| @@ -342,8 +373,11 @@ void PermissionUmaUtil::PermissionPromptAccepted(
|
| bool all_accepted = accept_states[0];
|
| PermissionBubbleType permission_prompt_type =
|
| requests[0]->GetPermissionBubbleType();
|
| + PermissionBubbleGestureType permission_gesture_type =
|
| + requests[0]->GetGestureType();
|
| if (requests.size() > 1) {
|
| permission_prompt_type = PermissionBubbleType::MULTIPLE;
|
| + permission_gesture_type = PermissionBubbleGestureType::UNKNOWN;
|
| for (size_t i = 0; i < requests.size(); ++i) {
|
| const auto* request = requests[i];
|
| if (accept_states[i]) {
|
| @@ -360,9 +394,15 @@ void PermissionUmaUtil::PermissionPromptAccepted(
|
| if (all_accepted) {
|
| PERMISSION_BUBBLE_TYPE_UMA(kPermissionsPromptAccepted,
|
| permission_prompt_type);
|
| + PERMISSION_BUBBLE_GESTURE_TYPE_UMA(
|
| + kPermissionsPromptGestureAccepted, kPermissionsPromptNoGestureAccepted,
|
| + permission_gesture_type, permission_prompt_type);
|
| } else {
|
| PERMISSION_BUBBLE_TYPE_UMA(kPermissionsPromptDenied,
|
| permission_prompt_type);
|
| + PERMISSION_BUBBLE_GESTURE_TYPE_UMA(
|
| + kPermissionsPromptGestureDenied, kPermissionsPromptNoGestureDenied,
|
| + permission_gesture_type, permission_prompt_type);
|
| }
|
| }
|
|
|
| @@ -373,4 +413,7 @@ void PermissionUmaUtil::PermissionPromptDenied(
|
|
|
| PERMISSION_BUBBLE_TYPE_UMA(kPermissionsPromptDenied,
|
| requests[0]->GetPermissionBubbleType());
|
| + PERMISSION_BUBBLE_GESTURE_TYPE_UMA(
|
| + kPermissionsPromptGestureDenied, kPermissionsPromptNoGestureDenied,
|
| + requests[0]->GetGestureType(), requests[0]->GetPermissionBubbleType());
|
| }
|
|
|