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 7974c580d8bd8859c24491d1e66bcb07dce9dc7b..c0125b487cbc466d931e2aea87692693cf3079f5 100644 |
--- a/chrome/browser/sync/profile_sync_service_autofill_unittest.cc |
+++ b/chrome/browser/sync/profile_sync_service_autofill_unittest.cc |
@@ -46,6 +46,8 @@ |
#include "chrome/browser/webdata/autofill_profile_syncable_service.h" |
#include "chrome/browser/webdata/autofill_table.h" |
#include "chrome/browser/webdata/web_database.h" |
+#include "chrome/browser/webdata/web_data_service.h" |
+#include "chrome/browser/webdata/web_data_service_factory.h" |
#include "chrome/common/chrome_notification_types.h" |
#include "chrome/common/net/gaia/gaia_constants.h" |
#include "content/public/browser/notification_source.h" |
@@ -158,11 +160,19 @@ syncable::ModelType GetModelType<AutofillProfile>() { |
class WebDataServiceFake : public WebDataService { |
public: |
- explicit WebDataServiceFake(WebDatabase* web_database) |
- : web_database_(web_database), |
+ WebDataServiceFake() |
+ : web_database_(NULL), |
syncable_service_created_or_destroyed_(false, false) { |
} |
+ static scoped_refptr<RefcountedProfileKeyedService> Build(Profile* profile) { |
+ return new WebDataServiceFake; |
+ } |
+ |
+ void SetDatabase(WebDatabase* web_database) { |
+ web_database_ = web_database; |
+ } |
+ |
void StartSyncableService() { |
// The |autofill_profile_syncable_service_| must be constructed on the DB |
// thread. |
@@ -217,6 +227,8 @@ class WebDataServiceFake : public WebDataService { |
return autofill_profile_syncable_service_; |
} |
+ virtual void ShutdownOnUIThread() OVERRIDE {} |
+ |
private: |
void CreateSyncableService() { |
ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::DB)); |
@@ -341,6 +353,8 @@ class ProfileSyncServiceAutofillTest : public AbstractProfileSyncServiceTest { |
protected: |
ProfileSyncServiceAutofillTest() { |
} |
+ ~ProfileSyncServiceAutofillTest() { |
Nicolas Zea
2012/03/27 21:35:48
virtual
GeorgeY
2012/03/30 19:20:12
Done.
|
+ } |
AutofillProfileFactory profile_factory_; |
AutofillEntryFactory entry_factory_; |
@@ -360,7 +374,10 @@ class ProfileSyncServiceAutofillTest : public AbstractProfileSyncServiceTest { |
AbstractProfileSyncServiceTest::SetUp(); |
profile_.CreateRequestContext(); |
web_database_.reset(new WebDatabaseFake(&autofill_table_)); |
- web_data_service_ = new WebDataServiceFake(web_database_.get()); |
+ web_data_service_ = static_cast<WebDataServiceFake*>( |
+ WebDataServiceFactory::GetInstance()->SetTestingFactoryAndUse( |
+ &profile_, WebDataServiceFake::Build).get()); |
+ web_data_service_->SetDatabase(web_database_.get()); |
personal_data_manager_ = static_cast<PersonalDataManagerMock*>( |
PersonalDataManagerFactory::GetInstance()->SetTestingFactoryAndUse( |
&profile_, PersonalDataManagerMock::Build)); |
@@ -373,12 +390,7 @@ class ProfileSyncServiceAutofillTest : public AbstractProfileSyncServiceTest { |
WillRepeatedly(Return(static_cast<HistoryService*>(NULL))); |
EXPECT_CALL(*personal_data_manager_, LoadProfiles()).Times(1); |
EXPECT_CALL(*personal_data_manager_, LoadCreditCards()).Times(1); |
- EXPECT_CALL(profile_, GetWebDataService(_)). |
- // TokenService::Initialize |
- // AutofillDataTypeController::StartModels() |
- // In some tests: |
- // AutofillProfileSyncableService::AutofillProfileSyncableService() |
- WillRepeatedly(Return(web_data_service_.get())); |
+ |
personal_data_manager_->Init(&profile_); |
// Note: This must be called *after* the notification service is created. |