Chromium Code Reviews| Index: chrome/browser/prefs/tracked/tracked_preferences_migration.h |
| diff --git a/chrome/browser/prefs/tracked/tracked_preferences_migration.h b/chrome/browser/prefs/tracked/tracked_preferences_migration.h |
| index 348f844cc00a7bb0ee62c5b5ac80367a830d3fe4..b498ff286f96e4745b93bb418020587974c8cf08 100644 |
| --- a/chrome/browser/prefs/tracked/tracked_preferences_migration.h |
| +++ b/chrome/browser/prefs/tracked/tracked_preferences_migration.h |
| @@ -9,8 +9,33 @@ |
| #include <string> |
| #include "base/callback_forward.h" |
| +#include "base/memory/scoped_ptr.h" |
| -class InterceptablePrefFilter; |
| +namespace base { |
| +class DictionaryValue; |
| +} // namespace base |
| + |
| +class PrefHashStore; |
| + |
| +class TrackedPreferencesMigrationDelegate { |
|
gab
2014/06/06 21:55:00
As mentioned before, I agree that this delegate ma
erikwright (departed)
2014/06/10 20:27:48
I found it preferable to adding an additional two
gab
2014/06/11 18:23:55
Agreed, except that for the sake of simplicity on
|
| + public: |
| + virtual ~TrackedPreferencesMigrationDelegate() {} |
| + |
| + typedef base::Callback<void(bool prefs_altered)> InterceptCompletionCallback; |
| + |
| + // A callback to be invoked from FilterOnLoad. It takes ownership of prefs |
| + // and may modify them before handing them back to this |
| + // InterceptablePrefFilter via |finalize_filter_on_load|. |
| + typedef base::Callback< |
| + void(const InterceptCompletionCallback& completion_callback, |
| + base::DictionaryValue* prefs)> Intercept; |
| + |
| + virtual void CleanPreference(const std::string& key) = 0; |
| + virtual void NotifyOnSuccessfulWrite( |
| + const base::Closure& on_successful_write) = 0; |
| + virtual void InterceptLoadedPreferences(const Intercept& intercept) = 0; |
| + virtual PrefHashStore* GetPrefHashStore() = 0; |
| +}; |
| // Sets up InterceptablePrefFilter::FilterOnLoadInterceptors on |
| // |unprotected_pref_filter| and |protected_pref_filter| which prevents each |
| @@ -24,14 +49,8 @@ class InterceptablePrefFilter; |
| void SetupTrackedPreferencesMigration( |
| const std::set<std::string>& unprotected_pref_names, |
| const std::set<std::string>& protected_pref_names, |
| - const base::Callback<void(const std::string& key)>& |
| - unprotected_store_cleaner, |
| - const base::Callback<void(const std::string& key)>& protected_store_cleaner, |
| - const base::Callback<void(const base::Closure&)>& |
| - register_on_successful_unprotected_store_write_callback, |
| - const base::Callback<void(const base::Closure&)>& |
| - register_on_successful_protected_store_write_callback, |
| - InterceptablePrefFilter* unprotected_pref_filter, |
| - InterceptablePrefFilter* protected_pref_filter); |
| + scoped_ptr<TrackedPreferencesMigrationDelegate> unprotected_delegate, |
| + scoped_ptr<TrackedPreferencesMigrationDelegate> protected_delegate, |
| + scoped_ptr<PrefHashStore> legacy_pref_hash_store); |
| #endif // CHROME_BROWSER_PREFS_TRACKED_TRACKED_PREFERENCES_MIGRATION_H_ |