Index: chrome/browser/extensions/api/content_settings/content_settings_api.cc |
diff --git a/chrome/browser/extensions/api/content_settings/content_settings_api.cc b/chrome/browser/extensions/api/content_settings/content_settings_api.cc |
index c63d8f45e015fc794c3b8d4ccf7e9ed7c85be237..89c998927cb4a09e0def284b3282faee203bb550 100644 |
--- a/chrome/browser/extensions/api/content_settings/content_settings_api.cc |
+++ b/chrome/browser/extensions/api/content_settings/content_settings_api.cc |
@@ -214,8 +214,11 @@ ContentSettingsContentSettingSetFunction::Run() { |
// some values might not be supported. |
// For example, camera supports [allow, ask, block] for exceptions, but only |
// [ask, block] for the default setting. |
- if (primary_pattern == ContentSettingsPattern::Wildcard() && |
- secondary_pattern == ContentSettingsPattern::Wildcard() && |
+ // Also, do not allow wildcard patterns that match chrome-extension URLs. |
+ if ((primary_pattern.MatchesExtensionUrls() && |
+ secondary_pattern.MatchesExtensionUrls()) || |
+ (primary_pattern == ContentSettingsPattern::Wildcard() && |
+ secondary_pattern == ContentSettingsPattern::Wildcard())) && |
!HostContentSettingsMap::IsDefaultSettingAllowedForType(setting, |
content_type)) { |
static const char kUnsupportedDefaultSettingError[] = |