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

Unified Diff: chrome/browser/sync/glue/autofill_data_type_controller_unittest.cc

Issue 12494020: Remove knowledge of Chrome-specific SyncableService classes from WebDataService. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add DCHECK. Created 7 years, 9 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/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 4a1e28cae1b5a20a3daffe747c242b4852071410..f4c3a74d4715e5222cf665858b889b0a6ec6764b 100644
--- a/chrome/browser/sync/glue/autofill_data_type_controller_unittest.cc
+++ b/chrome/browser/sync/glue/autofill_data_type_controller_unittest.cc
@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "base/bind.h"
#include "base/callback.h"
#include "base/compiler_specific.h"
#include "base/memory/ref_counted.h"
@@ -61,12 +62,13 @@ class FakeWebDataService : public WebDataService {
}
virtual void ShutdownOnUIThread() OVERRIDE {
- ShutdownSyncableService();
- }
-
- virtual AutocompleteSyncableService*
- GetAutocompleteSyncableService() const OVERRIDE {
- return autocomplete_syncable_service_;
+ // The storage for syncable services must be destructed on the DB
+ // thread.
+ base::RunLoop run_loop;
+ BrowserThread::PostTaskAndReply(BrowserThread::DB, FROM_HERE,
+ base::Bind(&FakeWebDataService::ShutdownOnDBThread,
+ base::Unretained(this)), run_loop.QuitClosure());
+ run_loop.Run();
}
void StartSyncableService() {
@@ -80,18 +82,12 @@ class FakeWebDataService : public WebDataService {
}
void ShutdownSyncableService() {
- // The |autofill_profile_syncable_service_| must be destructed on the DB
- // thread.
- base::RunLoop run_loop;
- BrowserThread::PostTaskAndReply(BrowserThread::DB, FROM_HERE,
- base::Bind(&FakeWebDataService::DestroySyncableService,
- base::Unretained(this)), run_loop.QuitClosure());
- run_loop.Run();
}
void GetAutofillCullingValue(bool* result) {
ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::DB));
- *result = autocomplete_syncable_service_->cull_expired_entries();
+ *result = AutocompleteSyncableService::FromWebDataService(
+ this)->cull_expired_entries();
}
bool CheckAutofillCullingValue() {
@@ -106,25 +102,15 @@ class FakeWebDataService : public WebDataService {
private:
virtual ~FakeWebDataService() {
- DCHECK(!autocomplete_syncable_service_);
+ DCHECK(!AutocompleteSyncableService::FromWebDataService(this));
}
void CreateSyncableService() {
ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::DB));
// These services are deleted in DestroySyncableService().
- autocomplete_syncable_service_ = new AutocompleteSyncableService(this);
+ AutocompleteSyncableService::CreateForWebDataService(this);
}
- void DestroySyncableService() {
- ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::DB));
- delete autocomplete_syncable_service_;
- autocomplete_syncable_service_ = NULL;
- }
-
- // We own the syncable services, but don't use a |scoped_ptr| because the
- // lifetime must be managed on the DB thread.
- AutocompleteSyncableService* autocomplete_syncable_service_;
-
bool is_database_loaded_;
DISALLOW_COPY_AND_ASSIGN(FakeWebDataService);

Powered by Google App Engine
This is Rietveld 408576698