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 77b5f0930f84ce62792b4df51997cdafac7ee3e6..d37decdb5b43c5fab3a5b327e2c3797dab5ee9b8 100644 |
--- a/chrome/browser/permissions/permission_uma_util.cc |
+++ b/chrome/browser/permissions/permission_uma_util.cc |
@@ -9,9 +9,11 @@ |
#include "base/metrics/histogram_macros.h" |
#include "base/strings/stringprintf.h" |
#include "chrome/browser/browser_process.h" |
+#include "chrome/browser/content_settings/host_content_settings_map_factory.h" |
#include "chrome/browser/permissions/permission_manager.h" |
#include "chrome/browser/permissions/permission_util.h" |
#include "chrome/browser/profiles/profile.h" |
+#include "components/content_settings/core/browser/host_content_settings_map.h" |
#include "components/rappor/rappor_service.h" |
#include "components/rappor/rappor_utils.h" |
#include "content/public/browser/permission_type.h" |
@@ -291,3 +293,29 @@ void PermissionUmaUtil::PermissionRevoked(PermissionType permission, |
RecordPermissionAction(permission, REVOKED, revoked_origin); |
} |
} |
+ |
+void PermissionUmaUtil::OnContentsettingChanged( |
+ Profile* profile, |
+ const ContentSettingsPattern& primary_pattern, |
+ const ContentSettingsPattern& secondary_pattern, |
+ ContentSettingsType content_type, |
+ ContentSetting previous_value) { |
+ if (primary_pattern.HasNoWildcard()) { |
+ GURL primary_url(primary_pattern.ToString()); |
+ GURL secondary_url; |
+ if (secondary_pattern.HasNoWildcard()) |
+ secondary_url = GURL(secondary_pattern.ToString()); |
+ else |
+ secondary_url = primary_url; |
+ |
+ ContentSetting new_value = |
+ HostContentSettingsMapFactory::GetForProfile(profile) |
+ ->GetContentSetting(primary_url, secondary_url, content_type, ""); |
+ |
+ if (previous_value == CONTENT_SETTING_ALLOW && |
+ (new_value == CONTENT_SETTING_BLOCK || |
+ new_value == CONTENT_SETTING_DEFAULT)) { |
+ // This was a revocation action |
+ } |
+ } |
+} |