Index: chrome/browser/sync/glue/autofill_data_type_controller_unittest.cc |
diff --git a/chrome/browser/sync/glue/autofill_data_type_controller_unittest.cc b/chrome/browser/sync/glue/autofill_data_type_controller_unittest.cc |
index 6d724a79b2969d8f1a0674756a4f2e995958c2a7..5e32adc1b734020f48fad7b58d35a96520e72ef9 100644 |
--- a/chrome/browser/sync/glue/autofill_data_type_controller_unittest.cc |
+++ b/chrome/browser/sync/glue/autofill_data_type_controller_unittest.cc |
@@ -19,6 +19,7 @@ |
#include "chrome/browser/webdata/web_data_service_factory.h" |
#include "chrome/common/chrome_notification_types.h" |
#include "chrome/test/base/profile_mock.h" |
+#include "components/autofill/browser/webdata/autofill_backend_delegate.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_observer.h" |
@@ -88,6 +89,11 @@ class FakeWebDataService : public AutofillWebDataService { |
observer_ = NULL; |
} |
+ virtual void ShutdownOnDBThread() OVERRIDE { |
+ AutofillWebDataService::ShutdownOnDBThread(); |
+ delegate_.reset(); |
+ } |
+ |
void StartSyncableService() { |
// The |autofill_profile_syncable_service_| must be constructed on the DB |
// thread. |
@@ -121,11 +127,15 @@ class FakeWebDataService : public AutofillWebDataService { |
void CreateSyncableService() { |
ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::DB)); |
// These services are deleted in DestroySyncableService(). |
- AutocompleteSyncableService::CreateForWebDataService(this); |
+ delegate_.reset(new autofill::AutofillBackendDelegate( |
+ base::WeakPtr<WebDatabase>(), |
+ base::WeakPtr<autofill::AutofillWebDataBackend>())); |
+ AutocompleteSyncableService::CreateForWebDataService(this, delegate_.get()); |
} |
bool is_database_loaded_; |
+ scoped_ptr<autofill::AutofillBackendDelegate> delegate_; |
WebDatabaseObserver* observer_; |
DISALLOW_COPY_AND_ASSIGN(FakeWebDataService); |