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()); |