| 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);
|
| };
|
|
|