| 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 82792775140b8897d198d9cf5d976795f766daf7..e33319dc2678edebec0da5371cdc85747dbef990 100644
|
| --- a/chrome/browser/permissions/permission_uma_util.cc
|
| +++ b/chrome/browser/permissions/permission_uma_util.cc
|
| @@ -9,6 +9,7 @@
|
| #include "base/command_line.h"
|
| #include "base/metrics/histogram_macros.h"
|
| #include "base/strings/stringprintf.h"
|
| +#include "base/time/time.h"
|
| #include "chrome/browser/browser_process.h"
|
| #include "chrome/browser/permissions/permission_decision_auto_blocker.h"
|
| #include "chrome/browser/permissions/permission_manager.h"
|
| @@ -357,6 +358,32 @@ void PermissionUmaUtil::PermissionRevoked(PermissionType permission,
|
| }
|
| }
|
|
|
| +void PermissionUmaUtil::RecordPermissionEmbargoReason(
|
| + PermissionEmbargoReason embargo_reason) {
|
| + UMA_HISTOGRAM_ENUMERATION("Permissions.AutoBlocker.EmbargoReason",
|
| + embargo_reason,
|
| + PermissionEmbargoReason::REASON_NUM);
|
| +}
|
| +
|
| +void PermissionUmaUtil::RecordRepeatedEmbargo(
|
| + PermissionEmbargoReason embargo_reason) {
|
| + // NOT_EMBARGOED should not ever result in an (origin, permission) pair being
|
| + // placed under embargo, let alone repeatedly.
|
| + DCHECK_NE(PermissionEmbargoReason::NOT_EMBARGOED, embargo_reason);
|
| + UMA_HISTOGRAM_ENUMERATION("Permissions.AutoBlocker.RepeatedEmbargo",
|
| + embargo_reason,
|
| + PermissionEmbargoReason::REASON_NUM);
|
| +}
|
| +
|
| +void PermissionUmaUtil::RecordSafeBrowsingResponse(
|
| + base::TimeDelta response_time,
|
| + SafeBrowsingResponse response) {
|
| + UMA_HISTOGRAM_TIMES("Permissions.AutoBlocker.SafeBrowsingResponseTime",
|
| + response_time);
|
| + UMA_HISTOGRAM_ENUMERATION("Permissions.AutoBlocker.SafeBrowsingResponse",
|
| + response, SafeBrowsingResponse::RESPONSE_NUM);
|
| +}
|
| +
|
| void PermissionUmaUtil::PermissionPromptShown(
|
| const std::vector<PermissionRequest*>& requests) {
|
| DCHECK(!requests.empty());
|
|
|