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

Side by Side Diff: chrome/browser/prefs/pref_service_syncable.cc

Issue 11741003: Remove PrefServiceSimple, replacing it with PrefService and PrefRegistrySimple. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Switch to desired interfaces. Created 7 years, 11 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/prefs/pref_service_syncable.h" 5 #include "chrome/browser/prefs/pref_service_syncable.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/file_path.h" 8 #include "base/file_path.h"
9 #include "base/prefs/default_pref_store.h" 9 #include "base/prefs/default_pref_store.h"
10 #include "base/prefs/overlay_user_pref_store.h" 10 #include "base/prefs/overlay_user_pref_store.h"
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 NOTREACHED(); 60 NOTREACHED();
61 return Value::CreateNullValue(); 61 return Value::CreateNullValue();
62 } 62 }
63 63
64 } // namespace 64 } // namespace
65 65
66 PrefServiceSyncable::PrefServiceSyncable( 66 PrefServiceSyncable::PrefServiceSyncable(
67 PrefNotifierImpl* pref_notifier, 67 PrefNotifierImpl* pref_notifier,
68 PrefValueStore* pref_value_store, 68 PrefValueStore* pref_value_store,
69 PersistentPrefStore* user_prefs, 69 PersistentPrefStore* user_prefs,
70 DefaultPrefStore* default_store, 70 scoped_ptr<PrefRegistry> pref_registry,
71 base::Callback<void(PersistentPrefStore::PrefReadError)> 71 base::Callback<void(PersistentPrefStore::PrefReadError)>
72 read_error_callback, 72 read_error_callback,
73 bool async) 73 bool async)
74 : PrefService(pref_notifier, 74 : PrefService(pref_notifier,
75 pref_value_store, 75 pref_value_store,
76 user_prefs, 76 user_prefs,
77 default_store, 77 pref_registry.Pass(),
78 read_error_callback, 78 read_error_callback,
79 async) { 79 async) {
80 pref_sync_associator_.SetPrefService(this); 80 pref_sync_associator_.SetPrefService(this);
81 81
82 pref_value_store->set_callback( 82 pref_value_store->set_callback(
83 base::Bind(&PrefModelAssociator::ProcessPrefChange, 83 base::Bind(&PrefModelAssociator::ProcessPrefChange,
84 base::Unretained(&pref_sync_associator_))); 84 base::Unretained(&pref_sync_associator_)));
85 } 85 }
86 86
87 PrefServiceSyncable::~PrefServiceSyncable() {} 87 PrefServiceSyncable::~PrefServiceSyncable() {}
88 88
89 PrefServiceSyncable* PrefServiceSyncable::CreateIncognitoPrefService( 89 PrefServiceSyncable* PrefServiceSyncable::CreateIncognitoPrefService(
90 PrefStore* incognito_extension_prefs) { 90 PrefStore* incognito_extension_prefs) {
91 pref_service_forked_ = true; 91 pref_service_forked_ = true;
92 PrefNotifierImpl* pref_notifier = new PrefNotifierImpl(); 92 PrefNotifierImpl* pref_notifier = new PrefNotifierImpl();
93 OverlayUserPrefStore* incognito_pref_store = 93 OverlayUserPrefStore* incognito_pref_store =
94 new OverlayUserPrefStore(user_pref_store_.get()); 94 new OverlayUserPrefStore(user_pref_store_.get());
95 // TODO(joi): Temporary until we have a PrefRegistrySyncable.
96 PrefRegistry* dummy_registry = new PrefRegistry;
97 dummy_registry->default_prefs_ = default_store_;
Mattias Nissler (ping if slow) 2013/01/25 14:57:11 shouldn't the two stores share the same registry?
Jói 2013/01/29 16:10:02 Done.
95 PrefsTabHelper::InitIncognitoUserPrefStore(incognito_pref_store); 98 PrefsTabHelper::InitIncognitoUserPrefStore(incognito_pref_store);
96 PrefServiceSyncable* incognito_service = new PrefServiceSyncable( 99 PrefServiceSyncable* incognito_service = new PrefServiceSyncable(
97 pref_notifier, 100 pref_notifier,
98 pref_value_store_->CloneAndSpecialize( 101 pref_value_store_->CloneAndSpecialize(
99 NULL, // managed 102 NULL, // managed
100 incognito_extension_prefs, 103 incognito_extension_prefs,
101 NULL, // command_line_prefs 104 NULL, // command_line_prefs
102 incognito_pref_store, 105 incognito_pref_store,
103 NULL, // recommended 106 NULL, // recommended
104 default_store_.get(), 107 default_store_.get(),
105 pref_notifier), 108 pref_notifier),
106 incognito_pref_store, 109 incognito_pref_store,
107 default_store_.get(), 110 make_scoped_ptr(dummy_registry),
108 read_error_callback_, 111 read_error_callback_,
109 false); 112 false);
110 return incognito_service; 113 return incognito_service;
111 } 114 }
112 115
113 bool PrefServiceSyncable::IsSyncing() { 116 bool PrefServiceSyncable::IsSyncing() {
114 return pref_sync_associator_.models_associated(); 117 return pref_sync_associator_.models_associated();
115 } 118 }
116 119
117 void PrefServiceSyncable::AddObserver(PrefServiceSyncableObserver* observer) { 120 void PrefServiceSyncable::AddObserver(PrefServiceSyncableObserver* observer) {
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
257 } 260 }
258 261
259 void PrefServiceSyncable::UpdateCommandLinePrefStore( 262 void PrefServiceSyncable::UpdateCommandLinePrefStore(
260 PrefStore* cmd_line_store) { 263 PrefStore* cmd_line_store) {
261 // If |pref_service_forked_| is true, then this PrefService and the forked 264 // If |pref_service_forked_| is true, then this PrefService and the forked
262 // copies will be out of sync. 265 // copies will be out of sync.
263 DCHECK(!pref_service_forked_); 266 DCHECK(!pref_service_forked_);
264 PrefService::UpdateCommandLinePrefStore(cmd_line_store); 267 PrefService::UpdateCommandLinePrefStore(cmd_line_store);
265 } 268 }
266 269
270 bool PrefServiceSyncable::AllowPrefRegistrarSimple() const {
271 return false;
272 }
273
267 void PrefServiceSyncable::OnIsSyncingChanged() { 274 void PrefServiceSyncable::OnIsSyncingChanged() {
268 FOR_EACH_OBSERVER(PrefServiceSyncableObserver, observer_list_, 275 FOR_EACH_OBSERVER(PrefServiceSyncableObserver, observer_list_,
269 OnIsSyncingChanged()); 276 OnIsSyncingChanged());
270 } 277 }
271 278
272 void PrefServiceSyncable::RegisterSyncablePreference( 279 void PrefServiceSyncable::RegisterSyncablePreference(
273 const char* path, Value* default_value, PrefSyncStatus sync_status) { 280 const char* path, Value* default_value, PrefSyncStatus sync_status) {
274 PrefService::RegisterPreference(path, default_value); 281 PrefService::RegisterPreference(path, default_value, false);
275 // Register with sync if necessary. 282 // Register with sync if necessary.
276 if (sync_status == SYNCABLE_PREF) 283 if (sync_status == SYNCABLE_PREF)
277 pref_sync_associator_.RegisterPref(path); 284 pref_sync_associator_.RegisterPref(path);
278 } 285 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698