| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/permissions/permission_uma_util.h" | 5 #include "chrome/browser/permissions/permission_uma_util.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/metrics/histogram_macros.h" | 10 #include "base/metrics/histogram_macros.h" |
| (...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 364 | 364 |
| 365 PermissionRequestType permission_prompt_type = | 365 PermissionRequestType permission_prompt_type = |
| 366 PermissionRequestType::MULTIPLE; | 366 PermissionRequestType::MULTIPLE; |
| 367 PermissionRequestGestureType permission_gesture_type = | 367 PermissionRequestGestureType permission_gesture_type = |
| 368 PermissionRequestGestureType::UNKNOWN; | 368 PermissionRequestGestureType::UNKNOWN; |
| 369 if (requests.size() == 1) { | 369 if (requests.size() == 1) { |
| 370 permission_prompt_type = requests[0]->GetPermissionRequestType(); | 370 permission_prompt_type = requests[0]->GetPermissionRequestType(); |
| 371 permission_gesture_type = requests[0]->GetGestureType(); | 371 permission_gesture_type = requests[0]->GetGestureType(); |
| 372 } | 372 } |
| 373 | 373 |
| 374 PERMISSION_BUBBLE_TYPE_UMA(kPermissionsPromptShown, permission_prompt_type); | 374 RecordPermissionPromptTypeAndGesture(permission_prompt_type, |
| 375 PERMISSION_BUBBLE_GESTURE_TYPE_UMA( | 375 permission_gesture_type); |
| 376 kPermissionsPromptShownGesture, kPermissionsPromptShownNoGesture, | |
| 377 permission_gesture_type, permission_prompt_type); | |
| 378 | 376 |
| 379 UMA_HISTOGRAM_ENUMERATION( | 377 UMA_HISTOGRAM_ENUMERATION( |
| 380 kPermissionsPromptRequestsPerPrompt, | 378 kPermissionsPromptRequestsPerPrompt, |
| 381 static_cast<base::HistogramBase::Sample>(requests.size()), | 379 static_cast<base::HistogramBase::Sample>(requests.size()), |
| 382 static_cast<base::HistogramBase::Sample>(10)); | 380 static_cast<base::HistogramBase::Sample>(10)); |
| 383 | 381 |
| 384 if (requests.size() > 1) { | 382 if (requests.size() > 1) { |
| 385 for (const auto* request : requests) { | 383 for (const auto* request : requests) { |
| 386 PERMISSION_BUBBLE_TYPE_UMA(kPermissionsPromptMergedBubbleTypes, | 384 PERMISSION_BUBBLE_TYPE_UMA(kPermissionsPromptMergedBubbleTypes, |
| 387 request->GetPermissionRequestType()); | 385 request->GetPermissionRequestType()); |
| 388 } | 386 } |
| 389 } | 387 } |
| 390 } | 388 } |
| 391 | 389 |
| 390 void PermissionUmaUtil::RecordPermissionPromptTypeAndGesture( |
| 391 PermissionRequestType request_type, |
| 392 PermissionRequestGestureType gesture_type) { |
| 393 PERMISSION_BUBBLE_TYPE_UMA(kPermissionsPromptShown, request_type); |
| 394 PERMISSION_BUBBLE_GESTURE_TYPE_UMA( |
| 395 kPermissionsPromptShownGesture, kPermissionsPromptShownNoGesture, |
| 396 gesture_type, request_type); |
| 397 } |
| 398 |
| 392 void PermissionUmaUtil::PermissionPromptAccepted( | 399 void PermissionUmaUtil::PermissionPromptAccepted( |
| 393 const std::vector<PermissionRequest*>& requests, | 400 const std::vector<PermissionRequest*>& requests, |
| 394 const std::vector<bool>& accept_states) { | 401 const std::vector<bool>& accept_states) { |
| 395 DCHECK(!requests.empty()); | 402 DCHECK(!requests.empty()); |
| 396 DCHECK(requests.size() == accept_states.size()); | 403 DCHECK(requests.size() == accept_states.size()); |
| 397 | 404 |
| 398 bool all_accepted = accept_states[0]; | 405 bool all_accepted = accept_states[0]; |
| 399 PermissionRequestType permission_prompt_type = | 406 PermissionRequestType permission_prompt_type = |
| 400 requests[0]->GetPermissionRequestType(); | 407 requests[0]->GetPermissionRequestType(); |
| 401 PermissionRequestGestureType permission_gesture_type = | 408 PermissionRequestGestureType permission_gesture_type = |
| (...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 700 if (!deprecated_metric.empty() && rappor_service) { | 707 if (!deprecated_metric.empty() && rappor_service) { |
| 701 rappor::SampleDomainAndRegistryFromGURL(rappor_service, deprecated_metric, | 708 rappor::SampleDomainAndRegistryFromGURL(rappor_service, deprecated_metric, |
| 702 requesting_origin); | 709 requesting_origin); |
| 703 | 710 |
| 704 std::string rappor_metric = deprecated_metric + "2"; | 711 std::string rappor_metric = deprecated_metric + "2"; |
| 705 rappor_service->RecordSample( | 712 rappor_service->RecordSample( |
| 706 rappor_metric, rappor::LOW_FREQUENCY_ETLD_PLUS_ONE_RAPPOR_TYPE, | 713 rappor_metric, rappor::LOW_FREQUENCY_ETLD_PLUS_ONE_RAPPOR_TYPE, |
| 707 rappor::GetDomainAndRegistrySampleFromGURL(requesting_origin)); | 714 rappor::GetDomainAndRegistrySampleFromGURL(requesting_origin)); |
| 708 } | 715 } |
| 709 } | 716 } |
| OLD | NEW |