Index: chrome/browser/extensions/extension_service.h |
diff --git a/chrome/browser/extensions/extension_service.h b/chrome/browser/extensions/extension_service.h |
index 15645875447357ba74104449b8a584ce725fe9b2..d12903b25a0214a8dd61a441f76b7b53d1918cf0 100644 |
--- a/chrome/browser/extensions/extension_service.h |
+++ b/chrome/browser/extensions/extension_service.h |
@@ -15,6 +15,7 @@ |
#include "base/gtest_prod_util.h" |
#include "base/memory/ref_counted.h" |
#include "base/memory/weak_ptr.h" |
+#include "base/observer_list.h" |
#include "base/prefs/pref_change_registrar.h" |
#include "base/strings/string16.h" |
#include "chrome/browser/extensions/app_sync_bundle.h" |
@@ -135,6 +136,16 @@ class ExtensionService |
public content::NotificationObserver, |
public extensions::Blacklist::Observer { |
public: |
+ class DisabledExtensionObserver { |
+ public: |
+ // Called when an extension is removed from the disabled extensions list. |
+ // |was_enabled| is true if it was enabled, false if it was blacklisted |
+ // or uninstalled. |
+ virtual void OnDisabledExtensionRemoved( |
Matt Perry
2013/08/01 00:37:33
This seems oddly specific. I think it should be sp
Yoyo Zhou
2013/08/01 00:46:40
To be clear, there are paths which result in an Ex
|
+ const extensions::Extension* extension, |
+ bool was_enabled) = 0; |
+ }; |
+ |
// If auto-updates are turned on, default to running every 5 hours. |
static const int kDefaultUpdateFrequencySeconds = 60 * 60 * 5; |
@@ -685,6 +696,10 @@ class ExtensionService |
install_updates_when_idle_ = value; |
} |
+ // Adds/Removes disabled extension observers. |
+ void AddDisabledExtensionObserver(DisabledExtensionObserver* observer); |
+ void RemoveDisabledExtensionObserver(DisabledExtensionObserver* observer); |
+ |
// Adds/Removes update observers. |
void AddUpdateObserver(extensions::UpdateObserver* observer); |
void RemoveUpdateObserver(extensions::UpdateObserver* observer); |
@@ -949,6 +964,7 @@ class ExtensionService |
extension_action_storage_manager_; |
#endif |
+ ObserverList<DisabledExtensionObserver, true> disabled_extension_observers_; |
ObserverList<extensions::UpdateObserver, true> update_observers_; |
// Run()ning tells sync to try and start soon, because syncable changes |