This directory contains the Blink Scheduler, which coordinates task execution in renderer processes. The main subdirectories are:
public-- contains the interfaces which scheduler exposes to the other parts of Blink (
WorkerSchedulerand others). Other code in Blink should not depend on files outside of this directory.
ThreadSchedulerImplwhich is the base class for all thread schedulers, as well as other functionality which is required for both main thread and worker threads.
main_thread-- contains implementation of the main thread scheduler (
MainThreadSchedulerImpl) and main thread scheduling policies.
worker-- contains implementation of scheduling infrastructure for the non-main threads (compositor thread, worker threads).
The scheduler exposes an API to the content layer at