Index: components/prefs/pref_registry_simple.cc |
diff --git a/components/prefs/pref_registry_simple.cc b/components/prefs/pref_registry_simple.cc |
index efd8cf2f9778e2e7e783cd478e4814f397598e24..ee362f14628d601850704ef15f02c798e3dafb13 100644 |
--- a/components/prefs/pref_registry_simple.cc |
+++ b/components/prefs/pref_registry_simple.cc |
@@ -4,7 +4,10 @@ |
#include "components/prefs/pref_registry_simple.h" |
+#include <utility> |
+ |
#include "base/files/file_path.h" |
+#include "base/memory/ptr_util.h" |
#include "base/strings/string_number_conversions.h" |
#include "base/values.h" |
@@ -16,144 +19,157 @@ PrefRegistrySimple::~PrefRegistrySimple() { |
void PrefRegistrySimple::RegisterBooleanPref(const std::string& path, |
bool default_value) { |
- RegisterPrefAndNotify(path, new base::Value(default_value), |
+ RegisterPrefAndNotify(path, base::MakeUnique<base::Value>(default_value), |
NO_REGISTRATION_FLAGS); |
} |
void PrefRegistrySimple::RegisterIntegerPref(const std::string& path, |
int default_value) { |
- RegisterPrefAndNotify(path, new base::Value(default_value), |
+ RegisterPrefAndNotify(path, base::MakeUnique<base::Value>(default_value), |
NO_REGISTRATION_FLAGS); |
} |
void PrefRegistrySimple::RegisterDoublePref(const std::string& path, |
double default_value) { |
- RegisterPrefAndNotify(path, new base::Value(default_value), |
+ RegisterPrefAndNotify(path, base::MakeUnique<base::Value>(default_value), |
NO_REGISTRATION_FLAGS); |
} |
void PrefRegistrySimple::RegisterStringPref(const std::string& path, |
const std::string& default_value) { |
- RegisterPrefAndNotify(path, new base::Value(default_value), |
+ RegisterPrefAndNotify(path, base::MakeUnique<base::Value>(default_value), |
NO_REGISTRATION_FLAGS); |
} |
void PrefRegistrySimple::RegisterFilePathPref( |
const std::string& path, |
const base::FilePath& default_value) { |
- RegisterPrefAndNotify(path, new base::Value(default_value.value()), |
+ RegisterPrefAndNotify(path, |
+ base::MakeUnique<base::Value>(default_value.value()), |
NO_REGISTRATION_FLAGS); |
} |
void PrefRegistrySimple::RegisterListPref(const std::string& path) { |
- RegisterPrefAndNotify(path, new base::ListValue(), NO_REGISTRATION_FLAGS); |
+ RegisterPrefAndNotify(path, base::MakeUnique<base::ListValue>(), |
+ NO_REGISTRATION_FLAGS); |
} |
-void PrefRegistrySimple::RegisterListPref(const std::string& path, |
- base::ListValue* default_value) { |
- RegisterPrefAndNotify(path, default_value, NO_REGISTRATION_FLAGS); |
+void PrefRegistrySimple::RegisterListPref( |
+ const std::string& path, |
+ std::unique_ptr<base::ListValue> default_value) { |
+ RegisterPrefAndNotify(path, std::move(default_value), NO_REGISTRATION_FLAGS); |
} |
void PrefRegistrySimple::RegisterDictionaryPref(const std::string& path) { |
- RegisterPrefAndNotify(path, new base::DictionaryValue(), |
+ RegisterPrefAndNotify(path, base::MakeUnique<base::DictionaryValue>(), |
NO_REGISTRATION_FLAGS); |
} |
void PrefRegistrySimple::RegisterDictionaryPref( |
const std::string& path, |
- base::DictionaryValue* default_value) { |
- RegisterPrefAndNotify(path, default_value, NO_REGISTRATION_FLAGS); |
+ std::unique_ptr<base::DictionaryValue> default_value) { |
+ RegisterPrefAndNotify(path, std::move(default_value), NO_REGISTRATION_FLAGS); |
} |
void PrefRegistrySimple::RegisterInt64Pref(const std::string& path, |
int64_t default_value) { |
- RegisterPrefAndNotify(path, |
- new base::Value(base::Int64ToString(default_value)), |
- NO_REGISTRATION_FLAGS); |
+ RegisterPrefAndNotify( |
+ path, base::MakeUnique<base::Value>(base::Int64ToString(default_value)), |
+ NO_REGISTRATION_FLAGS); |
} |
void PrefRegistrySimple::RegisterUint64Pref(const std::string& path, |
uint64_t default_value) { |
- RegisterPrefAndNotify(path, |
- new base::Value(base::Uint64ToString(default_value)), |
- NO_REGISTRATION_FLAGS); |
+ RegisterPrefAndNotify( |
+ path, base::MakeUnique<base::Value>(base::Uint64ToString(default_value)), |
+ NO_REGISTRATION_FLAGS); |
} |
void PrefRegistrySimple::RegisterBooleanPref(const std::string& path, |
bool default_value, |
uint32_t flags) { |
- RegisterPrefAndNotify(path, new base::Value(default_value), flags); |
+ RegisterPrefAndNotify(path, base::MakeUnique<base::Value>(default_value), |
+ flags); |
} |
void PrefRegistrySimple::RegisterIntegerPref(const std::string& path, |
int default_value, |
uint32_t flags) { |
- RegisterPrefAndNotify(path, new base::Value(default_value), flags); |
+ RegisterPrefAndNotify(path, base::MakeUnique<base::Value>(default_value), |
+ flags); |
} |
void PrefRegistrySimple::RegisterDoublePref(const std::string& path, |
double default_value, |
uint32_t flags) { |
- RegisterPrefAndNotify(path, new base::Value(default_value), flags); |
+ RegisterPrefAndNotify(path, base::MakeUnique<base::Value>(default_value), |
+ flags); |
} |
void PrefRegistrySimple::RegisterStringPref(const std::string& path, |
const std::string& default_value, |
uint32_t flags) { |
- RegisterPrefAndNotify(path, new base::Value(default_value), flags); |
+ RegisterPrefAndNotify(path, base::MakeUnique<base::Value>(default_value), |
+ flags); |
} |
void PrefRegistrySimple::RegisterFilePathPref( |
const std::string& path, |
const base::FilePath& default_value, |
uint32_t flags) { |
- RegisterPrefAndNotify(path, new base::Value(default_value.value()), flags); |
+ RegisterPrefAndNotify( |
+ path, base::MakeUnique<base::Value>(default_value.value()), flags); |
} |
void PrefRegistrySimple::RegisterListPref(const std::string& path, |
uint32_t flags) { |
- RegisterPrefAndNotify(path, new base::ListValue(), flags); |
+ RegisterPrefAndNotify(path, base::MakeUnique<base::ListValue>(), flags); |
} |
-void PrefRegistrySimple::RegisterListPref(const std::string& path, |
- base::ListValue* default_value, |
- uint32_t flags) { |
- RegisterPrefAndNotify(path, default_value, flags); |
+void PrefRegistrySimple::RegisterListPref( |
+ const std::string& path, |
+ std::unique_ptr<base::ListValue> default_value, |
+ uint32_t flags) { |
+ RegisterPrefAndNotify(path, std::move(default_value), flags); |
} |
void PrefRegistrySimple::RegisterDictionaryPref(const std::string& path, |
uint32_t flags) { |
- RegisterPrefAndNotify(path, new base::DictionaryValue(), flags); |
+ RegisterPrefAndNotify(path, base::MakeUnique<base::DictionaryValue>(), flags); |
} |
void PrefRegistrySimple::RegisterDictionaryPref( |
const std::string& path, |
- base::DictionaryValue* default_value, |
+ std::unique_ptr<base::DictionaryValue> default_value, |
uint32_t flags) { |
- RegisterPrefAndNotify(path, default_value, flags); |
+ RegisterPrefAndNotify(path, std::move(default_value), flags); |
} |
void PrefRegistrySimple::RegisterInt64Pref(const std::string& path, |
int64_t default_value, |
uint32_t flags) { |
RegisterPrefAndNotify( |
- path, new base::Value(base::Int64ToString(default_value)), flags); |
+ path, base::MakeUnique<base::Value>(base::Int64ToString(default_value)), |
+ flags); |
} |
void PrefRegistrySimple::RegisterUint64Pref(const std::string& path, |
uint64_t default_value, |
uint32_t flags) { |
RegisterPrefAndNotify( |
- path, new base::Value(base::Uint64ToString(default_value)), flags); |
+ path, base::MakeUnique<base::Value>(base::Uint64ToString(default_value)), |
+ flags); |
} |
void PrefRegistrySimple::OnPrefRegistered(const std::string& path, |
base::Value* default_value, |
uint32_t flags) {} |
-void PrefRegistrySimple::RegisterPrefAndNotify(const std::string& path, |
- base::Value* default_value, |
- uint32_t flags) { |
- RegisterPreference(path, default_value, flags); |
- OnPrefRegistered(path, default_value, flags); |
+void PrefRegistrySimple::RegisterPrefAndNotify( |
+ const std::string& path, |
+ std::unique_ptr<base::Value> default_value, |
+ uint32_t flags) { |
+ base::Value* default_value_weak = default_value.get(); |
+ RegisterPreference(path, std::move(default_value), flags); |
+ OnPrefRegistered(path, default_value_weak, flags); |
} |