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

Side by Side Diff: components/user_prefs/pref_registry_syncable.cc

Issue 12033093: sync: Implementation of Priority Preferences. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 9 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 "components/user_prefs/pref_registry_syncable.h" 5 #include "components/user_prefs/pref_registry_syncable.h"
6 6
7 #include "base/files/file_path.h" 7 #include "base/files/file_path.h"
8 #include "base/prefs/default_pref_store.h" 8 #include "base/prefs/default_pref_store.h"
9 #include "base/string_number_conversions.h" 9 #include "base/string_number_conversions.h"
10 #include "base/values.h" 10 #include "base/values.h"
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 } 55 }
56 56
57 } // namespace 57 } // namespace
58 58
59 PrefRegistrySyncable::PrefRegistrySyncable() { 59 PrefRegistrySyncable::PrefRegistrySyncable() {
60 } 60 }
61 61
62 PrefRegistrySyncable::~PrefRegistrySyncable() { 62 PrefRegistrySyncable::~PrefRegistrySyncable() {
63 } 63 }
64 64
65 const std::set<std::string>& 65 const PrefRegistrySyncable::PrefToStatus&
66 PrefRegistrySyncable::syncable_preferences() const { 66 PrefRegistrySyncable::syncable_preferences() const {
67 return syncable_preferences_; 67 return syncable_preferences_;
68 } 68 }
69 69
70 void PrefRegistrySyncable::SetSyncableRegistrationCallback( 70 void PrefRegistrySyncable::SetSyncableRegistrationCallback(
71 const SyncableRegistrationCallback& cb) { 71 const SyncableRegistrationCallback& cb) {
72 callback_ = cb; 72 callback_ = cb;
73 } 73 }
74 74
75 void PrefRegistrySyncable::RegisterBooleanPref(const char* path, 75 void PrefRegistrySyncable::RegisterBooleanPref(const char* path,
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 Value::CreateStringValue(base::Uint64ToString(default_value)), 195 Value::CreateStringValue(base::Uint64ToString(default_value)),
196 sync_status); 196 sync_status);
197 } 197 }
198 198
199 void PrefRegistrySyncable::RegisterSyncablePreference( 199 void PrefRegistrySyncable::RegisterSyncablePreference(
200 const char* path, 200 const char* path,
201 base::Value* default_value, 201 base::Value* default_value,
202 PrefSyncStatus sync_status) { 202 PrefSyncStatus sync_status) {
203 PrefRegistry::RegisterPreference(path, default_value); 203 PrefRegistry::RegisterPreference(path, default_value);
204 204
205 if (sync_status == SYNCABLE_PREF) { 205 if (sync_status == PrefRegistrySyncable::SYNCABLE_PREF ||
206 syncable_preferences_.insert(path); 206 sync_status == PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF) {
207 syncable_preferences_[path] = sync_status;
207 208
208 if (!callback_.is_null()) 209 if (!callback_.is_null())
209 callback_.Run(path); 210 callback_.Run(path, sync_status);
210 } 211 }
211 } 212 }
212 213
213 scoped_refptr<PrefRegistrySyncable> PrefRegistrySyncable::ForkForIncognito() { 214 scoped_refptr<PrefRegistrySyncable> PrefRegistrySyncable::ForkForIncognito() {
214 // TODO(joi): We can directly reuse the same PrefRegistry once 215 // TODO(joi): We can directly reuse the same PrefRegistry once
215 // PrefService no longer registers for callbacks on registration and 216 // PrefService no longer registers for callbacks on registration and
216 // unregistration. 217 // unregistration.
217 scoped_refptr<PrefRegistrySyncable> registry(new PrefRegistrySyncable()); 218 scoped_refptr<PrefRegistrySyncable> registry(new PrefRegistrySyncable());
218 registry->defaults_ = defaults_; 219 registry->defaults_ = defaults_;
219 return registry; 220 return registry;
220 } 221 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698