Index: chrome/browser/prefs/pref_model_associator.cc |
diff --git a/chrome/browser/prefs/pref_model_associator.cc b/chrome/browser/prefs/pref_model_associator.cc |
index 9dfe86daa07a384a9490a476ce9d18abedcb3eeb..036ca1cbec9d5909b9b67a7c9339c121c574cda5 100644 |
--- a/chrome/browser/prefs/pref_model_associator.cc |
+++ b/chrome/browser/prefs/pref_model_associator.cc |
@@ -58,21 +58,29 @@ const struct MigratedPreferences { |
const char* const old_name; |
const char* const new_name; |
} kMigratedPreferences[] = { |
- { prefs::kURLsToRestoreOnStartupOld, prefs::kURLsToRestoreOnStartup }, |
+ // arraysize macro does not supports empty arrays, so we use a sentinel |
+ // value when there are no migrated preferences. |
+ { NULL, NULL }, |
gab
2015/08/24 21:48:45
+zea: Think we should keep this around or simply g
Nicolas Zea
2015/08/25 17:10:30
I'd rather get rid of it personally. If someone do
sdefresne
2015/08/26 16:00:56
Done.
|
}; |
std::string GetOldMigratedPreferenceName(const char* preference_name) { |
for (size_t i = 0; i < arraysize(kMigratedPreferences); ++i) { |
- if (!strcmp(kMigratedPreferences[i].new_name, preference_name)) |
+ if (kMigratedPreferences[i].new_name && |
+ !strcmp(kMigratedPreferences[i].new_name, preference_name)) { |
+ DCHECK(kMigratedPreferences[i].old_name); |
return kMigratedPreferences[i].old_name; |
+ } |
} |
return std::string(); |
} |
std::string GetNewMigratedPreferenceName(const char* old_preference_name) { |
for (size_t i = 0; i < arraysize(kMigratedPreferences); ++i) { |
- if (!strcmp(kMigratedPreferences[i].old_name, old_preference_name)) |
+ if (kMigratedPreferences[i].old_name && |
+ !strcmp(kMigratedPreferences[i].old_name, old_preference_name)) { |
+ DCHECK(kMigratedPreferences[i].new_name); |
return kMigratedPreferences[i].new_name; |
+ } |
} |
return std::string(); |
} |
@@ -318,8 +326,7 @@ scoped_ptr<base::Value> PrefModelAssociator::MergePreference( |
const base::Value& server_value) { |
// This function special cases preferences individually, so don't attempt |
// to merge for all migrated values. |
- if (name == prefs::kURLsToRestoreOnStartup || |
- name == prefs::kURLsToRestoreOnStartupOld) { |
+ if (name == prefs::kURLsToRestoreOnStartup) { |
return make_scoped_ptr(MergeListValues(local_value, server_value)); |
} |