#include "third_party/blink/renderer/platform/scheduler/common/thread_scheduler_base.h"
#include "base/trace_event/trace_event.h"
#include "third_party/blink/renderer/platform/scheduler/common/auto_advancing_virtual_time_domain.h"
namespace blink {
namespace scheduler {
void ThreadSchedulerBase::ExecuteAfterCurrentTask(
base::OnceClosure on_completion_task) { … }
void ThreadSchedulerBase::Shutdown() { … }
base::TimeTicks ThreadSchedulerBase::EnableVirtualTime(
base::Time initial_time) { … }
void ThreadSchedulerBase::DisableVirtualTimeForTesting() { … }
bool ThreadSchedulerBase::VirtualTimeAllowedToAdvance() const { … }
void ThreadSchedulerBase::GrantVirtualTimeBudget(
base::TimeDelta budget,
base::OnceClosure budget_exhausted_callback) { … }
void ThreadSchedulerBase::SetVirtualTimePolicy(VirtualTimePolicy policy) { … }
void ThreadSchedulerBase::SetMaxVirtualTimeTaskStarvationCount(
int max_task_starvation_count) { … }
WebScopedVirtualTimePauser
ThreadSchedulerBase::CreateWebScopedVirtualTimePauser(
const WTF::String& name,
WebScopedVirtualTimePauser::VirtualTaskDuration duration) { … }
bool ThreadSchedulerBase::IsVirtualTimeEnabled() const { … }
base::TimeTicks ThreadSchedulerBase::IncrementVirtualTimePauseCount() { … }
void ThreadSchedulerBase::DecrementVirtualTimePauseCount() { … }
void ThreadSchedulerBase::MaybeAdvanceVirtualTime(
base::TimeTicks new_virtual_time) { … }
AutoAdvancingVirtualTimeDomain* ThreadSchedulerBase::GetVirtualTimeDomain() { … }
ThreadSchedulerBase::ThreadSchedulerBase() = default;
ThreadSchedulerBase::~ThreadSchedulerBase() = default;
void ThreadSchedulerBase::DispatchOnTaskCompletionCallbacks() { … }
namespace {
const char* VirtualTimePolicyToString(
VirtualTimeController::VirtualTimePolicy virtual_time_policy) { … }
}
void ThreadSchedulerBase::WriteVirtualTimeInfoIntoTrace(
perfetto::TracedDictionary& dict) const { … }
void ThreadSchedulerBase::SetVirtualTimeStopped(bool virtual_time_stopped) { … }
void ThreadSchedulerBase::ApplyVirtualTimePolicy() { … }
void ThreadSchedulerBase::OnBeginNestedRunLoop() { … }
void ThreadSchedulerBase::OnExitNestedRunLoop() { … }
}
}