#include "third_party/blink/renderer/platform/scheduler/common/simple_main_thread_scheduler.h"
#include "base/task/single_thread_task_runner.h"
#include "base/time/time.h"
#include "third_party/blink/public/platform/scheduler/web_agent_group_scheduler.h"
#include "third_party/blink/renderer/platform/wtf/functional.h"
namespace blink::scheduler {
SimpleMainThreadScheduler::SimpleMainThreadScheduler() = default;
SimpleMainThreadScheduler::~SimpleMainThreadScheduler() = default;
void SimpleMainThreadScheduler::Shutdown() { … }
bool SimpleMainThreadScheduler::ShouldYieldForHighPriorityWork() { … }
void SimpleMainThreadScheduler::PostIdleTask(const base::Location& location,
Thread::IdleTask task) { … }
void SimpleMainThreadScheduler::PostDelayedIdleTask(const base::Location&,
base::TimeDelta delay,
Thread::IdleTask) { … }
void SimpleMainThreadScheduler::PostNonNestableIdleTask(
const base::Location& location,
Thread::IdleTask task) { … }
void SimpleMainThreadScheduler::AddRAILModeObserver(
RAILModeObserver* observer) { … }
void SimpleMainThreadScheduler::RemoveRAILModeObserver(
RAILModeObserver const* observer) { … }
void SimpleMainThreadScheduler::ForEachMainThreadIsolate(
base::RepeatingCallback<void(v8::Isolate* isolate)> callback) { … }
scoped_refptr<base::SingleThreadTaskRunner>
SimpleMainThreadScheduler::V8TaskRunner() { … }
scoped_refptr<base::SingleThreadTaskRunner>
SimpleMainThreadScheduler::CleanupTaskRunner() { … }
scoped_refptr<base::SingleThreadTaskRunner>
SimpleMainThreadScheduler::NonWakingTaskRunner() { … }
AgentGroupScheduler* SimpleMainThreadScheduler::CreateAgentGroupScheduler() { … }
AgentGroupScheduler*
SimpleMainThreadScheduler::GetCurrentAgentGroupScheduler() { … }
base::TimeTicks
SimpleMainThreadScheduler::MonotonicallyIncreasingVirtualTime() { … }
void SimpleMainThreadScheduler::AddTaskObserver(
base::TaskObserver* task_observer) { … }
void SimpleMainThreadScheduler::RemoveTaskObserver(
base::TaskObserver* task_observer) { … }
MainThreadScheduler* SimpleMainThreadScheduler::ToMainThreadScheduler() { … }
std::unique_ptr<MainThreadScheduler::RendererPauseHandle>
SimpleMainThreadScheduler::PauseScheduler() { … }
void SimpleMainThreadScheduler::SetV8Isolate(v8::Isolate* isolate) { … }
v8::Isolate* SimpleMainThreadScheduler::Isolate() { … }
void SimpleMainThreadScheduler::ExecuteAfterCurrentTaskForTesting(
base::OnceClosure on_completion_task,
ExecuteAfterCurrentTaskRestricted) { … }
void SimpleMainThreadScheduler::StartIdlePeriodForTesting() { … }
void SimpleMainThreadScheduler::SetRendererBackgroundedForTesting(bool) { … }
}