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

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

Issue 285233012: Abstract history dependencies on bookmarks through HistoryClient (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments Created 6 years, 7 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_typed_url_unittest.cc
diff --git a/chrome/browser/sync/profile_sync_service_typed_url_unittest.cc b/chrome/browser/sync/profile_sync_service_typed_url_unittest.cc
index b94dbc9c66bb32eabdfbffde89b4f41c9ec00850..d8afa62d595075fdbaacb42a7adf85bbeadaf5ac 100644
--- a/chrome/browser/sync/profile_sync_service_typed_url_unittest.cc
+++ b/chrome/browser/sync/profile_sync_service_typed_url_unittest.cc
@@ -45,6 +45,7 @@
#include "chrome/test/base/testing_browser_process.h"
#include "chrome/test/base/testing_profile.h"
#include "chrome/test/base/testing_profile_manager.h"
+#include "components/history/core/browser/test_history_client.h"
#include "components/keyed_service/content/refcounted_browser_context_keyed_service.h"
#include "components/signin/core/browser/signin_manager.h"
#include "components/sync_driver/data_type_error_handler_mock.h"
@@ -105,21 +106,34 @@ class HistoryBackendMock : public HistoryBackend {
class HistoryServiceMock : public HistoryService {
public:
- explicit HistoryServiceMock(Profile* profile) : HistoryService(profile) {}
+ HistoryServiceMock(history::HistoryClient* client, Profile* profile)
+ : HistoryService(client, profile) {}
MOCK_METHOD2(ScheduleDBTask, void(history::HistoryDBTask*,
CancelableRequestConsumerBase*));
- MOCK_METHOD0(Shutdown, void());
+};
+
+class HistoryClientMock : public history::TestHistoryClient,
+ public KeyedService {
+ public:
+ explicit HistoryClientMock(Profile* profile) {
+ history_service_.reset(new HistoryServiceMock(this, profile));
+ }
- void ShutdownBaseService() {
- HistoryService::Shutdown();
+ HistoryServiceMock* history_service() {
+ return history_service_.get();
+ }
+
+ // KeyedService:
+ virtual void Shutdown() OVERRIDE {
+ history_service_->Cleanup();
}
private:
- virtual ~HistoryServiceMock() {}
+ scoped_ptr<HistoryServiceMock> history_service_;
};
KeyedService* BuildHistoryService(content::BrowserContext* profile) {
- return new HistoryServiceMock(static_cast<Profile*>(profile));
+ return new HistoryClientMock(static_cast<Profile*>(profile));
}
class TestTypedUrlModelAssociator : public TypedUrlModelAssociator {
@@ -150,11 +164,6 @@ ACTION_P2(RunTaskOnDBThread, thread, backend) {
task));
}
-ACTION_P2(ShutdownHistoryService, thread, service) {
- service->ShutdownBaseService();
- delete thread;
-}
-
ACTION_P6(MakeTypedUrlSyncComponents,
profile,
service,
@@ -210,9 +219,9 @@ class ProfileSyncServiceTypedUrlTest : public AbstractProfileSyncServiceTest {
invalidation::InvalidationServiceFactory::GetInstance()->SetTestingFactory(
profile_, invalidation::FakeInvalidationService::Build);
history_backend_ = new HistoryBackendMock();
- history_service_ = static_cast<HistoryServiceMock*>(
+ history_service_ = static_cast<HistoryClientMock*>(
HistoryServiceFactory::GetInstance()->SetTestingFactoryAndUse(
- profile_, BuildHistoryService));
+ profile_, BuildHistoryService))->history_service();
EXPECT_CALL((*history_service_), ScheduleDBTask(_, _))
.WillRepeatedly(RunTaskOnDBThread(history_thread_.get(),
history_backend_.get()));
@@ -220,9 +229,6 @@ class ProfileSyncServiceTypedUrlTest : public AbstractProfileSyncServiceTest {
}
virtual void TearDown() {
- EXPECT_CALL((*history_service_), Shutdown())
- .WillOnce(ShutdownHistoryService(history_thread_.release(),
- history_service_));
profile_ = NULL;
profile_manager_.DeleteTestingProfile(kTestProfileName);
AbstractProfileSyncServiceTest::TearDown();

Powered by Google App Engine
This is Rietveld 408576698