blob: cd5d6e51f09791289bb2d8849d6f58a7946968eb [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/extensions/activity_log/activity_log_task_runner.h"
#include "base/single_thread_task_runner.h"
#include "base/task_scheduler/lazy_task_runner.h"
#include "base/task_scheduler/single_thread_task_runner_thread_mode.h"
namespace extensions {
namespace {
base::SingleThreadTaskRunner* g_task_runner_for_testing = nullptr;
base::LazySingleThreadTaskRunner g_task_runner =
LAZY_SINGLE_THREAD_TASK_RUNNER_INITIALIZER(
base::TaskTraits({base::MayBlock(), base::TaskPriority::BACKGROUND}),
base::SingleThreadTaskRunnerThreadMode::SHARED);
} // namespace
const scoped_refptr<base::SingleThreadTaskRunner> GetActivityLogTaskRunner() {
if (g_task_runner_for_testing)
return g_task_runner_for_testing;
return g_task_runner.Get();
}
void SetActivityLogTaskRunnerForTesting(
base::SingleThreadTaskRunner* task_runner) {
g_task_runner_for_testing = task_runner;
}
} // namespace extensions