| Index: chrome/browser/extensions/extension_info_map.cc
|
| diff --git a/chrome/browser/extensions/extension_info_map.cc b/chrome/browser/extensions/extension_info_map.cc
|
| index 01ee98bf4e5a52d3e70d377da404490214dccdb4..d3210a6f08346a4e77dd9b8c35db2d8f1f36c67c 100644
|
| --- a/chrome/browser/extensions/extension_info_map.cc
|
| +++ b/chrome/browser/extensions/extension_info_map.cc
|
| @@ -64,11 +64,13 @@ void ExtensionInfoMap::RemoveExtension(const std::string& extension_id,
|
| CheckOnValidThread();
|
| const Extension* extension = extensions_.GetByID(extension_id);
|
| extra_data_.erase(extension_id); // we don't care about disabled extra data
|
| + bool was_uninstalled = (reason != extension_misc::UNLOAD_REASON_DISABLE &&
|
| + reason != extension_misc::UNLOAD_REASON_TERMINATE);
|
| if (extension) {
|
| - if (reason == extension_misc::UNLOAD_REASON_DISABLE)
|
| + if (!was_uninstalled)
|
| disabled_extensions_.Insert(extension);
|
| extensions_.Remove(extension_id);
|
| - } else if (reason != extension_misc::UNLOAD_REASON_DISABLE) {
|
| + } else if (was_uninstalled) {
|
| // If the extension was uninstalled, make sure it's removed from the map of
|
| // disabled extensions.
|
| disabled_extensions_.Remove(extension_id);
|
|
|