| Index: components/task_scheduler_util/browser/initialization.cc
|
| diff --git a/components/task_scheduler_util/browser/initialization.cc b/components/task_scheduler_util/browser/initialization.cc
|
| index 29223f5656d05809faccbcc5dbf8ba745671bcf0..4b806370b8a28f93006740ce55687bebec4f09ce 100644
|
| --- a/components/task_scheduler_util/browser/initialization.cc
|
| +++ b/components/task_scheduler_util/browser/initialization.cc
|
| @@ -8,11 +8,8 @@
|
| #include <string>
|
|
|
| #include "base/command_line.h"
|
| -#include "base/logging.h"
|
| #include "base/task_scheduler/scheduler_worker_params.h"
|
| #include "base/task_scheduler/switches.h"
|
| -#include "base/task_scheduler/task_traits.h"
|
| -#include "base/threading/platform_thread.h"
|
| #include "base/threading/sequenced_worker_pool.h"
|
| #include "components/task_scheduler_util/common/variations_util.h"
|
| #include "components/variations/variations_associated_data.h"
|
| @@ -33,33 +30,27 @@ enum WorkerPoolType : size_t {
|
|
|
| } // namespace
|
|
|
| -std::vector<base::SchedulerWorkerPoolParams>
|
| -GetBrowserWorkerPoolParamsFromVariations() {
|
| - using ThreadPriority = base::ThreadPriority;
|
| -
|
| +std::unique_ptr<base::TaskScheduler::InitParams>
|
| +GetBrowserTaskSchedulerInitParamsFromVariations() {
|
| std::map<std::string, std::string> variation_params;
|
| if (!::variations::GetVariationParams(kFieldTrialName, &variation_params))
|
| - return std::vector<base::SchedulerWorkerPoolParams>();
|
| + return nullptr;
|
|
|
| - std::vector<SchedulerImmutableWorkerPoolParams> immutable_worker_pool_params;
|
| - DCHECK_EQ(BACKGROUND, immutable_worker_pool_params.size());
|
| - immutable_worker_pool_params.emplace_back("Background",
|
| - ThreadPriority::BACKGROUND);
|
| - DCHECK_EQ(BACKGROUND_BLOCKING, immutable_worker_pool_params.size());
|
| - immutable_worker_pool_params.emplace_back("BackgroundBlocking",
|
| - ThreadPriority::BACKGROUND);
|
| - DCHECK_EQ(FOREGROUND, immutable_worker_pool_params.size());
|
| - immutable_worker_pool_params.emplace_back("Foreground",
|
| - ThreadPriority::NORMAL);
|
| - // Tasks posted to SequencedWorkerPool or BrowserThreadImpl may be redirected
|
| - // to this pool. Since COM STA is initialized in these environments, it must
|
| - // also be initialized in this pool.
|
| - DCHECK_EQ(FOREGROUND_BLOCKING, immutable_worker_pool_params.size());
|
| - immutable_worker_pool_params.emplace_back(
|
| - "ForegroundBlocking", ThreadPriority::NORMAL,
|
| - base::SchedulerBackwardCompatibility::INIT_COM_STA);
|
| + return GetTaskSchedulerInitParams(
|
| + "", variation_params, base::SchedulerBackwardCompatibility::INIT_COM_STA);
|
| +}
|
| +
|
| +std::vector<base::SchedulerWorkerPoolParams>
|
| +GetBrowserWorkerPoolParamsFromVariations() {
|
| + const auto init_params = GetBrowserTaskSchedulerInitParamsFromVariations();
|
| + if (!init_params)
|
| + return std::vector<base::SchedulerWorkerPoolParams>();
|
|
|
| - return GetWorkerPoolParams(immutable_worker_pool_params, variation_params);
|
| + return std::vector<base::SchedulerWorkerPoolParams>{
|
| + init_params->background_worker_pool_params,
|
| + init_params->background_blocking_worker_pool_params,
|
| + init_params->foreground_worker_pool_params,
|
| + init_params->foreground_blocking_worker_pool_params};
|
| }
|
|
|
| size_t BrowserWorkerPoolIndexForTraits(const base::TaskTraits& traits) {
|
|
|