Index: chrome/browser/sync/profile_sync_service_autofill_unittest.cc |
diff --git a/chrome/browser/sync/profile_sync_service_autofill_unittest.cc b/chrome/browser/sync/profile_sync_service_autofill_unittest.cc |
index b0f59359bc8080ccd380d524ac4819d75b9ce407..f49b9667b2bea17a57f958fbaebc3b71bcb313d6 100644 |
--- a/chrome/browser/sync/profile_sync_service_autofill_unittest.cc |
+++ b/chrome/browser/sync/profile_sync_service_autofill_unittest.cc |
@@ -50,7 +50,7 @@ |
#include "components/signin/core/browser/fake_profile_oauth2_token_service.h" |
#include "components/signin/core/browser/signin_manager.h" |
#include "components/sync_driver/data_type_controller.h" |
-#include "components/sync_driver/profile_sync_components_factory.h" |
+#include "components/sync_driver/fake_sync_client.h" |
#include "components/webdata/common/web_database.h" |
#include "components/webdata_services/web_data_service_test_util.h" |
#include "content/public/test/test_browser_thread.h" |
@@ -145,6 +145,38 @@ MATCHER_P(MatchProfiles, profile, "") { |
return (profile.Compare(arg) == 0); |
} |
+class TestSyncClient : public sync_driver::FakeSyncClient { |
+ public: |
+ TestSyncClient(PersonalDataManager* pdm, |
+ const scoped_refptr<AutofillWebDataService>& web_data_service) |
+ : pdm_(pdm), |
+ web_data_service_(web_data_service) {} |
+ ~TestSyncClient() override {} |
+ |
+ // FakeSyncClient overrides. |
+ autofill::PersonalDataManager* GetPersonalDataManager() override { |
+ return pdm_; |
+ } |
+ scoped_refptr<autofill::AutofillWebDataService> GetWebDataService() override { |
+ return web_data_service_; |
+ } |
+ base::WeakPtr<syncer::SyncableService> GetSyncableServiceForType( |
+ syncer::ModelType type) override { |
+ DCHECK(type == AUTOFILL || type == AUTOFILL_PROFILE); |
+ if (type == AUTOFILL) { |
+ return AutocompleteSyncableService::FromWebDataService( |
+ web_data_service_.get())->AsWeakPtr(); |
+ } else { |
+ return AutofillProfileSyncableService::FromWebDataService( |
+ web_data_service_.get())->AsWeakPtr(); |
+ } |
+ } |
+ |
+ private: |
+ PersonalDataManager* pdm_; |
+ scoped_refptr<AutofillWebDataService> web_data_service_; |
+}; |
+ |
class WebDatabaseFake : public WebDatabase { |
public: |
explicit WebDatabaseFake(AutofillTable* autofill_table) { |
@@ -356,63 +388,6 @@ ACTION_P(ReturnNewDataTypeManagerWithDebugListener, debug_listener) { |
arg4); |
} |
-ACTION_P(MakeAutofillProfileSyncComponents, wds) { |
- EXPECT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::DB)); |
- if (!BrowserThread::CurrentlyOn(BrowserThread::DB)) |
- return base::WeakPtr<syncer::SyncableService>(); |
- return AutofillProfileSyncableService::FromWebDataService(wds)->AsWeakPtr(); |
-} |
- |
-class AbstractAutofillFactory { |
- public: |
- virtual DataTypeController* CreateDataTypeController( |
- ProfileSyncComponentsFactory* factory, |
- TestingProfile* profile, |
- ProfileSyncService* service) = 0; |
- virtual void SetExpectation(ProfileSyncComponentsFactoryMock* factory, |
- ProfileSyncService* service, |
- AutofillWebDataService* wds, |
- DataTypeController* dtc) = 0; |
- virtual ~AbstractAutofillFactory() {} |
-}; |
- |
-class AutofillEntryFactory : public AbstractAutofillFactory { |
- public: |
- DataTypeController* CreateDataTypeController( |
- ProfileSyncComponentsFactory* factory, |
- TestingProfile* profile, |
- ProfileSyncService* service) override { |
- return new AutofillDataTypeController(factory, profile); |
- } |
- |
- void SetExpectation(ProfileSyncComponentsFactoryMock* factory, |
- ProfileSyncService* service, |
- AutofillWebDataService* wds, |
- DataTypeController* dtc) override { |
- EXPECT_CALL(*factory, GetSyncableServiceForType(syncer::AUTOFILL)). |
- WillOnce(MakeAutocompleteSyncComponents(wds)); |
- } |
-}; |
- |
-class AutofillProfileFactory : public AbstractAutofillFactory { |
- public: |
- DataTypeController* CreateDataTypeController( |
- ProfileSyncComponentsFactory* factory, |
- TestingProfile* profile, |
- ProfileSyncService* service) override { |
- return new AutofillProfileDataTypeController(factory, profile); |
- } |
- |
- void SetExpectation(ProfileSyncComponentsFactoryMock* factory, |
- ProfileSyncService* service, |
- AutofillWebDataService* wds, |
- DataTypeController* dtc) override { |
- EXPECT_CALL(*factory, |
- GetSyncableServiceForType(syncer::AUTOFILL_PROFILE)). |
- WillOnce(MakeAutofillProfileSyncComponents(wds)); |
- } |
-}; |
- |
class MockPersonalDataManager : public PersonalDataManager { |
public: |
MockPersonalDataManager() : PersonalDataManager("en-US") {} |
@@ -446,20 +421,6 @@ class ProfileSyncServiceAutofillTest |
} |
~ProfileSyncServiceAutofillTest() override {} |
- AutofillProfileFactory profile_factory_; |
- AutofillEntryFactory entry_factory_; |
- |
- AbstractAutofillFactory* GetFactory(syncer::ModelType type) { |
- if (type == syncer::AUTOFILL) { |
- return &entry_factory_; |
- } else if (type == syncer::AUTOFILL_PROFILE) { |
- return &profile_factory_; |
- } else { |
- NOTREACHED(); |
- return NULL; |
- } |
- } |
- |
void SetUp() override { |
AbstractProfileSyncServiceTest::SetUp(); |
ASSERT_TRUE(profile_manager_.SetUp()); |
@@ -500,6 +461,9 @@ class ProfileSyncServiceAutofillTest |
web_data_service_->StartSyncableService(); |
+ sync_client_.reset(new TestSyncClient(personal_data_manager_, |
+ web_data_service_)); |
+ |
// When UpdateAutofillEntries() is called with an empty list, the return |
// value should be |true|, rather than the default of |false|. |
std::vector<AutofillEntry> empty; |
@@ -531,7 +495,6 @@ class ProfileSyncServiceAutofillTest |
void StartSyncService(const base::Closure& callback, |
bool will_fail_association, |
syncer::ModelType type) { |
- AbstractAutofillFactory* factory = GetFactory(type); |
SigninManagerBase* signin = SigninManagerFactory::GetForProfile(profile_); |
signin->SetAuthenticatedAccountInfo("12345", "test_user@gmail.com"); |
sync_service_ = TestProfileSyncService::BuildAutoStartAsyncInit(profile_, |
@@ -539,12 +502,6 @@ class ProfileSyncServiceAutofillTest |
ProfileSyncComponentsFactoryMock* components = |
sync_service_->components_factory_mock(); |
- DataTypeController* data_type_controller = |
- factory->CreateDataTypeController(components, profile_, sync_service_); |
- factory->SetExpectation(components, |
- sync_service_, |
- web_data_service_.get(), |
- data_type_controller); |
EXPECT_CALL(*components, CreateDataTypeManager(_, _, _, _, _)). |
WillOnce(ReturnNewDataTypeManagerWithDebugListener( |
@@ -558,7 +515,7 @@ class ProfileSyncServiceAutofillTest |
->UpdateCredentials(signin->GetAuthenticatedAccountId(), |
"oauth2_login_token"); |
- sync_service_->RegisterDataTypeController(data_type_controller); |
+ sync_service_->RegisterDataTypeController(CreateDataTypeController(type)); |
sync_service_->Initialize(); |
base::MessageLoop::current()->Run(); |
@@ -703,6 +660,14 @@ class ProfileSyncServiceAutofillTest |
return MakeAutofillEntry(name, value, time_shift, -1); |
} |
+ DataTypeController* CreateDataTypeController(syncer::ModelType type) { |
+ DCHECK(type == AUTOFILL || type == AUTOFILL_PROFILE); |
+ if (type == AUTOFILL) |
+ return new AutofillDataTypeController(sync_client_.get()); |
+ else |
+ return new AutofillProfileDataTypeController(sync_client_.get()); |
+ } |
+ |
friend class AddAutofillHelper<AutofillEntry>; |
friend class AddAutofillHelper<AutofillProfile>; |
friend class FakeServerUpdater; |
@@ -715,6 +680,7 @@ class ProfileSyncServiceAutofillTest |
MockPersonalDataManager* personal_data_manager_; |
syncer::DataTypeAssociationStats association_stats_; |
base::WeakPtrFactory<DataTypeDebugInfoListener> debug_ptr_factory_; |
+ scoped_ptr<TestSyncClient> sync_client_; |
}; |
template <class T> |