Index: components/sync_preferences/pref_service_syncable_factory.cc |
diff --git a/components/sync_preferences/pref_service_syncable_factory.cc b/components/sync_preferences/pref_service_syncable_factory.cc |
index 2d314f51952cde9f54c97017448e7d945acd0e52..38fb868b93274e407c0e98a824cfa98016456049 100644 |
--- a/components/sync_preferences/pref_service_syncable_factory.cc |
+++ b/components/sync_preferences/pref_service_syncable_factory.cc |
@@ -11,6 +11,7 @@ |
#include "components/prefs/pref_notifier_impl.h" |
#include "components/prefs/pref_value_store.h" |
#include "components/sync_preferences/pref_service_syncable.h" |
+#include "services/preferences/public/cpp/persistent_pref_store_mojo.h" |
#if !defined(OS_IOS) |
#include "components/policy/core/browser/browser_policy_connector.h" |
@@ -53,8 +54,12 @@ void PrefServiceSyncableFactory::SetPrefModelAssociatorClient( |
} |
std::unique_ptr<PrefServiceSyncable> PrefServiceSyncableFactory::CreateSyncable( |
- user_prefs::PrefRegistrySyncable* pref_registry) { |
+ user_prefs::PrefRegistrySyncable* pref_registry, |
+ prefs::mojom::PersistentPrefStoreConnectorPtr connector) { |
TRACE_EVENT0("browser", "PrefServiceSyncableFactory::CreateSyncable"); |
+ DCHECK(!connector || !user_prefs_); |
+ if (connector) |
+ user_prefs_ = new prefs::PersistentPrefStoreMojo(std::move(connector)); |
PrefNotifierImpl* pref_notifier = new PrefNotifierImpl(); |
std::unique_ptr<PrefServiceSyncable> pref_service(new PrefServiceSyncable( |
pref_notifier, |