Chromium Code Reviews| Index: chrome/browser/prefs/chrome_pref_service_factory.cc |
| diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browser/prefs/chrome_pref_service_factory.cc |
| index 67e8d6fe19489ef3f5b8fa305baf3fc24039a977..595c74681ceb7bb9a2cfac473a0f0683c1d01cfc 100644 |
| --- a/chrome/browser/prefs/chrome_pref_service_factory.cc |
| +++ b/chrome/browser/prefs/chrome_pref_service_factory.cc |
| @@ -17,6 +17,8 @@ |
| #include "base/prefs/pref_value_store.h" |
| #include "chrome/browser/browser_process.h" |
| #include "chrome/browser/prefs/command_line_pref_store.h" |
| +#include "chrome/browser/prefs/pref_change_reporter.h" |
| +#include "chrome/browser/prefs/pref_hash_store.h" |
| #include "chrome/browser/prefs/pref_model_associator.h" |
| #include "chrome/browser/prefs/pref_service_syncable_builder.h" |
| #include "chrome/browser/ui/profile_error_dialog.h" |
| @@ -77,6 +79,7 @@ void PrepareBuilder( |
| base::SequencedTaskRunner* pref_io_task_runner, |
| policy::PolicyService* policy_service, |
| ManagedUserSettingsService* managed_user_settings, |
| + scoped_ptr<PrefHashStore> pref_hash_store, |
| const scoped_refptr<PrefStore>& extension_prefs, |
| bool async) { |
| #if defined(OS_LINUX) |
| @@ -116,7 +119,13 @@ void PrepareBuilder( |
| builder->WithCommandLinePrefs( |
| new CommandLinePrefStore(CommandLine::ForCurrentProcess())); |
| builder->WithReadErrorCallback(base::Bind(&HandleReadError)); |
| - builder->WithUserPrefs(new JsonPrefStore(pref_filename, pref_io_task_runner)); |
| + |
| + scoped_refptr<JsonPrefStore> pref_store( |
| + new JsonPrefStore(pref_filename, pref_io_task_runner)); |
| + |
| + ReportPrefStoreChangesToUMA(pref_store.get(), pref_hash_store.Pass()); |
|
gab
2013/11/27 23:43:27
Consider a more generic name; this could later be
|
| + |
| + builder->WithUserPrefs(pref_store.get()); |
|
gab
2013/11/27 23:43:27
FYI, looks like this changed in https://codereview
|
| } |
| } // namespace |
| @@ -135,6 +144,7 @@ PrefService* CreateLocalState( |
| pref_io_task_runner, |
| policy_service, |
| NULL, |
| + scoped_ptr<PrefHashStore>(), |
| NULL, |
| async); |
| return builder.Create(pref_registry.get()); |
| @@ -145,6 +155,7 @@ PrefServiceSyncable* CreateProfilePrefs( |
| base::SequencedTaskRunner* pref_io_task_runner, |
| policy::PolicyService* policy_service, |
| ManagedUserSettingsService* managed_user_settings, |
| + scoped_ptr<PrefHashStore> pref_hash_store, |
| const scoped_refptr<PrefStore>& extension_prefs, |
| const scoped_refptr<user_prefs::PrefRegistrySyncable>& pref_registry, |
| bool async) { |
| @@ -155,6 +166,7 @@ PrefServiceSyncable* CreateProfilePrefs( |
| pref_io_task_runner, |
| policy_service, |
| managed_user_settings, |
| + pref_hash_store.Pass(), |
| extension_prefs, |
| async); |
| return builder.CreateSyncable(pref_registry.get()); |