| 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" |
| (...skipping 26 matching lines...) Expand all Loading... |
| 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: { |
| 41 double val; | 41 double val; |
| 42 base::StringToDouble(resource_string, &val); | 42 base::StringToDouble(resource_string, &val); |
| 43 return base::Value::CreateDoubleValue(val); | 43 return base::Value::CreateDoubleValue(val); |
| 44 } | 44 } |
| 45 | 45 |
| 46 case base::Value::TYPE_STRING: { | 46 case base::Value::TYPE_STRING: { |
| 47 return base::Value::CreateStringValue(resource_string); | 47 return new base::StringValue(resource_string); |
| 48 } | 48 } |
| 49 | 49 |
| 50 default: { | 50 default: { |
| 51 NOTREACHED() << | 51 NOTREACHED() << |
| 52 "list and dictionary types cannot have default locale values"; | 52 "list and dictionary types cannot have default locale values"; |
| 53 } | 53 } |
| 54 } | 54 } |
| 55 NOTREACHED(); | 55 NOTREACHED(); |
| 56 return base::Value::CreateNullValue(); | 56 return base::Value::CreateNullValue(); |
| 57 } | 57 } |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 94 double default_value, | 94 double default_value, |
| 95 PrefSyncStatus sync_status) { | 95 PrefSyncStatus sync_status) { |
| 96 RegisterSyncablePreference(path, | 96 RegisterSyncablePreference(path, |
| 97 base::Value::CreateDoubleValue(default_value), | 97 base::Value::CreateDoubleValue(default_value), |
| 98 sync_status); | 98 sync_status); |
| 99 } | 99 } |
| 100 | 100 |
| 101 void PrefRegistrySyncable::RegisterStringPref(const char* path, | 101 void PrefRegistrySyncable::RegisterStringPref(const char* path, |
| 102 const std::string& default_value, | 102 const std::string& default_value, |
| 103 PrefSyncStatus sync_status) { | 103 PrefSyncStatus sync_status) { |
| 104 RegisterSyncablePreference(path, | 104 RegisterSyncablePreference( |
| 105 base::Value::CreateStringValue(default_value), | 105 path, new base::StringValue(default_value), sync_status); |
| 106 sync_status); | |
| 107 } | 106 } |
| 108 | 107 |
| 109 void PrefRegistrySyncable::RegisterFilePathPref( | 108 void PrefRegistrySyncable::RegisterFilePathPref( |
| 110 const char* path, | 109 const char* path, |
| 111 const base::FilePath& default_value, | 110 const base::FilePath& default_value, |
| 112 PrefSyncStatus sync_status) { | 111 PrefSyncStatus sync_status) { |
| 113 RegisterSyncablePreference(path, | 112 RegisterSyncablePreference( |
| 114 base::Value::CreateStringValue( | 113 path, new base::StringValue(default_value.value()), sync_status); |
| 115 default_value.value()), | |
| 116 sync_status); | |
| 117 } | 114 } |
| 118 | 115 |
| 119 void PrefRegistrySyncable::RegisterListPref(const char* path, | 116 void PrefRegistrySyncable::RegisterListPref(const char* path, |
| 120 PrefSyncStatus sync_status) { | 117 PrefSyncStatus sync_status) { |
| 121 RegisterSyncablePreference(path, new base::ListValue(), sync_status); | 118 RegisterSyncablePreference(path, new base::ListValue(), sync_status); |
| 122 } | 119 } |
| 123 | 120 |
| 124 void PrefRegistrySyncable::RegisterListPref(const char* path, | 121 void PrefRegistrySyncable::RegisterListPref(const char* path, |
| 125 base::ListValue* default_value, | 122 base::ListValue* default_value, |
| 126 PrefSyncStatus sync_status) { | 123 PrefSyncStatus sync_status) { |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 182 locale_default_message_id), | 179 locale_default_message_id), |
| 183 sync_status); | 180 sync_status); |
| 184 } | 181 } |
| 185 | 182 |
| 186 void PrefRegistrySyncable::RegisterInt64Pref( | 183 void PrefRegistrySyncable::RegisterInt64Pref( |
| 187 const char* path, | 184 const char* path, |
| 188 int64 default_value, | 185 int64 default_value, |
| 189 PrefSyncStatus sync_status) { | 186 PrefSyncStatus sync_status) { |
| 190 RegisterSyncablePreference( | 187 RegisterSyncablePreference( |
| 191 path, | 188 path, |
| 192 base::Value::CreateStringValue(base::Int64ToString(default_value)), | 189 new base::StringValue(base::Int64ToString(default_value)), |
| 193 sync_status); | 190 sync_status); |
| 194 } | 191 } |
| 195 | 192 |
| 196 void PrefRegistrySyncable::RegisterUint64Pref( | 193 void PrefRegistrySyncable::RegisterUint64Pref( |
| 197 const char* path, | 194 const char* path, |
| 198 uint64 default_value, | 195 uint64 default_value, |
| 199 PrefSyncStatus sync_status) { | 196 PrefSyncStatus sync_status) { |
| 200 RegisterSyncablePreference( | 197 RegisterSyncablePreference( |
| 201 path, | 198 path, |
| 202 base::Value::CreateStringValue(base::Uint64ToString(default_value)), | 199 new base::StringValue(base::Uint64ToString(default_value)), |
| 203 sync_status); | 200 sync_status); |
| 204 } | 201 } |
| 205 | 202 |
| 206 void PrefRegistrySyncable::RegisterSyncablePreference( | 203 void PrefRegistrySyncable::RegisterSyncablePreference( |
| 207 const char* path, | 204 const char* path, |
| 208 base::Value* default_value, | 205 base::Value* default_value, |
| 209 PrefSyncStatus sync_status) { | 206 PrefSyncStatus sync_status) { |
| 210 PrefRegistry::RegisterPreference(path, default_value); | 207 PrefRegistry::RegisterPreference(path, default_value); |
| 211 | 208 |
| 212 if (sync_status == PrefRegistrySyncable::SYNCABLE_PREF || | 209 if (sync_status == PrefRegistrySyncable::SYNCABLE_PREF || |
| 213 sync_status == PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF) { | 210 sync_status == PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF) { |
| 214 syncable_preferences_[path] = sync_status; | 211 syncable_preferences_[path] = sync_status; |
| 215 | 212 |
| 216 if (!callback_.is_null()) | 213 if (!callback_.is_null()) |
| 217 callback_.Run(path, sync_status); | 214 callback_.Run(path, sync_status); |
| 218 } | 215 } |
| 219 } | 216 } |
| 220 | 217 |
| 221 scoped_refptr<PrefRegistrySyncable> PrefRegistrySyncable::ForkForIncognito() { | 218 scoped_refptr<PrefRegistrySyncable> PrefRegistrySyncable::ForkForIncognito() { |
| 222 // TODO(joi): We can directly reuse the same PrefRegistry once | 219 // TODO(joi): We can directly reuse the same PrefRegistry once |
| 223 // PrefService no longer registers for callbacks on registration and | 220 // PrefService no longer registers for callbacks on registration and |
| 224 // unregistration. | 221 // unregistration. |
| 225 scoped_refptr<PrefRegistrySyncable> registry(new PrefRegistrySyncable()); | 222 scoped_refptr<PrefRegistrySyncable> registry(new PrefRegistrySyncable()); |
| 226 registry->defaults_ = defaults_; | 223 registry->defaults_ = defaults_; |
| 227 return registry; | 224 return registry; |
| 228 } | 225 } |
| 229 | 226 |
| 230 } // namespace user_prefs | 227 } // namespace user_prefs |
| OLD | NEW |