| 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 303ec9855df7551c4c7d78eabbf5190e8278c968..f3e73cb655d126a38a52da65dfbc585cc0c8198d 100644
|
| --- a/components/content_settings/core/browser/host_content_settings_map.cc
|
| +++ b/components/content_settings/core/browser/host_content_settings_map.cc
|
| @@ -525,6 +525,24 @@ void HostContentSettingsMap::ClearSettingsForOneType(
|
| FlushLossyWebsiteSettings();
|
| }
|
|
|
| +void HostContentSettingsMap::ClearSettingsForOneTypeWithPredicate(
|
| + ContentSettingsType content_type,
|
| + const base::Callback<
|
| + bool(const ContentSettingsPattern& primary_pattern,
|
| + const ContentSettingsPattern& secondary_pattern)> predicate) {
|
| + UsedContentSettingsProviders();
|
| + ContentSettingsForOneType settings;
|
| + GetSettingsForOneType(content_type, std::string(), &settings);
|
| + for (const ContentSettingPatternSource& setting : settings) {
|
| + if (predicate.Run(setting.primary_pattern, setting.secondary_pattern)) {
|
| + SetWebsiteSettingCustomScope(setting.primary_pattern,
|
| + setting.secondary_pattern, content_type,
|
| + std::string(), nullptr);
|
| + }
|
| + }
|
| + FlushLossyWebsiteSettings();
|
| +}
|
| +
|
| // TODO(raymes): Remove this function. Consider making it a property of
|
| // ContentSettingsInfo or removing it altogether (it's unclear whether we should
|
| // be restricting allowed default values at this layer).
|
|
|