Index: chrome/browser/extensions/api/content_settings/content_settings_store.cc |
diff --git a/chrome/browser/extensions/api/content_settings/content_settings_store.cc b/chrome/browser/extensions/api/content_settings/content_settings_store.cc |
index b15001271b777b7bb78f8599f0ed968678624731..71304fbe5f0a85c975b6510150e3dacef9e4955c 100644 |
--- a/chrome/browser/extensions/api/content_settings/content_settings_store.cc |
+++ b/chrome/browser/extensions/api/content_settings/content_settings_store.cc |
@@ -196,16 +196,19 @@ const OriginIdentifierValueMap* ContentSettingsStore::GetValueMap( |
const std::string& ext_id, |
ExtensionPrefsScope scope) const { |
ExtensionEntryMap::const_iterator i = FindEntry(ext_id); |
- if (i != entries_.end()) { |
- switch (scope) { |
- case kExtensionPrefsScopeRegular: |
- return &(i->second->settings); |
- case kExtensionPrefsScopeIncognitoPersistent: |
- return &(i->second->incognito_persistent_settings); |
- case kExtensionPrefsScopeIncognitoSessionOnly: |
- return &(i->second->incognito_session_only_settings); |
- } |
+ if (i == entries_.end()) |
+ return NULL; |
+ |
+ switch (scope) { |
+ case kExtensionPrefsScopeRegular: |
+ return &(i->second->settings); |
+ case kExtensionPrefsScopeIncognitoPersistent: |
+ return &(i->second->incognito_persistent_settings); |
+ case kExtensionPrefsScopeIncognitoSessionOnly: |
+ return &(i->second->incognito_session_only_settings); |
} |
+ |
+ NOTREACHED(); |
return NULL; |
} |
@@ -216,6 +219,8 @@ void ContentSettingsStore::ClearContentSettingsForExtension( |
{ |
base::AutoLock lock(lock_); |
OriginIdentifierValueMap* map = GetValueMap(ext_id, scope); |
+ if (!map) |
+ return; |
notify = !map->empty(); |
map->clear(); |
} |