Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4197)

Unified Diff: chrome/browser/extensions/extension_service.cc

Issue 21443002: Add NOTIFICATION_EXTENSION_REMOVED for Extensions removed from ExtensionService. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..f7fd9ca960cc427d9c23152b6dcf080f7db61f9f 100644
--- a/chrome/browser/extensions/extension_service.cc
+++ b/chrome/browser/extensions/extension_service.cc
@@ -921,6 +921,8 @@ void ExtensionService::EnableExtension(const std::string& extension_id) {
// Move it over to the enabled list.
extensions_.Insert(make_scoped_refptr(extension));
disabled_extensions_.Remove(extension->id());
+ FOR_EACH_OBSERVER(DisabledExtensionObserver, disabled_extension_observers_,
+ OnDisabledExtensionRemoved(extension, true));
NotifyExtensionLoaded(extension);
@@ -1880,6 +1882,8 @@ void ExtensionService::UnloadExtension(
UnloadedExtensionInfo details(extension.get(), reason);
details.already_disabled = true;
disabled_extensions_.Remove(extension->id());
+ FOR_EACH_OBSERVER(DisabledExtensionObserver, disabled_extension_observers_,
+ OnDisabledExtensionRemoved(extension.get(), false));
content::NotificationService::current()->Notify(
chrome::NOTIFICATION_EXTENSION_UNLOADED,
content::Source<Profile>(profile_),
@@ -3118,3 +3122,13 @@ void ExtensionService::RemoveUpdateObserver(
extensions::UpdateObserver* observer) {
update_observers_.RemoveObserver(observer);
}
+
+void ExtensionService::AddDisabledExtensionObserver(
+ ExtensionService::DisabledExtensionObserver* observer) {
+ disabled_extension_observers_.AddObserver(observer);
+}
+
+void ExtensionService::RemoveDisabledExtensionObserver(
+ ExtensionService::DisabledExtensionObserver* observer) {
+ disabled_extension_observers_.RemoveObserver(observer);
+}

Powered by Google App Engine
This is Rietveld 408576698