Index: base/prefs/pref_registry.cc |
diff --git a/base/prefs/pref_registry.cc b/base/prefs/pref_registry.cc |
index c6fad4eb33baef6979a01beb177f8f4831b84e76..9ca1102e8f3a9ab0c92ff0ee05eee3c228953cc8 100644 |
--- a/base/prefs/pref_registry.cc |
+++ b/base/prefs/pref_registry.cc |
@@ -28,6 +28,21 @@ PrefRegistry::const_iterator PrefRegistry::end() const { |
return defaults_->end(); |
} |
+void PrefRegistry::SetDefaultPrefValue(const char* pref_name, |
+ base::Value* value) { |
+ DCHECK(value); |
+ if (DCHECK_IS_ON()) { |
+ const base::Value* current_value = NULL; |
+ DCHECK(defaults_->GetValue(pref_name, ¤t_value)) |
+ << "Setting default for unregistered pref: " << pref_name; |
+ DCHECK(value->IsType(current_value->GetType())) |
+ << "Wrong type for new default: " << pref_name; |
+ } |
+ |
+ defaults_->RemoveDefaultValue(pref_name); |
+ defaults_->SetDefaultValue(pref_name, value); |
+} |
+ |
void PrefRegistry::SetRegistrationCallback( |
const RegistrationCallback& callback) { |
registration_callback_ = callback; |