Index: chrome/browser/extensions/extension_service.cc |
diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc |
index 42cb3fa69ea9ea451229871e5df976d830fb9cd7..4028ee8e57736ab92d643df35c4d0ccb6dd3849f 100644 |
--- a/chrome/browser/extensions/extension_service.cc |
+++ b/chrome/browser/extensions/extension_service.cc |
@@ -1895,6 +1895,11 @@ void ExtensionService::UnloadExtension( |
extensions_.Remove(extension->id()); |
NotifyExtensionUnloaded(extension.get(), reason); |
+ |
+ content::NotificationService::current()->Notify( |
+ chrome::NOTIFICATION_EXTENSION_REMOVED, |
+ content::Source<Profile>(profile_), |
+ content::Details<const Extension>(extension.get())); |
} |
void ExtensionService::UnloadAllExtensions() { |
@@ -2599,7 +2604,14 @@ void ExtensionService::TrackTerminatedExtension(const Extension* extension) { |
void ExtensionService::UntrackTerminatedExtension(const std::string& id) { |
std::string lowercase_id = StringToLowerASCII(id); |
+ const Extension* extension = terminated_extensions_.GetByID(lowercase_id); |
terminated_extensions_.Remove(lowercase_id); |
+ if (extension) { |
+ content::NotificationService::current()->Notify( |
+ chrome::NOTIFICATION_EXTENSION_REMOVED, |
+ content::Source<Profile>(profile_), |
+ content::Details<const Extension>(extension)); |
+ } |
} |
const Extension* ExtensionService::GetTerminatedExtension( |