Introduce per-tab preferences service.
This enables overriding user preferences on a per-tab rather
than per-profile basis.
Based on this CL: http://codereview.chromium.org/7838030/
BUG=none
TEST=unit_tests pass
Review URL: http://codereview.chromium.org/8568019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@111128 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/prefs/pref_model_associator.cc b/chrome/browser/prefs/pref_model_associator.cc
index 40f2dff..df85cbe 100644
--- a/chrome/browser/prefs/pref_model_associator.cc
+++ b/chrome/browser/prefs/pref_model_associator.cc
@@ -23,14 +23,6 @@
processing_syncer_changes_(false),
pref_service_(NULL),
sync_processor_(NULL) {
-}
-
-PrefModelAssociator::PrefModelAssociator(
- PrefService* pref_service)
- : models_associated_(false),
- processing_syncer_changes_(false),
- pref_service_(pref_service),
- sync_processor_(NULL) {
DCHECK(CalledOnValidThread());
}
@@ -119,6 +111,7 @@
SyncChangeProcessor* sync_processor) {
DCHECK_EQ(type, PREFERENCES);
DCHECK(CalledOnValidThread());
+ DCHECK(pref_service_);
DCHECK(!sync_processor_);
sync_processor_ = sync_processor;
@@ -430,3 +423,8 @@
if (error.IsSet())
StopSyncing(PREFERENCES);
}
+
+void PrefModelAssociator::SetPrefService(PrefService* pref_service) {
+ DCHECK(pref_service_ == NULL);
+ pref_service_ = pref_service;
+}