Index: extensions/browser/extension_prefs.h |
diff --git a/extensions/browser/extension_prefs.h b/extensions/browser/extension_prefs.h |
index 98a2e872a5024b97c13827d78dfc6ebabe48a225..87ff2172bcfe444e23eee112eff0511918c98d2f 100644 |
--- a/extensions/browser/extension_prefs.h |
+++ b/extensions/browser/extension_prefs.h |
@@ -38,7 +38,7 @@ class PrefRegistrySyncable; |
namespace extensions { |
class AppSorting; |
-class ContentSettingsStore; |
+class ExtensionPrefsObserver; |
class ExtensionPrefsUninstallExtension; |
class URLPatternSet; |
@@ -123,24 +123,19 @@ class ExtensionPrefs : public ExtensionScopedPrefs, public KeyedService { |
typedef ScopedUpdate<base::ListValue, base::Value::TYPE_LIST> |
ScopedListUpdate; |
- class Observer { |
- public: |
- // Called when the reasons for an extension being disabled have changed. |
- virtual void OnExtensionDisableReasonsChanged( |
- const std::string& extension_id, |
- int disabled_reasons) = 0; |
- }; |
- |
- // Creates and initializes an ExtensionPrefs object. |
- // Does not take ownership of |prefs| and |extension_pref_value_map|. |
+ // Creates an ExtensionPrefs object. |
+ // Does not take ownership of |prefs| or |extension_pref_value_map|. |
// If |extensions_disabled| is true, extension controlled preferences and |
- // content settings do not become effective. |
+ // content settings do not become effective. ExtensionPrefsObservers should be |
+ // included in |early_observers| if they need to observe events which occur |
+ // during initialization of the ExtensionPrefs object. |
static ExtensionPrefs* Create( |
PrefService* prefs, |
const base::FilePath& root_dir, |
ExtensionPrefValueMap* extension_pref_value_map, |
scoped_ptr<AppSorting> app_sorting, |
- bool extensions_disabled); |
+ bool extensions_disabled, |
+ const std::vector<ExtensionPrefsObserver*>& early_observers); |
// A version of Create which allows injection of a custom base::Time provider. |
// Use this as needed for testing. |
@@ -150,6 +145,7 @@ class ExtensionPrefs : public ExtensionScopedPrefs, public KeyedService { |
ExtensionPrefValueMap* extension_pref_value_map, |
scoped_ptr<AppSorting> app_sorting, |
bool extensions_disabled, |
+ const std::vector<ExtensionPrefsObserver*>& early_observers, |
scoped_ptr<TimeProvider> time_provider); |
virtual ~ExtensionPrefs(); |
@@ -163,8 +159,8 @@ class ExtensionPrefs : public ExtensionScopedPrefs, public KeyedService { |
static ExtensionIdList GetExtensionsFrom(const PrefService* pref_service); |
// Add or remove an observer from the ExtensionPrefs. |
- void AddObserver(Observer* observer); |
- void RemoveObserver(Observer* observer); |
+ void AddObserver(ExtensionPrefsObserver* observer); |
+ void RemoveObserver(ExtensionPrefsObserver* observer); |
// Returns true if the specified external extension was uninstalled by the |
// user. |
@@ -515,10 +511,6 @@ class ExtensionPrefs : public ExtensionScopedPrefs, public KeyedService { |
bool extensions_disabled() const { return extensions_disabled_; } |
- ContentSettingsStore* content_settings_store() { |
- return content_settings_store_.get(); |
- } |
- |
// The underlying PrefService. |
PrefService* pref_service() const { return prefs_; } |
@@ -568,7 +560,8 @@ class ExtensionPrefs : public ExtensionScopedPrefs, public KeyedService { |
ExtensionPrefValueMap* extension_pref_value_map, |
scoped_ptr<AppSorting> app_sorting, |
scoped_ptr<TimeProvider> time_provider, |
- bool extensions_disabled); |
+ bool extensions_disabled, |
+ const std::vector<ExtensionPrefsObserver*>& early_observers); |
// Converts absolute paths in the pref to paths relative to the |
// install_directory_. |
@@ -669,6 +662,8 @@ class ExtensionPrefs : public ExtensionScopedPrefs, public KeyedService { |
const std::string& install_parameter, |
base::DictionaryValue* extension_dict); |
+ void InitExtensionControlledPrefs(ExtensionPrefValueMap* value_map); |
+ |
// Helper function to complete initialization of the values in |
// |extension_dict| for an extension install. Also see |
// PopulateExtensionInfoPrefs(). |
@@ -693,13 +688,11 @@ class ExtensionPrefs : public ExtensionScopedPrefs, public KeyedService { |
// properties. |
scoped_ptr<AppSorting> app_sorting_; |
- scoped_refptr<ContentSettingsStore> content_settings_store_; |
- |
scoped_ptr<TimeProvider> time_provider_; |
bool extensions_disabled_; |
- ObserverList<Observer> observer_list_; |
+ ObserverList<ExtensionPrefsObserver> observer_list_; |
DISALLOW_COPY_AND_ASSIGN(ExtensionPrefs); |
}; |