| Index: chrome/browser/prefs/pref_service.h
|
| diff --git a/chrome/browser/prefs/pref_service.h b/chrome/browser/prefs/pref_service.h
|
| index 18c70ed74acf05846ccfcf9aed4742ca7337b490..04d7b91348f0307245d14763f090317e45010bcc 100644
|
| --- a/chrome/browser/prefs/pref_service.h
|
| +++ b/chrome/browser/prefs/pref_service.h
|
| @@ -15,14 +15,15 @@
|
| #include "base/ref_counted.h"
|
| #include "base/scoped_ptr.h"
|
| #include "base/values.h"
|
| -#include "chrome/common/pref_store.h"
|
|
|
| class DefaultPrefStore;
|
| class FilePath;
|
| class NotificationObserver;
|
| +class PersistentPrefStore;
|
| class PrefChangeObserver;
|
| class PrefNotifier;
|
| class PrefNotifierImpl;
|
| +class PrefStore;
|
| class PrefValueStore;
|
| class Profile;
|
|
|
| @@ -101,16 +102,13 @@ class PrefService : public NonThreadSafe {
|
| // applicable PrefStores. The |pref_filename| points to the user preference
|
| // file. The |profile| is the one to which these preferences apply; it may be
|
| // NULL if we're dealing with the local state. This is the usual way to create
|
| - // a new PrefService.
|
| + // a new PrefService. |extension_pref_store| is used as the source for
|
| + // extension-controlled preferences and may be NULL. The PrefService takes
|
| + // ownership of |extension_pref_store|.
|
| static PrefService* CreatePrefService(const FilePath& pref_filename,
|
| + PrefStore* extension_pref_store,
|
| Profile* profile);
|
|
|
| - // Convenience factory method for use in unit tests. Creates a new
|
| - // PrefService that uses a PrefValueStore with user preferences at the given
|
| - // |pref_filename|, a default PrefStore, and no other PrefStores (i.e., no
|
| - // other types of preferences).
|
| - static PrefService* CreateUserPrefService(const FilePath& pref_filename);
|
| -
|
| virtual ~PrefService();
|
|
|
| // Reloads the data from file. This should only be called when the importer
|
| @@ -223,9 +221,6 @@ class PrefService : public NonThreadSafe {
|
| // preference setter or use ScopedPrefUpdate.
|
| PrefNotifier* pref_notifier() const;
|
|
|
| - // Get the extension PrefStore.
|
| - PrefStore* GetExtensionPrefStore();
|
| -
|
| protected:
|
| // Construct a new pref service, specifying the pref sources as explicit
|
| // PrefStore pointers. This constructor is what CreatePrefService() ends up
|
| @@ -234,7 +229,7 @@ class PrefService : public NonThreadSafe {
|
| PrefStore* device_management_prefs,
|
| PrefStore* extension_prefs,
|
| PrefStore* command_line_prefs,
|
| - PrefStore* user_prefs,
|
| + PersistentPrefStore* user_prefs,
|
| PrefStore* recommended_prefs,
|
| Profile* profile);
|
|
|
| @@ -244,7 +239,7 @@ class PrefService : public NonThreadSafe {
|
| scoped_ptr<PrefNotifierImpl> pref_notifier_;
|
|
|
| private:
|
| - friend class TestingPrefService;
|
| + friend class PrefServiceMockBuilder;
|
|
|
| // Registration of pref change observers must be done using the
|
| // PrefChangeRegistrar, which is declared as a friend here to grant it
|
| @@ -266,17 +261,10 @@ class PrefService : public NonThreadSafe {
|
| // false. This method takes ownership of |default_value|.
|
| void RegisterPreference(const char* path, Value* default_value);
|
|
|
| - // Returns a copy of the current pref value. The caller is responsible for
|
| - // deleting the returned object.
|
| - Value* GetPrefCopy(const char* pref_name);
|
| -
|
| // Sets the value for this pref path in the user pref store and informs the
|
| // PrefNotifier of the change.
|
| void SetUserPrefValue(const char* path, Value* new_value);
|
|
|
| - // Load from disk. Returns a non-zero error code on failure.
|
| - PrefStore::PrefReadError LoadPersistentPrefs();
|
| -
|
| // Load preferences from storage, attempting to diagnose and handle errors.
|
| // This should only be called from the constructor.
|
| void InitFromStorage();
|
| @@ -285,11 +273,11 @@ class PrefService : public NonThreadSafe {
|
| // and owned by this PrefService. Subclasses may access it for unit testing.
|
| scoped_refptr<PrefValueStore> pref_value_store_;
|
|
|
| - // The extension pref store registered with the PrefValueStore.
|
| - PrefStore* extension_store_;
|
| + // The persistent pref store used for actual user data.
|
| + PersistentPrefStore* user_pref_store_;
|
|
|
| // Points to the default pref store we passed to the PrefValueStore.
|
| - PrefStore* default_store_;
|
| + DefaultPrefStore* default_store_;
|
|
|
| // A set of all the registered Preference objects.
|
| PreferenceSet prefs_;
|
|
|