OLD | NEW |
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 #include "ui/base/l10n/l10n_util.h" | 11 #include "ui/base/l10n/l10n_util.h" |
12 | 12 |
13 namespace user_prefs { | 13 namespace user_prefs { |
14 | 14 |
15 namespace { | 15 namespace { |
16 | 16 |
17 // A helper function for RegisterLocalized*Pref that creates a Value* | 17 // A helper function for RegisterLocalized*Pref that creates a Value* |
18 // based on a localized resource. Because we control the values in a | 18 // based on a localized resource. Because we control the values in a |
19 // locale dll, this should always return a Value of the appropriate | 19 // locale dll, this should always return a Value of the appropriate |
20 // type. | 20 // type. |
21 base::Value* CreateLocaleDefaultValue(base::Value::Type type, | 21 base::Value* CreateLocaleDefaultValue(base::Value::Type type, |
22 int message_id) { | 22 int message_id) { |
23 const std::string resource_string = l10n_util::GetStringUTF8(message_id); | 23 const std::string resource_string = l10n_util::GetStringUTF8(message_id); |
24 DCHECK(!resource_string.empty()); | 24 DCHECK(!resource_string.empty()); |
25 switch (type) { | 25 switch (type) { |
26 case base::Value::TYPE_BOOLEAN: { | 26 case base::Value::TYPE_BOOLEAN: { |
27 if ("true" == resource_string) | 27 if ("true" == resource_string) |
28 return base::Value::CreateBooleanValue(true); | 28 return new base::FundamentalValue(true); |
29 if ("false" == resource_string) | 29 if ("false" == resource_string) |
30 return base::Value::CreateBooleanValue(false); | 30 return new base::FundamentalValue(false); |
31 break; | 31 break; |
32 } | 32 } |
33 | 33 |
34 case base::Value::TYPE_INTEGER: { | 34 case base::Value::TYPE_INTEGER: { |
35 int val; | 35 int val; |
36 base::StringToInt(resource_string, &val); | 36 base::StringToInt(resource_string, &val); |
37 return base::Value::CreateIntegerValue(val); | 37 return base::Value::CreateIntegerValue(val); |
38 } | 38 } |
39 | 39 |
40 case base::Value::TYPE_DOUBLE: { | 40 case base::Value::TYPE_DOUBLE: { |
(...skipping 29 matching lines...) Expand all Loading... |
70 } | 70 } |
71 | 71 |
72 void PrefRegistrySyncable::SetSyncableRegistrationCallback( | 72 void PrefRegistrySyncable::SetSyncableRegistrationCallback( |
73 const SyncableRegistrationCallback& cb) { | 73 const SyncableRegistrationCallback& cb) { |
74 callback_ = cb; | 74 callback_ = cb; |
75 } | 75 } |
76 | 76 |
77 void PrefRegistrySyncable::RegisterBooleanPref(const char* path, | 77 void PrefRegistrySyncable::RegisterBooleanPref(const char* path, |
78 bool default_value, | 78 bool default_value, |
79 PrefSyncStatus sync_status) { | 79 PrefSyncStatus sync_status) { |
80 RegisterSyncablePreference(path, | 80 RegisterSyncablePreference( |
81 base::Value::CreateBooleanValue(default_value), | 81 path, new base::FundamentalValue(default_value), sync_status); |
82 sync_status); | |
83 } | 82 } |
84 | 83 |
85 void PrefRegistrySyncable::RegisterIntegerPref(const char* path, | 84 void PrefRegistrySyncable::RegisterIntegerPref(const char* path, |
86 int default_value, | 85 int default_value, |
87 PrefSyncStatus sync_status) { | 86 PrefSyncStatus sync_status) { |
88 RegisterSyncablePreference(path, | 87 RegisterSyncablePreference(path, |
89 base::Value::CreateIntegerValue(default_value), | 88 base::Value::CreateIntegerValue(default_value), |
90 sync_status); | 89 sync_status); |
91 } | 90 } |
92 | 91 |
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
221 scoped_refptr<PrefRegistrySyncable> PrefRegistrySyncable::ForkForIncognito() { | 220 scoped_refptr<PrefRegistrySyncable> PrefRegistrySyncable::ForkForIncognito() { |
222 // TODO(joi): We can directly reuse the same PrefRegistry once | 221 // TODO(joi): We can directly reuse the same PrefRegistry once |
223 // PrefService no longer registers for callbacks on registration and | 222 // PrefService no longer registers for callbacks on registration and |
224 // unregistration. | 223 // unregistration. |
225 scoped_refptr<PrefRegistrySyncable> registry(new PrefRegistrySyncable()); | 224 scoped_refptr<PrefRegistrySyncable> registry(new PrefRegistrySyncable()); |
226 registry->defaults_ = defaults_; | 225 registry->defaults_ = defaults_; |
227 return registry; | 226 return registry; |
228 } | 227 } |
229 | 228 |
230 } // namespace user_prefs | 229 } // namespace user_prefs |
OLD | NEW |