| Index: components/history/core/browser/history_service.cc
|
| diff --git a/components/history/core/browser/history_service.cc b/components/history/core/browser/history_service.cc
|
| index b154b3237e19b1373d1c0ba522aefc8229a51861..bb3339dcd5bcb3babf9b512bf1991d64ce30be90 100644
|
| --- a/components/history/core/browser/history_service.cc
|
| +++ b/components/history/core/browser/history_service.cc
|
| @@ -318,6 +318,13 @@ base::CancelableTaskTracker::TaskId HistoryService::ScheduleDBTask(
|
| return task_id;
|
| }
|
|
|
| +bool HistoryService::InitForTest(
|
| + const HistoryDatabaseParams& history_database_params,
|
| + scoped_refptr<base::SequencedTaskRunner> task_runner) {
|
| + return InitWithTaskRunner(/*no_db=*/false, history_database_params,
|
| + task_runner);
|
| +}
|
| +
|
| void HistoryService::FlushForTest(const base::Closure& flushed) {
|
| backend_task_runner_->PostTaskAndReply(FROM_HERE,
|
| base::Bind(&base::DoNothing), flushed);
|
| @@ -870,8 +877,6 @@ bool HistoryService::Init(
|
| const HistoryDatabaseParams& history_database_params) {
|
| TRACE_EVENT0("browser,startup", "HistoryService::Init")
|
| SCOPED_UMA_HISTOGRAM_TIMER("History.HistoryServiceInitTime");
|
| - DCHECK(thread_checker_.CalledOnValidThread());
|
| - DCHECK(!backend_task_runner_);
|
|
|
| if (thread_) {
|
| base::Thread::Options options;
|
| @@ -880,15 +885,29 @@ bool HistoryService::Init(
|
| Cleanup();
|
| return false;
|
| }
|
| - backend_task_runner_ = thread_->task_runner();
|
| + return InitWithTaskRunner(no_db, history_database_params,
|
| + thread_->task_runner());
|
| } else {
|
| - backend_task_runner_ = base::CreateSequencedTaskRunnerWithTraits(
|
| - base::TaskTraits()
|
| - .WithPriority(base::TaskPriority::USER_BLOCKING)
|
| - .WithShutdownBehavior(base::TaskShutdownBehavior::BLOCK_SHUTDOWN)
|
| - .MayBlock()
|
| - .WithBaseSyncPrimitives());
|
| + return InitWithTaskRunner(
|
| + no_db, history_database_params,
|
| + base::CreateSequencedTaskRunnerWithTraits(
|
| + base::TaskTraits()
|
| + .WithPriority(base::TaskPriority::USER_BLOCKING)
|
| + .WithShutdownBehavior(
|
| + base::TaskShutdownBehavior::BLOCK_SHUTDOWN)
|
| + .MayBlock()
|
| + .WithBaseSyncPrimitives()));
|
| }
|
| +}
|
| +
|
| +bool HistoryService::InitWithTaskRunner(
|
| + bool no_db,
|
| + const HistoryDatabaseParams& history_database_params,
|
| + scoped_refptr<base::SequencedTaskRunner> task_runner) {
|
| + DCHECK(thread_checker_.CalledOnValidThread());
|
| + DCHECK(!backend_task_runner_);
|
| +
|
| + backend_task_runner_ = task_runner;
|
|
|
| // Create the history backend.
|
| scoped_refptr<HistoryBackend> backend(new HistoryBackend(
|
|
|