Index: chrome/browser/sync/glue/autofill_wallet_data_type_controller.cc |
diff --git a/chrome/browser/sync/glue/autofill_wallet_data_type_controller.cc b/chrome/browser/sync/glue/autofill_wallet_data_type_controller.cc |
index ef07c5fbd06989d645eba714800cbf937bbcf9f8..063666f8746c898c24333c8d5dc7c8e7aaf1233f 100644 |
--- a/chrome/browser/sync/glue/autofill_wallet_data_type_controller.cc |
+++ b/chrome/browser/sync/glue/autofill_wallet_data_type_controller.cc |
@@ -6,16 +6,12 @@ |
#include "base/bind.h" |
#include "base/prefs/pref_service.h" |
-#include "chrome/browser/autofill/personal_data_manager_factory.h" |
-#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/sync/glue/chrome_report_unrecoverable_error.h" |
-#include "chrome/browser/sync/profile_sync_service.h" |
-#include "chrome/browser/sync/profile_sync_service_factory.h" |
-#include "chrome/browser/web_data_service_factory.h" |
#include "chrome/common/pref_names.h" |
#include "components/autofill/core/browser/personal_data_manager.h" |
#include "components/autofill/core/browser/webdata/autofill_webdata_service.h" |
-#include "components/sync_driver/profile_sync_components_factory.h" |
+#include "components/sync_driver/sync_client.h" |
+#include "components/sync_driver/sync_service.h" |
#include "content/public/browser/browser_thread.h" |
#include "sync/api/sync_error.h" |
#include "sync/api/syncable_service.h" |
@@ -25,21 +21,20 @@ using content::BrowserThread; |
namespace browser_sync { |
AutofillWalletDataTypeController::AutofillWalletDataTypeController( |
- ProfileSyncComponentsFactory* profile_sync_factory, |
- Profile* profile, |
+ sync_driver::SyncClient* sync_client, |
syncer::ModelType model_type) |
: NonUIDataTypeController( |
BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), |
base::Bind(&ChromeReportUnrecoverableError), |
- profile_sync_factory), |
- profile_(profile), |
+ sync_client), |
+ sync_client_(sync_client), |
callback_registered_(false), |
model_type_(model_type), |
currently_enabled_(IsEnabled()) { |
DCHECK_CURRENTLY_ON(BrowserThread::UI); |
DCHECK(model_type_ == syncer::AUTOFILL_WALLET_DATA || |
model_type_ == syncer::AUTOFILL_WALLET_METADATA); |
- pref_registrar_.Init(profile->GetPrefs()); |
+ pref_registrar_.Init(sync_client_->GetPrefService()); |
pref_registrar_.Add( |
autofill::prefs::kAutofillWalletSyncExperimentEnabled, |
base::Bind(&AutofillWalletDataTypeController::OnSyncPrefChanged, |
@@ -73,9 +68,8 @@ bool AutofillWalletDataTypeController::StartModels() { |
DCHECK_CURRENTLY_ON(BrowserThread::UI); |
DCHECK_EQ(state(), MODEL_STARTING); |
- autofill::AutofillWebDataService* web_data_service = |
- WebDataServiceFactory::GetAutofillWebDataForProfile( |
- profile_, ServiceAccessType::EXPLICIT_ACCESS).get(); |
+ scoped_refptr<autofill::AutofillWebDataService> web_data_service = |
+ sync_client_->GetWebDataService(); |
if (!web_data_service) |
return false; |
@@ -101,8 +95,7 @@ void AutofillWalletDataTypeController::StopModels() { |
// and addresses copied from the server. This is different than other sync |
// cases since this type of data reflects what's on the server rather than |
// syncing local data between clients, so this extra step is required. |
- ProfileSyncService* service = |
- ProfileSyncServiceFactory::GetForProfile(profile_); |
+ sync_driver::SyncService* service = sync_client_->GetSyncService(); |
// HasSyncSetupCompleted indicates if sync is currently enabled at all. The |
// preferred data type indicates if wallet sync data/metadata is enabled, and |
@@ -111,8 +104,7 @@ void AutofillWalletDataTypeController::StopModels() { |
if (!service->HasSyncSetupCompleted() || |
!service->GetPreferredDataTypes().Has(type()) || |
!currently_enabled_) { |
- autofill::PersonalDataManager* pdm = |
- autofill::PersonalDataManagerFactory::GetForProfile(profile_); |
+ autofill::PersonalDataManager* pdm = sync_client_->GetPersonalDataManager(); |
if (pdm) |
pdm->ClearAllServerData(); |
} |
@@ -134,8 +126,7 @@ void AutofillWalletDataTypeController::OnSyncPrefChanged() { |
if (currently_enabled_) { |
// The experiment was just enabled. Trigger a reconfiguration. This will do |
// nothing if the type isn't preferred. |
- ProfileSyncService* sync_service = |
- ProfileSyncServiceFactory::GetForProfile(profile_); |
+ sync_driver::SyncService* sync_service = sync_client_->GetSyncService(); |
sync_service->ReenableDatatype(type()); |
} else { |
// Post a task to the backend thread to stop the datatype. |
@@ -158,7 +149,7 @@ bool AutofillWalletDataTypeController::IsEnabled() { |
// Require both the sync experiment and the user-visible pref to be |
// enabled to sync Wallet data/metadata. |
- PrefService* ps = profile_->GetPrefs(); |
+ PrefService* ps = sync_client_->GetPrefService(); |
return |
ps->GetBoolean(autofill::prefs::kAutofillWalletSyncExperimentEnabled) && |
ps->GetBoolean(autofill::prefs::kAutofillWalletImportEnabled); |