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 |