| Index: components/autofill/core/browser/personal_data_manager_unittest.cc
|
| diff --git a/components/autofill/core/browser/personal_data_manager_unittest.cc b/components/autofill/core/browser/personal_data_manager_unittest.cc
|
| index 6757d505afc8ee02fb75ffa66c1433fd6aa5e61b..ca0a324535c12252dd8fc6a1a3c1dda49de4fc01 100644
|
| --- a/components/autofill/core/browser/personal_data_manager_unittest.cc
|
| +++ b/components/autofill/core/browser/personal_data_manager_unittest.cc
|
| @@ -17,8 +17,11 @@
|
| #include "components/autofill/core/browser/form_structure.h"
|
| #include "components/autofill/core/browser/personal_data_manager.h"
|
| #include "components/autofill/core/browser/personal_data_manager_observer.h"
|
| +#include "components/autofill/core/browser/webdata/autofill_table.h"
|
| #include "components/autofill/core/browser/webdata/autofill_webdata_service.h"
|
| #include "components/autofill/core/common/form_data.h"
|
| +#include "components/webdata/common/web_data_service_base.h"
|
| +#include "components/webdata/common/web_database_service.h"
|
| #include "components/webdata/encryptor/encryptor.h"
|
| #include "content/public/test/test_browser_thread.h"
|
| #include "testing/gmock/include/gmock/gmock.h"
|
| @@ -63,6 +66,22 @@ class PersonalDataManagerTest : public testing::Test {
|
| virtual void SetUp() {
|
| db_thread_.Start();
|
|
|
| + ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
|
| + base::FilePath path = temp_dir_.path().AppendASCII("TestWebDB");
|
| + web_database_ = new WebDatabaseService(
|
| + path,
|
| + BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI),
|
| + BrowserThread::GetMessageLoopProxyForThread(BrowserThread::DB));
|
| + web_database_->AddTable(
|
| + scoped_ptr<WebDatabaseTable>(new AutofillTable("en-US")));
|
| + web_database_->LoadDatabase();
|
| + autofill_database_service_ = new AutofillWebDataService(
|
| + web_database_,
|
| + BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI),
|
| + BrowserThread::GetMessageLoopProxyForThread(BrowserThread::DB),
|
| + WebDataServiceBase::ProfileErrorCallback());
|
| + autofill_database_service_->Init();
|
| +
|
| profile_.reset(new TestingProfile);
|
| profile_->CreateWebDataService();
|
|
|
| @@ -75,6 +94,11 @@ class PersonalDataManagerTest : public testing::Test {
|
| personal_data_.reset(NULL);
|
| profile_.reset(NULL);
|
|
|
| + autofill_database_service_->ShutdownOnUIThread();
|
| + web_database_->ShutdownDatabase();
|
| + autofill_database_service_ = NULL;
|
| + web_database_ = NULL;
|
| +
|
| // Schedule another task on the DB thread to notify us that it's safe to
|
| // stop the thread.
|
| base::WaitableEvent done(false, false);
|
| @@ -89,9 +113,10 @@ class PersonalDataManagerTest : public testing::Test {
|
|
|
| void ResetPersonalDataManager() {
|
| personal_data_.reset(new PersonalDataManager("en-US"));
|
| - personal_data_->Init(profile_.get(),
|
| - profile_->GetPrefs(),
|
| - profile_->IsOffTheRecord());
|
| + personal_data_->Init(
|
| + scoped_refptr<AutofillWebDataService>(autofill_database_service_),
|
| + profile_->GetPrefs(),
|
| + profile_->IsOffTheRecord());
|
| personal_data_->AddObserver(&personal_data_observer_);
|
|
|
| // Verify that the web database has been updated and the notification sent.
|
| @@ -110,6 +135,9 @@ class PersonalDataManagerTest : public testing::Test {
|
| content::TestBrowserThread ui_thread_;
|
| content::TestBrowserThread db_thread_;
|
| scoped_ptr<TestingProfile> profile_;
|
| + scoped_refptr<AutofillWebDataService> autofill_database_service_;
|
| + scoped_refptr<WebDatabaseService> web_database_;
|
| + base::ScopedTempDir temp_dir_;
|
| scoped_ptr<PersonalDataManager> personal_data_;
|
| PersonalDataLoadedObserverMock personal_data_observer_;
|
| };
|
| @@ -535,10 +563,7 @@ TEST_F(PersonalDataManagerTest, Refresh) {
|
| profile_pointers.push_back(&profile2);
|
| AutofillProfile::AdjustInferredLabels(&profile_pointers);
|
|
|
| - scoped_refptr<AutofillWebDataService> wds =
|
| - AutofillWebDataService::FromBrowserContext(profile_.get());
|
| - ASSERT_TRUE(wds.get());
|
| - wds->AddAutofillProfile(profile2);
|
| + autofill_database_service_->AddAutofillProfile(profile2);
|
|
|
| personal_data_->Refresh();
|
|
|
| @@ -553,8 +578,8 @@ TEST_F(PersonalDataManagerTest, Refresh) {
|
| EXPECT_EQ(profile1, *results2[1]);
|
| EXPECT_EQ(profile2, *results2[2]);
|
|
|
| - wds->RemoveAutofillProfile(profile1.guid());
|
| - wds->RemoveAutofillProfile(profile2.guid());
|
| + autofill_database_service_->RemoveAutofillProfile(profile1.guid());
|
| + autofill_database_service_->RemoveAutofillProfile(profile2.guid());
|
|
|
| // Before telling the PDM to refresh, simulate an edit to one of the deleted
|
| // profiles via a SetProfile update (this would happen if the Autofill window
|
|
|