Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(143)

Unified Diff: components/content_settings/core/browser/host_content_settings_map.cc

Issue 1803973002: Content Settings: Add RevocationObserver to measure when permissions are revoked (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Review comments Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/content_settings/core/browser/host_content_settings_map.cc
diff --git a/components/content_settings/core/browser/host_content_settings_map.cc b/components/content_settings/core/browser/host_content_settings_map.cc
index d1151eab85af2a51fa622b979cda1d05674ff2a3..1c5390b55df20616146439b1d3a3bbf20beb1b6d 100644
--- a/components/content_settings/core/browser/host_content_settings_map.cc
+++ b/components/content_settings/core/browser/host_content_settings_map.cc
@@ -453,6 +453,9 @@ void HostContentSettingsMap::SetContentSettingDefaultScope(
content_type);
DCHECK(info);
+ ContentSetting previous_value = GetContentSetting(
+ primary_url, secondary_url, content_type, resource_identifier);
+
content_settings::PatternPair patterns =
GetPatternsFromScopingType(info->website_settings_info()->scoping_type(),
primary_url, secondary_url);
@@ -463,6 +466,19 @@ void HostContentSettingsMap::SetContentSettingDefaultScope(
SetContentSetting(primary_pattern, secondary_pattern, content_type,
resource_identifier, setting);
+
+ ContentSetting final_value = GetContentSetting(
+ primary_url, secondary_url, content_type, resource_identifier);
+
+ if (previous_value == CONTENT_SETTING_ALLOW &&
+ final_value != CONTENT_SETTING_ALLOW) {
+ FOR_EACH_OBSERVER(content_settings::Observer,
+ observers_,
+ OnContentSettingRevoked(primary_url,
+ secondary_url,
+ content_type,
+ resource_identifier));
+ }
}
ContentSetting HostContentSettingsMap::GetContentSettingAndMaybeUpdateLastUsage(

Powered by Google App Engine
This is Rietveld 408576698