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 94ec82985358fb4fb1dbd35c3b8c2257e04ff5e7..b7db409988bf0bf8a996f21a7387e5b6db3f4463 100644 |
--- a/chrome/browser/permissions/permission_uma_util.cc |
+++ b/chrome/browser/permissions/permission_uma_util.cc |
@@ -363,7 +363,35 @@ void PermissionUmaUtil::PermissionRevoked(ContentSettingsType permission, |
} |
} |
-void PermissionUmaUtil::RecordPermissionEmbargoStatus( |
+void PermissionUmaUtil::RecordEmbargoPromptSuppression( |
+ PermissionEmbargoStatus embargo_status) { |
+ UMA_HISTOGRAM_ENUMERATION("Permissions.AutoBlocker.EmbargoPromptSuppression", |
+ embargo_status, |
+ PermissionEmbargoStatus::STATUS_NUM); |
+} |
+ |
+void PermissionUmaUtil::RecordEmbargoPromptSuppressionFromSource( |
+ PermissionStatusSource source) { |
+ // Explicitly switch to ensure that any new PermissionStatusSource values are |
+ // dealt with appropriately. |
+ switch (source) { |
+ case PermissionStatusSource::MULTIPLE_DISMISSALS: |
+ PermissionUmaUtil::RecordEmbargoPromptSuppression( |
+ PermissionEmbargoStatus::REPEATED_DISMISSALS); |
+ break; |
+ case PermissionStatusSource::SAFE_BROWSING_BLACKLIST: |
+ PermissionUmaUtil::RecordEmbargoPromptSuppression( |
+ PermissionEmbargoStatus::PERMISSIONS_BLACKLISTING); |
+ break; |
+ case PermissionStatusSource::UNSPECIFIED: |
+ case PermissionStatusSource::KILL_SWITCH: |
+ // The permission wasn't under embargo, so don't record anything. We may |
+ // embargo it later. |
+ break; |
+ } |
+} |
+ |
+void PermissionUmaUtil::RecordEmbargoStatus( |
PermissionEmbargoStatus embargo_status) { |
UMA_HISTOGRAM_ENUMERATION("Permissions.AutoBlocker.EmbargoStatus", |
embargo_status, |