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

Unified Diff: chrome/browser/prefs/pref_service.cc

Issue 10049005: Fix homepage migration for users who never changed their settings. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Value -> base::Value Created 8 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/prefs/pref_service.cc
diff --git a/chrome/browser/prefs/pref_service.cc b/chrome/browser/prefs/pref_service.cc
index de7f406748f82fbffd323af8b631ca6d1d6b8253..ea1d705eac19c365f2940c65f9b3eead5ea9b2f9 100644
--- a/chrome/browser/prefs/pref_service.cc
+++ b/chrome/browser/prefs/pref_service.cc
@@ -684,6 +684,31 @@ const DictionaryValue* PrefService::GetDictionary(const char* path) const {
return static_cast<const DictionaryValue*>(value);
}
+const base::Value* PrefService::GetUserPrefValue(const char* path) const {
+ DCHECK(CalledOnValidThread());
+
+ const Preference* pref = FindPreference(path);
+ if (!pref) {
+ NOTREACHED() << "Trying to get an unregistered pref: " << path;
+ return NULL;
+ }
+
+ // Look for an existing preference in the user store. If it doesn't
+ // exist, return NULL.
+ base::Value* value = NULL;
+ if (user_pref_store_->GetMutableValue(path, &value) !=
+ PersistentPrefStore::READ_OK) {
+ return NULL;
+ }
+
+ if (!value->IsType(pref->GetType())) {
+ NOTREACHED() << "Pref value type doesn't match registered type.";
+ return NULL;
+ }
+
+ return value;
+}
+
const ListValue* PrefService::GetList(const char* path) const {
DCHECK(CalledOnValidThread());

Powered by Google App Engine
This is Rietveld 408576698