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

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

Issue 416543006: Revert 284958 "Make HistoryDBTask not refcounted, and ensure it'..." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 6 years, 5 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: trunk/src/chrome/browser/sync/profile_sync_service_typed_url_unittest.cc
===================================================================
--- trunk/src/chrome/browser/sync/profile_sync_service_typed_url_unittest.cc (revision 285001)
+++ trunk/src/chrome/browser/sync/profile_sync_service_typed_url_unittest.cc (working copy)
@@ -111,45 +111,19 @@
class HistoryServiceMock : public HistoryService {
public:
- HistoryServiceMock(history::HistoryClient* client, Profile* profile)
- : HistoryService(client, profile), backend_(NULL) {}
-
- virtual void ScheduleDBTask(scoped_ptr<history::HistoryDBTask> task,
- base::CancelableTaskTracker* tracker) OVERRIDE {
- history::HistoryDBTask* task_raw = task.get();
- task_runner_->PostTaskAndReply(
- FROM_HERE,
- base::Bind(&HistoryServiceMock::RunTaskOnDBThread,
- base::Unretained(this), task_raw),
- base::Bind(&base::DeletePointer<history::HistoryDBTask>,
- task.release()));
- }
-
+ explicit HistoryServiceMock(history::HistoryClient* client, Profile* profile)
+ : HistoryService(client, profile) {}
+ MOCK_METHOD2(ScheduleDBTask,
+ void(scoped_refptr<history::HistoryDBTask>,
+ base::CancelableTaskTracker*));
MOCK_METHOD0(Shutdown, void());
void ShutdownBaseService() {
HistoryService::Shutdown();
}
- void set_task_runner(
- scoped_refptr<base::SingleThreadTaskRunner> task_runner) {
- DCHECK(task_runner);
- task_runner_ = task_runner;
- }
-
- void set_backend(scoped_refptr<history::HistoryBackend> backend) {
- backend_ = backend;
- }
-
private:
virtual ~HistoryServiceMock() {}
-
- void RunTaskOnDBThread(history::HistoryDBTask* task) {
- EXPECT_TRUE(task->RunOnDBThread(backend_, NULL));
- }
-
- scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
- scoped_refptr<history::HistoryBackend> backend_;
};
KeyedService* BuildFakeProfileInvalidationProvider(
@@ -177,6 +151,17 @@
virtual void ClearErrorStats() OVERRIDE {}
};
+void RunOnDBThreadCallback(HistoryBackend* backend,
+ scoped_refptr<history::HistoryDBTask> task) {
+ task->RunOnDBThread(backend, NULL);
+}
+
+ACTION_P2(RunTaskOnDBThread, thread, backend) {
+ thread->message_loop()->PostTask(
+ FROM_HERE,
+ base::Bind(&RunOnDBThreadCallback, base::Unretained(backend), arg0));
+}
+
ACTION_P2(ShutdownHistoryService, thread, service) {
service->ShutdownBaseService();
delete thread;
@@ -236,13 +221,14 @@
testing_factories);
invalidation::ProfileInvalidationProviderFactory::GetInstance()->
SetTestingFactory(profile_, BuildFakeProfileInvalidationProvider);
- history_thread_->Start();
history_backend_ = new HistoryBackendMock();
history_service_ = static_cast<HistoryServiceMock*>(
HistoryServiceFactory::GetInstance()->SetTestingFactoryAndUse(
profile_, BuildHistoryService));
- history_service_->set_task_runner(history_thread_->task_runner());
- history_service_->set_backend(history_backend_);
+ EXPECT_CALL((*history_service_), ScheduleDBTask(_, _))
+ .WillRepeatedly(RunTaskOnDBThread(history_thread_.get(),
+ history_backend_.get()));
+ history_thread_->Start();
}
virtual void TearDown() {

Powered by Google App Engine
This is Rietveld 408576698