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

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

Issue 7649006: more changes (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix another typo Created 9 years, 4 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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.h" 5 #include "chrome/browser/prefs/pref_service.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 9
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 28 matching lines...) Expand all
39 39
40 // A helper function for RegisterLocalized*Pref that creates a Value* based on 40 // A helper function for RegisterLocalized*Pref that creates a Value* based on
41 // the string value in the locale dll. Because we control the values in a 41 // the string value in the locale dll. Because we control the values in a
42 // locale dll, this should always return a Value of the appropriate type. 42 // locale dll, this should always return a Value of the appropriate type.
43 Value* CreateLocaleDefaultValue(base::Value::Type type, int message_id) { 43 Value* CreateLocaleDefaultValue(base::Value::Type type, int message_id) {
44 std::string resource_string = l10n_util::GetStringUTF8(message_id); 44 std::string resource_string = l10n_util::GetStringUTF8(message_id);
45 DCHECK(!resource_string.empty()); 45 DCHECK(!resource_string.empty());
46 switch (type) { 46 switch (type) {
47 case Value::TYPE_BOOLEAN: { 47 case Value::TYPE_BOOLEAN: {
48 if ("true" == resource_string) 48 if ("true" == resource_string)
49 return Value::CreateBooleanValue(true); 49 return base::TrueValue();
50 if ("false" == resource_string) 50 if ("false" == resource_string)
51 return Value::CreateBooleanValue(false); 51 return base::FalseValue();
52 break; 52 break;
53 } 53 }
54 54
55 case Value::TYPE_INTEGER: { 55 case Value::TYPE_INTEGER: {
56 int val; 56 int val;
57 base::StringToInt(resource_string, &val); 57 base::StringToInt(resource_string, &val);
58 return Value::CreateIntegerValue(val); 58 return base::NumberValue::New(val);
59 } 59 }
60 60
61 case Value::TYPE_DOUBLE: { 61 case Value::TYPE_DOUBLE: {
62 double val; 62 double val;
63 base::StringToDouble(resource_string, &val); 63 base::StringToDouble(resource_string, &val);
64 return Value::CreateDoubleValue(val); 64 return base::NumberValue::New(val);
65 } 65 }
66 66
67 case Value::TYPE_STRING: { 67 case Value::TYPE_STRING: {
68 return Value::CreateStringValue(resource_string); 68 return base::StringValue::New(resource_string);
69 } 69 }
70 70
71 default: { 71 default: {
72 NOTREACHED() << 72 NOTREACHED() <<
73 "list and dictionary types cannot have default locale values"; 73 "list and dictionary types cannot have default locale values";
74 } 74 }
75 } 75 }
76 NOTREACHED(); 76 NOTREACHED();
77 return Value::CreateNullValue(); 77 return base::NullValue();
78 } 78 }
79 79
80 // Forwards a notification after a PostMessage so that we can wait for the 80 // Forwards a notification after a PostMessage so that we can wait for the
81 // MessageLoop to run. 81 // MessageLoop to run.
82 void NotifyReadError(int message_id) { 82 void NotifyReadError(int message_id) {
83 ShowProfileErrorDialog(message_id); 83 ShowProfileErrorDialog(message_id);
84 } 84 }
85 85
86 // Shows notifications which correspond to PersistentPrefStore's reading errors. 86 // Shows notifications which correspond to PersistentPrefStore's reading errors.
87 class ReadErrorHandler : public PersistentPrefStore::ReadErrorDelegate { 87 class ReadErrorHandler : public PersistentPrefStore::ReadErrorDelegate {
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
275 } // namespace 275 } // namespace
276 276
277 277
278 // Local State prefs. 278 // Local State prefs.
279 void PrefService::RegisterBooleanPref(const char* path, 279 void PrefService::RegisterBooleanPref(const char* path,
280 bool default_value) { 280 bool default_value) {
281 // If this fails, the pref service in use is a profile pref service, so the 281 // If this fails, the pref service in use is a profile pref service, so the
282 // sync status must be provided (see profile pref registration calls below). 282 // sync status must be provided (see profile pref registration calls below).
283 DCHECK(IsLocalStatePrefService(this)); 283 DCHECK(IsLocalStatePrefService(this));
284 RegisterPreference(path, 284 RegisterPreference(path,
285 Value::CreateBooleanValue(default_value), 285 base::BooleanValue::New(default_value),
286 UNSYNCABLE_PREF); 286 UNSYNCABLE_PREF);
287 } 287 }
288 288
289 void PrefService::RegisterIntegerPref(const char* path, int default_value) { 289 void PrefService::RegisterIntegerPref(const char* path, int default_value) {
290 // If this fails, the pref service in use is a profile pref service, so the 290 // If this fails, the pref service in use is a profile pref service, so the
291 // sync status must be provided (see profile pref registration calls below). 291 // sync status must be provided (see profile pref registration calls below).
292 DCHECK(IsLocalStatePrefService(this)); 292 DCHECK(IsLocalStatePrefService(this));
293 RegisterPreference(path, 293 RegisterPreference(path,
294 Value::CreateIntegerValue(default_value), 294 base::NumberValue::New(default_value),
295 UNSYNCABLE_PREF); 295 UNSYNCABLE_PREF);
296 } 296 }
297 297
298 void PrefService::RegisterDoublePref(const char* path, double default_value) { 298 void PrefService::RegisterDoublePref(const char* path, double default_value) {
299 // If this fails, the pref service in use is a profile pref service, so the 299 // If this fails, the pref service in use is a profile pref service, so the
300 // sync status must be provided (see profile pref registration calls below). 300 // sync status must be provided (see profile pref registration calls below).
301 DCHECK(IsLocalStatePrefService(this)); 301 DCHECK(IsLocalStatePrefService(this));
302 RegisterPreference(path, 302 RegisterPreference(path,
303 Value::CreateDoubleValue(default_value), 303 base::NumberValue::New(default_value),
304 UNSYNCABLE_PREF); 304 UNSYNCABLE_PREF);
305 } 305 }
306 306
307 void PrefService::RegisterStringPref(const char* path, 307 void PrefService::RegisterStringPref(const char* path,
308 const std::string& default_value) { 308 const std::string& default_value) {
309 // If this fails, the pref service in use is a profile pref service, so the 309 // If this fails, the pref service in use is a profile pref service, so the
310 // sync status must be provided (see profile pref registration calls below). 310 // sync status must be provided (see profile pref registration calls below).
311 DCHECK(IsLocalStatePrefService(this)); 311 DCHECK(IsLocalStatePrefService(this));
312 RegisterPreference(path, 312 RegisterPreference(path,
313 Value::CreateStringValue(default_value), 313 base::StringValue::New(default_value),
314 UNSYNCABLE_PREF); 314 UNSYNCABLE_PREF);
315 } 315 }
316 316
317 void PrefService::RegisterFilePathPref(const char* path, 317 void PrefService::RegisterFilePathPref(const char* path,
318 const FilePath& default_value) { 318 const FilePath& default_value) {
319 // If this fails, the pref service in use is a profile pref service, so the 319 // If this fails, the pref service in use is a profile pref service, so the
320 // sync status must be provided (see profile pref registration calls below). 320 // sync status must be provided (see profile pref registration calls below).
321 DCHECK(IsLocalStatePrefService(this)); 321 DCHECK(IsLocalStatePrefService(this));
322 RegisterPreference(path, 322 RegisterPreference(path,
323 Value::CreateStringValue(default_value.value()), 323 base::StringValue::New(default_value.value()),
324 UNSYNCABLE_PREF); 324 UNSYNCABLE_PREF);
325 } 325 }
326 326
327 void PrefService::RegisterListPref(const char* path) { 327 void PrefService::RegisterListPref(const char* path) {
328 // If this fails, the pref service in use is a profile pref service, so the 328 // If this fails, the pref service in use is a profile pref service, so the
329 // sync status must be provided (see profile pref registration calls below). 329 // sync status must be provided (see profile pref registration calls below).
330 DCHECK(IsLocalStatePrefService(this)); 330 DCHECK(IsLocalStatePrefService(this));
331 RegisterPreference(path, 331 RegisterPreference(path,
332 new ListValue(), 332 new ListValue(),
333 UNSYNCABLE_PREF); 333 UNSYNCABLE_PREF);
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
404 CreateLocaleDefaultValue(Value::TYPE_STRING, locale_default_message_id), 404 CreateLocaleDefaultValue(Value::TYPE_STRING, locale_default_message_id),
405 UNSYNCABLE_PREF); 405 UNSYNCABLE_PREF);
406 } 406 }
407 407
408 void PrefService::RegisterInt64Pref(const char* path, int64 default_value) { 408 void PrefService::RegisterInt64Pref(const char* path, int64 default_value) {
409 // If this fails, the pref service in use is a profile pref service, so the 409 // If this fails, the pref service in use is a profile pref service, so the
410 // sync status must be provided (see profile pref registration calls below). 410 // sync status must be provided (see profile pref registration calls below).
411 DCHECK(IsLocalStatePrefService(this)); 411 DCHECK(IsLocalStatePrefService(this));
412 RegisterPreference( 412 RegisterPreference(
413 path, 413 path,
414 Value::CreateStringValue(base::Int64ToString(default_value)), 414 base::StringValue::New(base::Int64ToString(default_value)),
415 UNSYNCABLE_PREF); 415 UNSYNCABLE_PREF);
416 } 416 }
417 417
418 // Profile prefs (must use the sync_status variable). 418 // Profile prefs (must use the sync_status variable).
419 void PrefService::RegisterBooleanPref(const char* path, 419 void PrefService::RegisterBooleanPref(const char* path,
420 bool default_value, 420 bool default_value,
421 PrefSyncStatus sync_status) { 421 PrefSyncStatus sync_status) {
422 DCHECK(IsProfilePrefService(this)); 422 DCHECK(IsProfilePrefService(this));
423 RegisterPreference(path, 423 RegisterPreference(path,
424 Value::CreateBooleanValue(default_value), 424 base::BooleanValue::New(default_value),
425 sync_status); 425 sync_status);
426 } 426 }
427 427
428 void PrefService::RegisterIntegerPref(const char* path, 428 void PrefService::RegisterIntegerPref(const char* path,
429 int default_value, 429 int default_value,
430 PrefSyncStatus sync_status) { 430 PrefSyncStatus sync_status) {
431 DCHECK(IsProfilePrefService(this)); 431 DCHECK(IsProfilePrefService(this));
432 RegisterPreference(path, 432 RegisterPreference(path,
433 Value::CreateIntegerValue(default_value), 433 base::NumberValue::New(default_value),
434 sync_status); 434 sync_status);
435 } 435 }
436 436
437 void PrefService::RegisterDoublePref(const char* path, 437 void PrefService::RegisterDoublePref(const char* path,
438 double default_value, 438 double default_value,
439 PrefSyncStatus sync_status) { 439 PrefSyncStatus sync_status) {
440 DCHECK(IsProfilePrefService(this)); 440 DCHECK(IsProfilePrefService(this));
441 RegisterPreference(path, 441 RegisterPreference(path,
442 Value::CreateDoubleValue(default_value), 442 base::NumberValue::New(default_value),
443 sync_status); 443 sync_status);
444 } 444 }
445 445
446 void PrefService::RegisterStringPref(const char* path, 446 void PrefService::RegisterStringPref(const char* path,
447 const std::string& default_value, 447 const std::string& default_value,
448 PrefSyncStatus sync_status) { 448 PrefSyncStatus sync_status) {
449 DCHECK(IsProfilePrefService(this)); 449 DCHECK(IsProfilePrefService(this));
450 RegisterPreference(path, 450 RegisterPreference(path,
451 Value::CreateStringValue(default_value), 451 base::StringValue::New(default_value),
452 sync_status); 452 sync_status);
453 } 453 }
454 454
455 void PrefService::RegisterFilePathPref(const char* path, 455 void PrefService::RegisterFilePathPref(const char* path,
456 const FilePath& default_value, 456 const FilePath& default_value,
457 PrefSyncStatus sync_status) { 457 PrefSyncStatus sync_status) {
458 DCHECK(IsProfilePrefService(this)); 458 DCHECK(IsProfilePrefService(this));
459 RegisterPreference(path, 459 RegisterPreference(path,
460 Value::CreateStringValue(default_value.value()), 460 base::StringValue::New(default_value.value()),
461 sync_status); 461 sync_status);
462 } 462 }
463 463
464 void PrefService::RegisterListPref(const char* path, 464 void PrefService::RegisterListPref(const char* path,
465 PrefSyncStatus sync_status) { 465 PrefSyncStatus sync_status) {
466 DCHECK(IsProfilePrefService(this)); 466 DCHECK(IsProfilePrefService(this));
467 RegisterPreference(path, new ListValue(), sync_status); 467 RegisterPreference(path, new ListValue(), sync_status);
468 } 468 }
469 469
470 void PrefService::RegisterListPref(const char* path, 470 void PrefService::RegisterListPref(const char* path,
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
526 CreateLocaleDefaultValue(Value::TYPE_STRING, locale_default_message_id), 526 CreateLocaleDefaultValue(Value::TYPE_STRING, locale_default_message_id),
527 sync_status); 527 sync_status);
528 } 528 }
529 529
530 void PrefService::RegisterInt64Pref(const char* path, 530 void PrefService::RegisterInt64Pref(const char* path,
531 int64 default_value, 531 int64 default_value,
532 PrefSyncStatus sync_status) { 532 PrefSyncStatus sync_status) {
533 DCHECK(IsProfilePrefService(this)); 533 DCHECK(IsProfilePrefService(this));
534 RegisterPreference( 534 RegisterPreference(
535 path, 535 path,
536 Value::CreateStringValue(base::Int64ToString(default_value)), 536 base::StringValue::New(base::Int64ToString(default_value)),
537 sync_status); 537 sync_status);
538 } 538 }
539 539
540 bool PrefService::GetBoolean(const char* path) const { 540 bool PrefService::GetBoolean(const char* path) const {
541 DCHECK(CalledOnValidThread()); 541 DCHECK(CalledOnValidThread());
542 542
543 bool result = false; 543 bool result = false;
544 544
545 const Preference* pref = FindPreference(path); 545 const Preference* pref = FindPreference(path);
546 if (!pref) { 546 if (!pref) {
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
731 return; 731 return;
732 } 732 }
733 user_pref_store_->RemoveValue(path); 733 user_pref_store_->RemoveValue(path);
734 } 734 }
735 735
736 void PrefService::Set(const char* path, const Value& value) { 736 void PrefService::Set(const char* path, const Value& value) {
737 SetUserPrefValue(path, value.DeepCopy()); 737 SetUserPrefValue(path, value.DeepCopy());
738 } 738 }
739 739
740 void PrefService::SetBoolean(const char* path, bool value) { 740 void PrefService::SetBoolean(const char* path, bool value) {
741 SetUserPrefValue(path, Value::CreateBooleanValue(value)); 741 SetUserPrefValue(path, base::BooleanValue::New(value));
742 } 742 }
743 743
744 void PrefService::SetInteger(const char* path, int value) { 744 void PrefService::SetInteger(const char* path, int value) {
745 SetUserPrefValue(path, Value::CreateIntegerValue(value)); 745 SetUserPrefValue(path, base::NumberValue::New(value));
746 } 746 }
747 747
748 void PrefService::SetDouble(const char* path, double value) { 748 void PrefService::SetDouble(const char* path, double value) {
749 SetUserPrefValue(path, Value::CreateDoubleValue(value)); 749 SetUserPrefValue(path, base::NumberValue::New(value));
750 } 750 }
751 751
752 void PrefService::SetString(const char* path, const std::string& value) { 752 void PrefService::SetString(const char* path, const std::string& value) {
753 SetUserPrefValue(path, Value::CreateStringValue(value)); 753 SetUserPrefValue(path, base::StringValue::New(value));
754 } 754 }
755 755
756 void PrefService::SetFilePath(const char* path, const FilePath& value) { 756 void PrefService::SetFilePath(const char* path, const FilePath& value) {
757 SetUserPrefValue(path, base::CreateFilePathValue(value)); 757 SetUserPrefValue(path, base::CreateFilePathValue(value));
758 } 758 }
759 759
760 void PrefService::SetInt64(const char* path, int64 value) { 760 void PrefService::SetInt64(const char* path, int64 value) {
761 SetUserPrefValue(path, Value::CreateStringValue(base::Int64ToString(value))); 761 SetUserPrefValue(path, base::StringValue::New(base::Int64ToString(value)));
762 } 762 }
763 763
764 int64 PrefService::GetInt64(const char* path) const { 764 int64 PrefService::GetInt64(const char* path) const {
765 DCHECK(CalledOnValidThread()); 765 DCHECK(CalledOnValidThread());
766 766
767 const Preference* pref = FindPreference(path); 767 const Preference* pref = FindPreference(path);
768 if (!pref) { 768 if (!pref) {
769 NOTREACHED() << "Trying to read an unregistered pref: " << path; 769 NOTREACHED() << "Trying to read an unregistered pref: " << path;
770 return 0; 770 return 0;
771 } 771 }
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
894 return pref_value_store()->PrefValueFromDefaultStore(name_.c_str()); 894 return pref_value_store()->PrefValueFromDefaultStore(name_.c_str());
895 } 895 }
896 896
897 bool PrefService::Preference::IsUserModifiable() const { 897 bool PrefService::Preference::IsUserModifiable() const {
898 return pref_value_store()->PrefValueUserModifiable(name_.c_str()); 898 return pref_value_store()->PrefValueUserModifiable(name_.c_str());
899 } 899 }
900 900
901 bool PrefService::Preference::IsExtensionModifiable() const { 901 bool PrefService::Preference::IsExtensionModifiable() const {
902 return pref_value_store()->PrefValueExtensionModifiable(name_.c_str()); 902 return pref_value_store()->PrefValueExtensionModifiable(name_.c_str());
903 } 903 }
OLDNEW
« no previous file with comments | « chrome/browser/prefs/pref_notifier_impl_unittest.cc ('k') | chrome/browser/prefs/pref_service_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698