Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(694)

Unified Diff: chrome/browser/sync/profile_sync_service_autofill_unittest.cc

Issue 14081043: Hook up Autofill Backend interface to SyncableServices (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 e89d06ec480384be3ab7695c3aefe2f1d28668a7..ca7764d04869509dfc0377e9eee5e7268b83c2cb 100644
--- a/chrome/browser/sync/profile_sync_service_autofill_unittest.cc
+++ b/chrome/browser/sync/profile_sync_service_autofill_unittest.cc
@@ -40,9 +40,11 @@
#include "chrome/browser/webdata/web_data_service_factory.h"
#include "components/autofill/browser/autofill_common_test.h"
#include "components/autofill/browser/personal_data_manager.h"
+#include "components/autofill/browser/webdata/autofill_backend_delegate.h"
#include "components/autofill/browser/webdata/autofill_change.h"
#include "components/autofill/browser/webdata/autofill_entry.h"
#include "components/autofill/browser/webdata/autofill_table.h"
+#include "components/autofill/browser/webdata/autofill_webdata_backend.h"
#include "components/autofill/browser/webdata/autofill_webdata_service.h"
#include "components/webdata/common/web_data_service_test_util.h"
#include "components/webdata/common/web_database.h"
@@ -142,6 +144,11 @@ class WebDatabaseFake : public WebDatabase {
explicit WebDatabaseFake(AutofillTable* autofill_table) {
AddTable(autofill_table);
}
+
+ void DetachFromThread() {
+ weak_ptr_factory_.DetachFromThread();
+ }
+
};
class ProfileSyncServiceAutofillTest;
@@ -226,7 +233,7 @@ class WebDataServiceFake : public AutofillWebDataService {
return true;
}
- virtual WebDatabase* GetDatabase() OVERRIDE {
+ WebDatabase* GetDatabase() {
return web_database_;
}
@@ -266,8 +273,12 @@ class WebDataServiceFake : public AutofillWebDataService {
void CreateSyncableService() {
ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::DB));
// These services are deleted in DestroySyncableService().
- AutocompleteSyncableService::CreateForWebDataService(this);
- AutofillProfileSyncableService::CreateForWebDataService(this, "en-US");
+ delegate_.reset(new autofill::AutofillBackendDelegate(
+ GetDatabase()->AsWeakPtr(),
+ base::WeakPtr<autofill::AutofillWebDataBackend>()));
+ AutocompleteSyncableService::CreateForWebDataService(this, delegate_.get());
+ AutofillProfileSyncableService::CreateForWebDataService(
+ this, delegate_.get(), "en-US");
autocomplete_syncable_service_ =
AutocompleteSyncableService::FromWebDataService(this);
@@ -282,13 +293,14 @@ class WebDataServiceFake : public AutofillWebDataService {
AutofillWebDataService::ShutdownOnDBThread();
autocomplete_syncable_service_ = NULL;
autofill_profile_syncable_service_ = NULL;
+ delegate_.reset();
syncable_service_created_or_destroyed_.Signal();
}
WebDatabase* web_database_;
AutocompleteSyncableService* autocomplete_syncable_service_;
AutofillProfileSyncableService* autofill_profile_syncable_service_;
-
+ scoped_ptr<autofill::AutofillBackendDelegate> delegate_;
WaitableEvent syncable_service_created_or_destroyed_;
DISALLOW_COPY_AND_ASSIGN(WebDataServiceFake);
@@ -502,6 +514,7 @@ class ProfileSyncServiceAutofillTest
profile_.get(), NULL);
web_data_service_->ShutdownSyncableService();
web_data_service_ = NULL;
+ web_database_->DetachFromThread();
profile_->ResetRequestContext();
// To prevent a leak, fully release TestURLRequestContext to ensure its
// destruction on the IO message loop.

Powered by Google App Engine
This is Rietveld 408576698