blob: 1d6270f31737317f6efe75c0fd0d860d2d041e32 [file] [log] [blame]
// Copyright 2017 The Chromium Authors
// 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/task/lazy_thread_pool_task_runner.h"
#include "base/task/single_thread_task_runner.h"
#include "base/task/single_thread_task_runner_thread_mode.h"
#include "extensions/buildflags/buildflags.h"
static_assert(BUILDFLAG(ENABLE_EXTENSIONS_CORE));
namespace extensions {
namespace {
base::SingleThreadTaskRunner* g_task_runner_for_testing = nullptr;
base::LazyThreadPoolSingleThreadTaskRunner g_task_runner =
LAZY_THREAD_POOL_SINGLE_THREAD_TASK_RUNNER_INITIALIZER(
base::TaskTraits(base::MayBlock(), base::TaskPriority::BEST_EFFORT),
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