#include "third_party/blink/renderer/platform/scheduler/public/event_loop.h"
#include <utility>
#include "base/memory/ptr_util.h"
#include "base/trace_event/trace_event.h"
#include "third_party/blink/renderer/platform/bindings/script_forbidden_scope.h"
#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
#include "third_party/blink/renderer/platform/scheduler/public/frame_or_worker_scheduler.h"
#include "v8/include/v8.h"
namespace blink {
namespace scheduler {
EventLoop::EventLoop(EventLoop::Delegate* delegate,
v8::Isolate* isolate,
std::unique_ptr<v8::MicrotaskQueue> microtask_queue)
: … { … }
EventLoop::~EventLoop() { … }
void EventLoop::EnqueueMicrotask(base::OnceClosure task) { … }
void EventLoop::EnqueueEndOfMicrotaskCheckpointTask(base::OnceClosure task) { … }
void EventLoop::RunEndOfMicrotaskCheckpointTasks() { … }
void EventLoop::PerformMicrotaskCheckpoint() { … }
void EventLoop::PerformIsolateGlobalMicrotasksCheckpoint(v8::Isolate* isolate) { … }
void EventLoop::Disable() { … }
void EventLoop::Enable() { … }
void EventLoop::AttachScheduler(FrameOrWorkerScheduler* scheduler) { … }
void EventLoop::DetachScheduler(FrameOrWorkerScheduler* scheduler) { … }
bool EventLoop::IsSchedulerAttachedForTest(FrameOrWorkerScheduler* scheduler) { … }
void EventLoop::RunPendingMicrotask(void* data) { … }
void EventLoop::RunEndOfCheckpointTasks(v8::Isolate* isolate, void* data) { … }
}
}