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

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

Issue 1096833003: Convert PrefSyncStatus into PrefRegistrationFlags (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 8 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
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/pref_registry/pref_registry_syncable.h" 5 #include "components/pref_registry/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/strings/string_number_conversions.h" 9 #include "base/strings/string_number_conversions.h"
10 #include "base/values.h" 10 #include "base/values.h"
11 11
12 namespace user_prefs { 12 namespace user_prefs {
13 13
14 PrefRegistrySyncable::PrefRegistrySyncable() { 14 PrefRegistrySyncable::PrefRegistrySyncable() {
15 } 15 }
16 16
17 PrefRegistrySyncable::~PrefRegistrySyncable() { 17 PrefRegistrySyncable::~PrefRegistrySyncable() {
18 } 18 }
19 19
20 const PrefRegistrySyncable::PrefToStatus&
21 PrefRegistrySyncable::syncable_preferences() const {
22 return syncable_preferences_;
23 }
24
25 void PrefRegistrySyncable::SetSyncableRegistrationCallback( 20 void PrefRegistrySyncable::SetSyncableRegistrationCallback(
26 const SyncableRegistrationCallback& cb) { 21 const SyncableRegistrationCallback& cb) {
27 callback_ = cb; 22 callback_ = cb;
28 } 23 }
29 24
30 void PrefRegistrySyncable::RegisterBooleanPref(const char* path, 25 void PrefRegistrySyncable::RegisterBooleanPref(const char* path,
31 bool default_value, 26 bool default_value,
32 PrefSyncStatus sync_status) { 27 uint32 flags) {
33 RegisterSyncablePreference( 28 RegisterSyncablePreference(
34 path, new base::FundamentalValue(default_value), sync_status); 29 path, new base::FundamentalValue(default_value), flags);
35 } 30 }
36 31
37 void PrefRegistrySyncable::RegisterIntegerPref(const char* path, 32 void PrefRegistrySyncable::RegisterIntegerPref(const char* path,
38 int default_value, 33 int default_value,
39 PrefSyncStatus sync_status) { 34 uint32 flags) {
40 RegisterSyncablePreference( 35 RegisterSyncablePreference(
41 path, new base::FundamentalValue(default_value), sync_status); 36 path, new base::FundamentalValue(default_value), flags);
42 } 37 }
43 38
44 void PrefRegistrySyncable::RegisterDoublePref(const char* path, 39 void PrefRegistrySyncable::RegisterDoublePref(const char* path,
45 double default_value, 40 double default_value,
46 PrefSyncStatus sync_status) { 41 uint32 flags) {
47 RegisterSyncablePreference( 42 RegisterSyncablePreference(
48 path, new base::FundamentalValue(default_value), sync_status); 43 path, new base::FundamentalValue(default_value), flags);
49 } 44 }
50 45
51 void PrefRegistrySyncable::RegisterStringPref(const char* path, 46 void PrefRegistrySyncable::RegisterStringPref(const char* path,
52 const std::string& default_value, 47 const std::string& default_value,
53 PrefSyncStatus sync_status) { 48 uint32 flags) {
54 RegisterSyncablePreference( 49 RegisterSyncablePreference(
55 path, new base::StringValue(default_value), sync_status); 50 path, new base::StringValue(default_value), flags);
56 } 51 }
57 52
58 void PrefRegistrySyncable::RegisterFilePathPref( 53 void PrefRegistrySyncable::RegisterFilePathPref(
59 const char* path, 54 const char* path,
60 const base::FilePath& default_value, 55 const base::FilePath& default_value,
61 PrefSyncStatus sync_status) { 56 uint32 flags) {
62 RegisterSyncablePreference( 57 RegisterSyncablePreference(
63 path, new base::StringValue(default_value.value()), sync_status); 58 path, new base::StringValue(default_value.value()), flags);
64 } 59 }
65 60
66 void PrefRegistrySyncable::RegisterListPref(const char* path, 61 void PrefRegistrySyncable::RegisterListPref(const char* path, uint32 flags) {
67 PrefSyncStatus sync_status) { 62 RegisterSyncablePreference(path, new base::ListValue(), flags);
68 RegisterSyncablePreference(path, new base::ListValue(), sync_status);
69 } 63 }
70 64
71 void PrefRegistrySyncable::RegisterListPref(const char* path, 65 void PrefRegistrySyncable::RegisterListPref(const char* path,
72 base::ListValue* default_value, 66 base::ListValue* default_value,
73 PrefSyncStatus sync_status) { 67 uint32 flags) {
74 RegisterSyncablePreference(path, default_value, sync_status); 68 RegisterSyncablePreference(path, default_value, flags);
75 } 69 }
76 70
77 void PrefRegistrySyncable::RegisterDictionaryPref(const char* path, 71 void PrefRegistrySyncable::RegisterDictionaryPref(const char* path,
78 PrefSyncStatus sync_status) { 72 uint32 flags) {
79 RegisterSyncablePreference(path, new base::DictionaryValue(), sync_status); 73 RegisterSyncablePreference(path, new base::DictionaryValue(), flags);
80 } 74 }
81 75
82 void PrefRegistrySyncable::RegisterDictionaryPref( 76 void PrefRegistrySyncable::RegisterDictionaryPref(
83 const char* path, 77 const char* path,
84 base::DictionaryValue* default_value, 78 base::DictionaryValue* default_value,
85 PrefSyncStatus sync_status) { 79 uint32 flags) {
86 RegisterSyncablePreference(path, default_value, sync_status); 80 RegisterSyncablePreference(path, default_value, flags);
87 } 81 }
88 82
89 void PrefRegistrySyncable::RegisterInt64Pref( 83 void PrefRegistrySyncable::RegisterInt64Pref(
90 const char* path, 84 const char* path,
91 int64 default_value, 85 int64 default_value,
92 PrefSyncStatus sync_status) { 86 uint32 flags) {
93 RegisterSyncablePreference( 87 RegisterSyncablePreference(
94 path, 88 path,
95 new base::StringValue(base::Int64ToString(default_value)), 89 new base::StringValue(base::Int64ToString(default_value)),
96 sync_status); 90 flags);
97 } 91 }
98 92
99 void PrefRegistrySyncable::RegisterUint64Pref( 93 void PrefRegistrySyncable::RegisterUint64Pref(
100 const char* path, 94 const char* path,
101 uint64 default_value, 95 uint64 default_value,
102 PrefSyncStatus sync_status) { 96 uint32 flags) {
103 RegisterSyncablePreference( 97 RegisterSyncablePreference(
104 path, 98 path,
105 new base::StringValue(base::Uint64ToString(default_value)), 99 new base::StringValue(base::Uint64ToString(default_value)),
106 sync_status); 100 flags);
107 } 101 }
108 102
109 void PrefRegistrySyncable::RegisterSyncablePreference( 103 void PrefRegistrySyncable::RegisterSyncablePreference(
110 const char* path, 104 const char* path,
111 base::Value* default_value, 105 base::Value* default_value,
112 PrefSyncStatus sync_status) { 106 uint32 flags) {
113 PrefRegistry::RegisterPreference(path, default_value); 107 // Tests that |flags| does not contain both SYNCABLE_PREF and
108 // SYNCABLE_PRIORITY_PREF flags at the same time.
109 DCHECK(!(flags & PrefRegistrySyncable::SYNCABLE_PREF) ||
110 !(flags & PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF));
111 PrefRegistry::RegisterPreference(path, default_value, flags);
114 112
115 if (sync_status == PrefRegistrySyncable::SYNCABLE_PREF || 113 if (flags & PrefRegistrySyncable::SYNCABLE_PREF ||
116 sync_status == PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF) { 114 flags & PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF) {
117 syncable_preferences_[path] = sync_status;
118
119 if (!callback_.is_null()) 115 if (!callback_.is_null())
120 callback_.Run(path, sync_status); 116 callback_.Run(path, flags);
121 } 117 }
122 } 118 }
123 119
124 scoped_refptr<PrefRegistrySyncable> PrefRegistrySyncable::ForkForIncognito() { 120 scoped_refptr<PrefRegistrySyncable> PrefRegistrySyncable::ForkForIncognito() {
125 // TODO(joi): We can directly reuse the same PrefRegistry once 121 // TODO(joi): We can directly reuse the same PrefRegistry once
126 // PrefService no longer registers for callbacks on registration and 122 // PrefService no longer registers for callbacks on registration and
127 // unregistration. 123 // unregistration.
128 scoped_refptr<PrefRegistrySyncable> registry(new PrefRegistrySyncable()); 124 scoped_refptr<PrefRegistrySyncable> registry(new PrefRegistrySyncable());
129 registry->defaults_ = defaults_; 125 registry->defaults_ = defaults_;
130 return registry; 126 return registry;
131 } 127 }
132 128
133 } // namespace user_prefs 129 } // namespace user_prefs
OLDNEW
« base/prefs/pref_registry.h ('K') | « components/pref_registry/pref_registry_syncable.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698