OLD | NEW |
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 780 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
791 if (pref->GetType() != type) { | 791 if (pref->GetType() != type) { |
792 NOTREACHED() << "Wrong type for GetMutableValue: " << path; | 792 NOTREACHED() << "Wrong type for GetMutableValue: " << path; |
793 return NULL; | 793 return NULL; |
794 } | 794 } |
795 | 795 |
796 // Look for an existing preference in the user store. If it doesn't | 796 // Look for an existing preference in the user store. If it doesn't |
797 // exist or isn't the correct type, create a new user preference. | 797 // exist or isn't the correct type, create a new user preference. |
798 Value* value = NULL; | 798 Value* value = NULL; |
799 if (user_pref_store_->GetMutableValue(path, &value) | 799 if (user_pref_store_->GetMutableValue(path, &value) |
800 != PersistentPrefStore::READ_OK || | 800 != PersistentPrefStore::READ_OK || |
801 !value->IsType(type)) { | 801 value->GetType() != type) { |
802 if (type == Value::TYPE_DICTIONARY) { | 802 if (type == Value::TYPE_DICTIONARY) { |
803 value = new DictionaryValue; | 803 value = new DictionaryValue; |
804 } else if (type == Value::TYPE_LIST) { | 804 } else if (type == Value::TYPE_LIST) { |
805 value = new ListValue; | 805 value = new ListValue; |
806 } else { | 806 } else { |
807 NOTREACHED(); | 807 NOTREACHED(); |
808 } | 808 } |
809 user_pref_store_->SetValueSilently(path, value); | 809 user_pref_store_->SetValueSilently(path, value); |
810 } | 810 } |
811 return value; | 811 return value; |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
854 base::Value::Type PrefService::Preference::GetType() const { | 854 base::Value::Type PrefService::Preference::GetType() const { |
855 return type_; | 855 return type_; |
856 } | 856 } |
857 | 857 |
858 const Value* PrefService::Preference::GetValue() const { | 858 const Value* PrefService::Preference::GetValue() const { |
859 DCHECK(pref_service_->FindPreference(name_.c_str())) << | 859 DCHECK(pref_service_->FindPreference(name_.c_str())) << |
860 "Must register pref before getting its value"; | 860 "Must register pref before getting its value"; |
861 | 861 |
862 const Value* found_value = NULL; | 862 const Value* found_value = NULL; |
863 if (pref_value_store()->GetValue(name_, type_, &found_value)) { | 863 if (pref_value_store()->GetValue(name_, type_, &found_value)) { |
864 DCHECK(found_value->IsType(type_)); | 864 DCHECK(found_value->GetType() == type_); |
865 return found_value; | 865 return found_value; |
866 } | 866 } |
867 | 867 |
868 // Every registered preference has at least a default value. | 868 // Every registered preference has at least a default value. |
869 NOTREACHED() << "no valid value found for registered pref " << name_; | 869 NOTREACHED() << "no valid value found for registered pref " << name_; |
870 return NULL; | 870 return NULL; |
871 } | 871 } |
872 | 872 |
873 bool PrefService::Preference::IsManaged() const { | 873 bool PrefService::Preference::IsManaged() const { |
874 return pref_value_store()->PrefValueInManagedStore(name_.c_str()); | 874 return pref_value_store()->PrefValueInManagedStore(name_.c_str()); |
(...skipping 19 matching lines...) Expand all Loading... |
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 } |
OLD | NEW |