| Index: chrome/browser/sync/profile_sync_service_autofill_unittest.cc | 
| =================================================================== | 
| --- chrome/browser/sync/profile_sync_service_autofill_unittest.cc	(revision 99989) | 
| +++ chrome/browser/sync/profile_sync_service_autofill_unittest.cc	(working copy) | 
| @@ -24,10 +24,11 @@ | 
| #include "chrome/browser/sync/glue/autofill_change_processor.h" | 
| #include "chrome/browser/sync/glue/autofill_data_type_controller.h" | 
| #include "chrome/browser/sync/glue/autofill_model_associator.h" | 
| -#include "chrome/browser/sync/glue/autofill_profile_change_processor.h" | 
| #include "chrome/browser/sync/glue/autofill_profile_data_type_controller.h" | 
| -#include "chrome/browser/sync/glue/autofill_profile_model_associator.h" | 
| +#include "chrome/browser/sync/glue/autofill_profile_syncable_service.h" | 
| #include "chrome/browser/sync/glue/data_type_controller.h" | 
| +#include "chrome/browser/sync/glue/generic_change_processor.h" | 
| +#include "chrome/browser/sync/glue/syncable_service_adapter.h" | 
| #include "chrome/browser/sync/internal_api/read_node.h" | 
| #include "chrome/browser/sync/internal_api/read_transaction.h" | 
| #include "chrome/browser/sync/internal_api/write_node.h" | 
| @@ -56,10 +57,11 @@ | 
| using browser_sync::AutofillChangeProcessor; | 
| using browser_sync::AutofillDataTypeController; | 
| using browser_sync::AutofillModelAssociator; | 
| -using browser_sync::AutofillProfileChangeProcessor; | 
| using browser_sync::AutofillProfileDataTypeController; | 
| -using browser_sync::AutofillProfileModelAssociator; | 
| +using browser_sync::AutofillProfileSyncableService; | 
| using browser_sync::DataTypeController; | 
| +using browser_sync::GenericChangeProcessor; | 
| +using browser_sync::SyncableServiceAdapter; | 
| using browser_sync::GROUP_DB; | 
| using browser_sync::kAutofillTag; | 
| using browser_sync::SyncBackendHostForProfileSyncTest; | 
| @@ -178,18 +180,23 @@ | 
| EXPECT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::DB)); | 
| if (!BrowserThread::CurrentlyOn(BrowserThread::DB)) | 
| return ProfileSyncFactory::SyncComponents(NULL, NULL); | 
| -  AutofillProfileModelAssociator* model_associator = | 
| -      new AutofillProfileModelAssociator(service, wd, pdm); | 
| -  AutofillProfileChangeProcessor* change_processor = | 
| -      new AutofillProfileChangeProcessor(model_associator, wd, pdm, dtc); | 
| -  return ProfileSyncFactory::SyncComponents(model_associator, | 
| +  AutofillProfileSyncableService* sync_service = | 
| +      new AutofillProfileSyncableService(wd, pdm, service->profile()); | 
| +  sync_api::UserShare* user_share = service->GetUserShare(); | 
| +  GenericChangeProcessor* change_processor = | 
| +      new GenericChangeProcessor(sync_service, dtc, user_share); | 
| +  SyncableServiceAdapter* sync_service_adapter = | 
| +      new SyncableServiceAdapter(syncable::AUTOFILL_PROFILE, | 
| +                                 sync_service, | 
| +                                 change_processor); | 
| +  return ProfileSyncFactory::SyncComponents(sync_service_adapter, | 
| change_processor); | 
| } | 
|  | 
| class AbstractAutofillFactory { | 
| public: | 
| virtual AutofillDataTypeController* CreateDataTypeController( | 
| -    ProfileSyncFactory *factory, | 
| +      ProfileSyncFactory* factory, | 
| ProfileMock* profile, | 
| ProfileSyncService* service) = 0; | 
| virtual void SetExpectation(ProfileSyncFactoryMock* factory, | 
| @@ -203,7 +210,7 @@ | 
| class AutofillEntryFactory : public AbstractAutofillFactory { | 
| public: | 
| browser_sync::AutofillDataTypeController* CreateDataTypeController( | 
| -      ProfileSyncFactory *factory, | 
| +      ProfileSyncFactory* factory, | 
| ProfileMock* profile, | 
| ProfileSyncService* service) { | 
| return new AutofillDataTypeController(factory, | 
| @@ -223,7 +230,7 @@ | 
| class AutofillProfileFactory : public AbstractAutofillFactory { | 
| public: | 
| browser_sync::AutofillDataTypeController* CreateDataTypeController( | 
| -      ProfileSyncFactory *factory, | 
| +      ProfileSyncFactory* factory, | 
| ProfileMock* profile, | 
| ProfileSyncService* service) { | 
| return new AutofillProfileDataTypeController(factory, | 
| @@ -314,9 +321,10 @@ | 
|  | 
| EXPECT_CALL(profile_, GetWebDataService(_)). | 
| // TokenService::Initialize | 
| -        WillOnce(Return(web_data_service_.get())). | 
| // AutofillDataTypeController::StartModels() | 
| -        WillOnce(Return(web_data_service_.get())); | 
| +        // In some tests: | 
| +        // AutofillProfileSyncableService::AutofillProfileSyncableService() | 
| +        WillRepeatedly(Return(web_data_service_.get())); | 
|  | 
| EXPECT_CALL(profile_, GetPersonalDataManager()). | 
| WillRepeatedly(Return(personal_data_manager_.get())); | 
| @@ -362,7 +370,11 @@ | 
| if (!node.InitUniqueByCreation(syncable::AUTOFILL_PROFILE, | 
| autofill_root, tag)) | 
| return false; | 
| -    AutofillProfileChangeProcessor::WriteAutofillProfile(profile, &node); | 
| +    sync_pb::EntitySpecifics specifics; | 
| +    AutofillProfileSyncableService::WriteAutofillProfile(profile, &specifics); | 
| +    sync_pb::AutofillProfileSpecifics* profile_specifics = | 
| +        specifics.MutableExtension(sync_pb::autofill_profile); | 
| +    node.SetAutofillProfileSpecifics(*profile_specifics); | 
| return true; | 
| } | 
|  | 
| @@ -394,8 +406,8 @@ | 
| } else if (autofill.has_profile()) { | 
| AutofillProfile p; | 
| p.set_guid(autofill.profile().guid()); | 
| -        AutofillProfileModelAssociator::OverwriteProfileWithServerData(&p, | 
| -            autofill.profile()); | 
| +        AutofillProfileSyncableService::OverwriteProfileWithServerData( | 
| +            autofill.profile(), &p); | 
| profiles->push_back(p); | 
| } | 
| child_id = child_node.GetSuccessorId(); | 
| @@ -420,8 +432,8 @@ | 
| child_node.GetAutofillProfileSpecifics()); | 
| AutofillProfile p; | 
| p.set_guid(autofill.guid()); | 
| -        AutofillProfileModelAssociator::OverwriteProfileWithServerData(&p, | 
| -            autofill); | 
| +        AutofillProfileSyncableService::OverwriteProfileWithServerData( | 
| +            autofill, &p); | 
| profiles->push_back(p); | 
| child_id = child_node.GetSuccessorId(); | 
| } | 
| @@ -498,7 +510,7 @@ | 
| WriteTransactionTest(const tracked_objects::Location& from_here, | 
| WriterTag writer, | 
| const syncable::ScopedDirLookup& directory, | 
| -                       scoped_ptr<WaitableEvent> *wait_for_syncapi) | 
| +                       scoped_ptr<WaitableEvent>* wait_for_syncapi) | 
| : WriteTransaction(from_here, writer, directory), | 
| wait_for_syncapi_(wait_for_syncapi) { } | 
|  | 
| @@ -511,16 +523,16 @@ | 
| } | 
|  | 
| private: | 
| -  scoped_ptr<WaitableEvent> *wait_for_syncapi_; | 
| +  scoped_ptr<WaitableEvent>* wait_for_syncapi_; | 
| }; | 
|  | 
| // Our fake server updater. Needs the RefCountedThreadSafe inheritance so we can | 
| // post tasks with it. | 
| class FakeServerUpdater: public base::RefCountedThreadSafe<FakeServerUpdater> { | 
| public: | 
| -  FakeServerUpdater(TestProfileSyncService *service, | 
| -                    scoped_ptr<WaitableEvent> *wait_for_start, | 
| -                    scoped_ptr<WaitableEvent> *wait_for_syncapi) | 
| +  FakeServerUpdater(TestProfileSyncService* service, | 
| +                    scoped_ptr<WaitableEvent>* wait_for_start, | 
| +                    scoped_ptr<WaitableEvent>* wait_for_syncapi) | 
| : entry_(ProfileSyncServiceAutofillTest::MakeAutofillEntry("0", "0", 0)), | 
| service_(service), | 
| wait_for_start_(wait_for_start), | 
| @@ -579,7 +591,7 @@ | 
|  | 
| void CreateNewEntry(const AutofillEntry& entry) { | 
| entry_ = entry; | 
| -    scoped_ptr<Callback0::Type> c(NewCallback((FakeServerUpdater *)this, | 
| +    scoped_ptr<Callback0::Type> c(NewCallback((FakeServerUpdater*)this, | 
| &FakeServerUpdater::Update)); | 
| ASSERT_FALSE(BrowserThread::CurrentlyOn(BrowserThread::DB)); | 
| if (!BrowserThread::PostTask(BrowserThread::DB, FROM_HERE, | 
| @@ -591,7 +603,7 @@ | 
|  | 
| void CreateNewEntryAndWait(const AutofillEntry& entry) { | 
| entry_ = entry; | 
| -    scoped_ptr<Callback0::Type> c(NewCallback((FakeServerUpdater *)this, | 
| +    scoped_ptr<Callback0::Type> c(NewCallback((FakeServerUpdater*)this, | 
| &FakeServerUpdater::Update)); | 
| ASSERT_FALSE(BrowserThread::CurrentlyOn(BrowserThread::DB)); | 
| is_finished_.Reset(); | 
| @@ -608,9 +620,9 @@ | 
| ~FakeServerUpdater() { } | 
|  | 
| AutofillEntry entry_; | 
| -  TestProfileSyncService *service_; | 
| -  scoped_ptr<WaitableEvent> *wait_for_start_; | 
| -  scoped_ptr<WaitableEvent> *wait_for_syncapi_; | 
| +  TestProfileSyncService* service_; | 
| +  scoped_ptr<WaitableEvent>* wait_for_start_; | 
| +  scoped_ptr<WaitableEvent>* wait_for_syncapi_; | 
| WaitableEvent is_finished_; | 
| syncable::Id parent_id_; | 
| }; | 
|  |