Chromium Code Reviews| 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)); |
| } |