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 3b0c008cedbbb94f147c92f58bddfc20a11a21a9..6f0c1c9c66c39d2b25749ec0f41dfbfffdfcd1a1 100644 |
--- a/chrome/browser/extensions/api/content_settings/content_settings_store.cc |
+++ b/chrome/browser/extensions/api/content_settings/content_settings_store.cc |
@@ -123,15 +123,16 @@ void ContentSettingsStore::RegisterExtension( |
bool is_enabled) { |
base::AutoLock lock(lock_); |
ExtensionEntryMap::iterator i = FindEntry(ext_id); |
+ ExtensionEntry* entry; |
if (i != entries_.end()) { |
- delete i->second; |
- entries_.erase(i); |
+ entry = i->second; |
+ } else { |
+ entry = new ExtensionEntry; |
+ entries_.insert(std::make_pair(install_time, entry)); |
} |
- ExtensionEntry* entry = new ExtensionEntry; |
entry->id = ext_id; |
entry->enabled = is_enabled; |
- entries_.insert(std::make_pair(install_time, entry)); |
} |
void ContentSettingsStore::UnregisterExtension( |