| Index: chrome/browser/prefs/tracked/tracked_preferences_migration.cc
|
| diff --git a/chrome/browser/prefs/tracked/tracked_preferences_migration.cc b/chrome/browser/prefs/tracked/tracked_preferences_migration.cc
|
| index 382c924bfea130bf7ea6b07235ef2beb53254a7f..0d4701a6e8a3e06a469a6d016b24fe0156618fb0 100644
|
| --- a/chrome/browser/prefs/tracked/tracked_preferences_migration.cc
|
| +++ b/chrome/browser/prefs/tracked/tracked_preferences_migration.cc
|
| @@ -192,7 +192,12 @@ void MigratePrefsFromOldToNewStore(const std::set<std::string>& pref_names,
|
| new_hash_store_transaction->ImportHash(pref_name, old_hash);
|
| *new_store_altered = true;
|
| } else if (!destination_hash_missing) {
|
| - new_hash_store_transaction->ClearHash(pref_name);
|
| + // Do not allow values to be migrated without MACs if the destination
|
| + // already has a MAC (http://crbug.com/414554). Remove the migrated
|
| + // value in order to provide the same no-op behaviour as if the pref was
|
| + // added to the wrong file when there was already a value for
|
| + // |pref_name| in |new_store|.
|
| + new_store->Remove(pref_name, NULL);
|
| *new_store_altered = true;
|
| }
|
| }
|
|
|