Chromium Code Reviews| Index: chrome/browser/prefs/pref_service.h |
| diff --git a/chrome/browser/prefs/pref_service.h b/chrome/browser/prefs/pref_service.h |
| index 3002e9d38db81480ae78cf854f8ab7f3849b53cb..c9821f6c094dfa965068b2433659d86efdf6699c 100644 |
| --- a/chrome/browser/prefs/pref_service.h |
| +++ b/chrome/browser/prefs/pref_service.h |
| @@ -146,6 +146,10 @@ class PrefService : public base::NonThreadSafe { |
| // incognito windows). |
| PrefService* CreateIncognitoPrefService(PrefStore* incognito_extension_prefs); |
| + // Creates a per-tab copy of the pref service that shares most pref stores |
| + // and allows WebKit-related preferences to be overridden on per-tab basis. |
| + PrefService* CreatePrefServiceWithPerTabPrefStore(); |
| + |
| virtual ~PrefService(); |
| // Reloads the data from file. This should only be called when the importer |
| @@ -297,24 +301,28 @@ class PrefService : public base::NonThreadSafe { |
| SyncableService* GetSyncableService(); |
| protected: |
| - // Construct a new pref service, specifying the pref sources as explicit |
| - // PrefStore pointers. This constructor is what CreatePrefService() ends up |
| - // calling. It's also used for unit tests. |
| - PrefService(PrefStore* managed_platform_prefs, |
| - PrefStore* managed_cloud_prefs, |
| - PrefStore* extension_prefs, |
| - PrefStore* command_line_prefs, |
| + // Construct a new pref service. This constructor is what |
| + // factory methods end up calling and what is used for unit tests. |
| + PrefService(PrefNotifierImpl* pref_notifier, |
| PersistentPrefStore* user_prefs, |
| - PrefStore* recommended_platform_prefs, |
| - PrefStore* recommended_cloud_prefs, |
| DefaultPrefStore* default_store, |
| + PrefModelAssociator* pref_sync_associator, |
| + PrefValueStore* pref_value_store, |
| bool async); |
| + // The following fields are made protected for unit testing. |
| + |
| // The PrefNotifier handles registering and notifying preference observers. |
| - // It is created and owned by this PrefService. Subclasses may access it for |
| - // unit testing. |
| + // It is created and owned by this PrefService. |
| scoped_ptr<PrefNotifierImpl> pref_notifier_; |
| + // Pref Stores and profile that we pass to the PrefValueStore. |
| + scoped_refptr<PersistentPrefStore> user_pref_store_; |
| + scoped_refptr<DefaultPrefStore> default_store_; |
| + |
| + // The model associator that maintains the links with the sync db. |
| + scoped_ptr<PrefModelAssociator> pref_sync_associator_; |
| + |
| private: |
| class PreferencePathComparator { |
| public: |
| @@ -338,11 +346,6 @@ class PrefService : public base::NonThreadSafe { |
| // Give access to ReportUserPrefChanged() and GetMutableUserPref(). |
| friend class subtle::ScopedUserPrefUpdateBase; |
| - // Construct an incognito version of the pref service. Use |
| - // CreateIncognitoPrefService() instead of calling this constructor directly. |
| - PrefService(const PrefService& original, |
| - PrefStore* incognito_extension_prefs); |
| - |
| // Sends notification of a changed preference. This needs to be called by |
| // a ScopedUserPrefUpdate if a DictionaryValue or ListValue is changed. |
| void ReportUserPrefChanged(const std::string& key); |
| @@ -382,21 +385,14 @@ class PrefService : public base::NonThreadSafe { |
| base::Value* GetMutableUserPref(const char* path, |
| base::Value::Type type); |
| - // The PrefValueStore provides prioritized preference values. It is created |
| - // and owned by this PrefService. Subclasses may access it for unit testing. |
| - scoped_ptr<PrefValueStore> pref_value_store_; |
| - |
| - // Pref Stores and profile that we passed to the PrefValueStore. |
| - scoped_refptr<PersistentPrefStore> user_pref_store_; |
| - scoped_refptr<DefaultPrefStore> default_store_; |
| - |
| // Local cache of registered Preference objects. The default_store_ |
| // is authoritative with respect to what the types and default values |
| // of registered preferences are. |
| mutable PreferenceSet prefs_; |
| - // The model associator that maintains the links with the sync db. |
| - scoped_ptr<PrefModelAssociator> pref_sync_associator_; |
| + // The PrefValueStore provides prioritized preference values. It is created |
| + // and owned by this PrefService. Subclasses may access it for unit testing. |
|
Mattias Nissler (ping if slow)
2011/11/18 14:57:07
nit: It's not necessarily created by the PrefServi
mnaganov (inactive)
2011/11/21 14:52:20
Done.
|
| + scoped_ptr<PrefValueStore> pref_value_store_; |
| DISALLOW_COPY_AND_ASSIGN(PrefService); |
| }; |