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