| 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 c358256f06b4f50ff9e88b6045c82634d2b41586..079903d669dfb35df9d0c22c5cf6f07be11a2daa 100644
|
| --- a/chrome/browser/prefs/tracked/tracked_preferences_migration.cc
|
| +++ b/chrome/browser/prefs/tracked/tracked_preferences_migration.cc
|
| @@ -47,7 +47,7 @@ class TrackedPreferencesMigrator
|
| PrefFilterID id,
|
| const InterceptablePrefFilter::FinalizeFilterOnLoadCallback&
|
| finalize_filter_on_load,
|
| - scoped_ptr<base::DictionaryValue> prefs);
|
| + base::DictionaryValue* prefs);
|
|
|
| // Proceeds with migration if both |unprotected_prefs_| and |protected_prefs_|
|
| // have been set.
|
| @@ -68,8 +68,8 @@ class TrackedPreferencesMigrator
|
| InterceptablePrefFilter::FinalizeFilterOnLoadCallback
|
| finalize_protected_filter_on_load_;
|
|
|
| - scoped_ptr<base::DictionaryValue> unprotected_prefs_;
|
| - scoped_ptr<base::DictionaryValue> protected_prefs_;
|
| + base::DictionaryValue* unprotected_prefs_;
|
| + base::DictionaryValue* protected_prefs_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(TrackedPreferencesMigrator);
|
| };
|
| @@ -157,7 +157,9 @@ TrackedPreferencesMigrator::TrackedPreferencesMigrator(
|
| register_on_successful_unprotected_store_write_callback_(
|
| register_on_successful_unprotected_store_write_callback),
|
| register_on_successful_protected_store_write_callback_(
|
| - register_on_successful_protected_store_write_callback) {
|
| + register_on_successful_protected_store_write_callback),
|
| + unprotected_prefs_(NULL),
|
| + protected_prefs_(NULL) {
|
| // The callbacks bound below will own this TrackedPreferencesMigrator by
|
| // reference.
|
| unprotected_pref_filter->InterceptNextFilterOnLoad(
|
| @@ -176,15 +178,15 @@ void TrackedPreferencesMigrator::InterceptFilterOnLoad(
|
| PrefFilterID id,
|
| const InterceptablePrefFilter::FinalizeFilterOnLoadCallback&
|
| finalize_filter_on_load,
|
| - scoped_ptr<base::DictionaryValue> prefs) {
|
| + base::DictionaryValue* prefs) {
|
| switch (id) {
|
| case UNPROTECTED_PREF_FILTER:
|
| finalize_unprotected_filter_on_load_ = finalize_filter_on_load;
|
| - unprotected_prefs_ = prefs.Pass();
|
| + unprotected_prefs_ = prefs;
|
| break;
|
| case PROTECTED_PREF_FILTER:
|
| finalize_protected_filter_on_load_ = finalize_filter_on_load;
|
| - protected_prefs_ = prefs.Pass();
|
| + protected_prefs_ = prefs;
|
| break;
|
| }
|
|
|
| @@ -199,23 +201,23 @@ void TrackedPreferencesMigrator::MigrateIfReady() {
|
| bool protected_prefs_need_cleanup = false;
|
| bool unprotected_prefs_altered = false;
|
| MigratePrefsFromOldToNewStore(unprotected_pref_names_,
|
| - protected_prefs_.get(),
|
| - unprotected_prefs_.get(),
|
| + protected_prefs_,
|
| + unprotected_prefs_,
|
| &protected_prefs_need_cleanup,
|
| &unprotected_prefs_altered);
|
| bool unprotected_prefs_need_cleanup = false;
|
| bool protected_prefs_altered = false;
|
| MigratePrefsFromOldToNewStore(protected_pref_names_,
|
| - unprotected_prefs_.get(),
|
| - protected_prefs_.get(),
|
| + unprotected_prefs_,
|
| + protected_prefs_,
|
| &unprotected_prefs_need_cleanup,
|
| &protected_prefs_altered);
|
|
|
| - // Hand the processed prefs back to their respective filters.
|
| - finalize_unprotected_filter_on_load_.Run(unprotected_prefs_.Pass(),
|
| - unprotected_prefs_altered);
|
| - finalize_protected_filter_on_load_.Run(protected_prefs_.Pass(),
|
| - protected_prefs_altered);
|
| + // Allow preference loading to proceed.
|
| + unprotected_prefs_ = NULL;
|
| + protected_prefs_ = NULL;
|
| + finalize_unprotected_filter_on_load_.Run(unprotected_prefs_altered);
|
| + finalize_protected_filter_on_load_.Run(protected_prefs_altered);
|
|
|
| if (unprotected_prefs_need_cleanup) {
|
| // Schedule a cleanup of the |protected_pref_names_| from the unprotected
|
|
|