Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3564)

Unified Diff: chrome/browser/prefs/pref_service.h

Issue 7838030: WIP: Introduce per-TabContents PrefService. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/prefs/pref_service.h
diff --git a/chrome/browser/prefs/pref_service.h b/chrome/browser/prefs/pref_service.h
index 5361928c981c6c60149af59ab60a978f41a502bf..6f20ab6cde8cb3bcbe9b78658dfe557fec66c1ff 100644
--- a/chrome/browser/prefs/pref_service.h
+++ b/chrome/browser/prefs/pref_service.h
@@ -143,6 +143,11 @@ class PrefService : public base::NonThreadSafe {
// incognito windows).
PrefService* CreateIncognitoPrefService(PrefStore* incognito_extension_prefs);
+ // Creates a per-TabContents pref service derived from this PrefService. The
+ // new PrefService will share all PrefStores with the base PrefService, except
+ // for user prefs. Also, it manages a separate set of registered prefs.
+ PrefService* CreateTabContentsPrefService();
+
virtual ~PrefService();
// Reloads the data from file. This should only be called when the importer
@@ -294,17 +299,12 @@ 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 CreatePrefService()
+ // ends up calling. It's also used for unit tests.
+ PrefService(PrefValueStore* pref_value_store,
PersistentPrefStore* user_prefs,
- PrefStore* recommended_platform_prefs,
- PrefStore* recommended_cloud_prefs,
DefaultPrefStore* default_store,
+ PrefNotifierImpl* pref_notifier,
bool async);
// The PrefNotifier handles registering and notifying preference observers.
@@ -335,11 +335,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);

Powered by Google App Engine
This is Rietveld 408576698