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 39c38a939349651c70d02e0a1759414851fc117a..ae2dfc2721e08d8767aaba5a4a8d25fab5780132 100644 |
| --- a/chrome/browser/content_settings/host_content_settings_map.cc |
| +++ b/chrome/browser/content_settings/host_content_settings_map.cc |
| @@ -210,12 +210,15 @@ void HostContentSettingsMap::SetDefaultContentSetting( |
| DCHECK_NE(content_type, CONTENT_SETTINGS_TYPE_AUTO_SELECT_CERTIFICATE); |
| DCHECK(IsSettingAllowedForType(setting, content_type)); |
| - base::Value* value = Value::CreateIntegerValue(setting); |
| - if (!content_settings_providers_[DEFAULT_PROVIDER]->SetWebsiteSetting( |
| - ContentSettingsPattern::Wildcard(), ContentSettingsPattern::Wildcard(), |
| - content_type, std::string(), value)) { |
| - delete value; |
| - } |
| + base::Value* value = NULL; |
| + if (setting != CONTENT_SETTING_DEFAULT) |
| + value = Value::CreateIntegerValue(setting); |
| + SetWebsiteSetting( |
| + ContentSettingsPattern::Wildcard(), |
| + ContentSettingsPattern::Wildcard(), |
| + content_type, |
| + std::string(), |
| + value); |
|
Bernhard Bauer
2011/11/18 16:32:42
You should still check the return value for the ca
Bernhard Bauer
2011/11/18 16:44:44
Uh, disregard this, I thought that SetWebsiteSetti
|
| } |
| void HostContentSettingsMap::SetWebsiteSetting( |
| @@ -238,6 +241,12 @@ void HostContentSettingsMap::SetWebsiteSetting( |
| return; |
| } |
| } |
| + // There should be at least one provider that accepts the ownership of the |
|
James Hawkins
2011/11/18 16:39:44
Eh I'm not so sure about this. This falls under th
Bernhard Bauer
2011/11/18 16:44:44
Hm, but shouldn't the right way to catch this be a
James Hawkins
2011/11/18 16:53:40
Yes, you're right; however, my original complaint
markusheintz_
2011/11/18 17:01:18
The NOTREACHED is really not reached. I don't know
markusheintz_
2011/11/18 21:04:31
If you like we can change the NOTREACHED() to a CH
James Hawkins
2011/11/18 21:07:23
There's no need to change the NOTREACHED(). If it'
|
| + // passed |value|. However if we would set a default setting on the incognito |
| + // map the |DefaultProvider| would refuse to accept the setting. This should |
| + // not happen that's why there is the NOTREACHED. However if it would happen, |
| + // then we do not want to leak memory. Hence delete the |value|. |
| + delete value; |
| NOTREACHED(); |
| } |