| 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 f4ed3245bec852d4d6f070e199d46df159ff46ae..a390189bf54b156b767ce75e8850198646c90b8b 100644
|
| --- a/chrome/browser/content_settings/host_content_settings_map.cc
|
| +++ b/chrome/browser/content_settings/host_content_settings_map.cc
|
| @@ -78,8 +78,11 @@ bool SupportsResourceIdentifier(ContentSettingsType content_type) {
|
|
|
| HostContentSettingsMap::HostContentSettingsMap(
|
| PrefService* prefs,
|
| - bool incognito)
|
| - : prefs_(prefs),
|
| + bool incognito) :
|
| +#ifndef NDEBUG
|
| + used_content_settings_providers_(false),
|
| +#endif
|
| + prefs_(prefs),
|
| is_off_the_record_(incognito) {
|
| content_settings::ObservableProvider* policy_provider =
|
| new content_settings::PolicyProvider(prefs_);
|
| @@ -106,6 +109,9 @@ HostContentSettingsMap::HostContentSettingsMap(
|
| void HostContentSettingsMap::RegisterExtensionService(
|
| ExtensionService* extension_service) {
|
| DCHECK(extension_service);
|
| +#ifndef NDEBUG
|
| + DCHECK(!used_content_settings_providers_);
|
| +#endif
|
| DCHECK(!content_settings_providers_[INTERNAL_EXTENSION_PROVIDER]);
|
| DCHECK(!content_settings_providers_[CUSTOM_EXTENSION_PROVIDER]);
|
|
|
| @@ -168,6 +174,8 @@ ContentSetting HostContentSettingsMap::GetDefaultContentSettingFromProvider(
|
| ContentSetting HostContentSettingsMap::GetDefaultContentSetting(
|
| ContentSettingsType content_type,
|
| std::string* provider_id) const {
|
| + UsedContentSettingsProviders();
|
| +
|
| // Iterate through the list of providers and return the first non-NULL value
|
| // that matches |primary_url| and |secondary_url|.
|
| for (ConstProviderIterator provider = content_settings_providers_.begin();
|
| @@ -209,6 +217,7 @@ void HostContentSettingsMap::GetSettingsForOneType(
|
| DCHECK(SupportsResourceIdentifier(content_type) ||
|
| resource_identifier.empty());
|
| DCHECK(settings);
|
| + UsedContentSettingsProviders();
|
|
|
| settings->clear();
|
| for (ConstProviderIterator provider = content_settings_providers_.begin();
|
| @@ -258,6 +267,8 @@ void HostContentSettingsMap::SetWebsiteSetting(
|
| DCHECK(IsValueAllowedForType(prefs_, value, content_type));
|
| DCHECK(SupportsResourceIdentifier(content_type) ||
|
| resource_identifier.empty());
|
| + UsedContentSettingsProviders();
|
| +
|
| for (ProviderIterator provider = content_settings_providers_.begin();
|
| provider != content_settings_providers_.end();
|
| ++provider) {
|
| @@ -317,6 +328,7 @@ void HostContentSettingsMap::AddExceptionForURL(
|
|
|
| void HostContentSettingsMap::ClearSettingsForOneType(
|
| ContentSettingsType content_type) {
|
| + UsedContentSettingsProviders();
|
| for (ProviderIterator provider = content_settings_providers_.begin();
|
| provider != content_settings_providers_.end();
|
| ++provider) {
|
| @@ -505,6 +517,12 @@ void HostContentSettingsMap::AddSettingsForOneType(
|
| }
|
| }
|
|
|
| +void HostContentSettingsMap::UsedContentSettingsProviders() const {
|
| +#ifndef NDEBUG
|
| + used_content_settings_providers_ = true;
|
| +#endif
|
| +}
|
| +
|
| bool HostContentSettingsMap::ShouldAllowAllContent(
|
| const GURL& primary_url,
|
| const GURL& secondary_url,
|
|
|