31 int thread_pool_size = 0,
33 std::unique_ptr<v8::TracingController> tracing_controller = {},
41 void EnsureBackgroundTaskRunnerInitialized();
49 void SetTracingController(
50 std::unique_ptr<v8::TracingController> tracing_controller);
54 void SetTimeFunctionForTesting(
TimeFunction time_function);
57 int NumberOfWorkerThreads()
override;
58 std::shared_ptr<TaskRunner> GetForegroundTaskRunner(
61 std::unique_ptr<Task> task,
63 void PostDelayedTaskOnWorkerThreadImpl(
66 bool IdleTasksEnabled(
Isolate* isolate)
override;
67 std::unique_ptr<JobHandle> CreateJobImpl(
70 double MonotonicallyIncreasingTime()
override;
71 double CurrentClockTimeMillis()
override;
73 StackTracePrinter GetStackTracePrinter()
override;
81 if (priority_mode_ == PriorityMode::kDontApply) {
82 return base::Thread::Priority::kDefault;
85 case TaskPriority::kUserBlocking:
86 return base::Thread::Priority::kUserBlocking;
87 case TaskPriority::kUserVisible:
88 return base::Thread::Priority::kUserVisible;
89 case TaskPriority::kBestEffort:
90 return base::Thread::Priority::kBestEffort;
95 if (priority_mode_ == PriorityMode::kDontApply) {
102 return priority_to_index(TaskPriority::kMaxPriority) + 1;
108 std::shared_ptr<DefaultWorkerThreadsTaskRunner> worker_threads_task_runners_
109 [
static_cast<int>(TaskPriority::kMaxPriority) + 1] = {0};
110 std::map<v8::Isolate*, std::shared_ptr<DefaultForegroundTaskRunner>>