Chromium Code Reviews| Index: chrome/browser/content_settings/host_content_settings_map.cc |
| diff --git a/chrome/browser/content_settings/host_content_settings_map.cc b/chrome/browser/content_settings/host_content_settings_map.cc |
| index da348b050eacc334d0eefeb3974c2c07ed50b35f..eb904d95d7eebecb9955df7b77008d3450ce3b0b 100644 |
| --- a/chrome/browser/content_settings/host_content_settings_map.cc |
| +++ b/chrome/browser/content_settings/host_content_settings_map.cc |
| @@ -293,6 +293,34 @@ void HostContentSettingsMap::SetWebsiteSetting( |
| NOTREACHED(); |
| } |
| +void HostContentSettingsMap::SetNarrowestWebsiteSetting( |
| + const ContentSettingsPattern& primary_pattern, |
| + const ContentSettingsPattern& secondary_pattern, |
| + ContentSettingsType content_type, |
| + const std::string& resource_identifier, |
| + ContentSetting setting, |
| + content_settings::SettingInfo existing_info) { |
| + ContentSettingsPattern narrow_primary = primary_pattern; |
| + ContentSettingsPattern narrow_secondary = secondary_pattern; |
| + |
| + DCHECK(existing_info.source == content_settings::SETTING_SOURCE_USER); |
|
Bernhard Bauer
2014/08/15 14:53:05
DCHECK_EQ?
Daniel Nishi
2014/08/15 16:56:45
Done.
|
| + ContentSettingsPattern::Relation r1 = |
| + existing_info.primary_pattern.Compare(primary_pattern); |
| + if (r1 == ContentSettingsPattern::PREDECESSOR) { |
| + narrow_primary = existing_info.primary_pattern; |
| + } else if (r1 == ContentSettingsPattern::IDENTITY) { |
| + ContentSettingsPattern::Relation r2 = |
| + existing_info.secondary_pattern.Compare(secondary_pattern); |
| + DCHECK(r2 != ContentSettingsPattern::DISJOINT_ORDER_POST && |
| + r2 != ContentSettingsPattern::DISJOINT_ORDER_PRE); |
| + if (r2 == ContentSettingsPattern::PREDECESSOR) |
| + narrow_secondary = existing_info.secondary_pattern; |
| + } |
| + |
| + SetContentSetting( |
| + narrow_primary, narrow_secondary, content_type, std::string(), setting); |
| +} |
| + |
| void HostContentSettingsMap::SetContentSetting( |
| const ContentSettingsPattern& primary_pattern, |
| const ContentSettingsPattern& secondary_pattern, |