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()); |