5#ifndef INCLUDE_V8_MICROTASKS_QUEUE_H_
6#define INCLUDE_V8_MICROTASKS_QUEUE_H_
45 static std::unique_ptr<MicrotaskQueue>
New(
59 void* data =
nullptr) = 0;
79 virtual
void AddMicrotasksCompletedCallback(
85 virtual
void RemoveMicrotasksCompletedCallback(
91 virtual
void PerformCheckpoint(
Isolate* isolate) = 0;
96 virtual
bool IsRunningMicrotasks() const = 0;
102 virtual
int GetMicrotasksScopeDepth() const = 0;
123 enum Type { kRunMicrotasks, kDoNotRunMicrotasks };
149 internal::Isolate*
const i_isolate_;
150 internal::MicrotaskQueue*
const microtask_queue_;
Definition: v8-isolate.h:291
Definition: v8-local-handle.h:366
Definition: v8-microtask-queue.h:40
virtual void EnqueueMicrotask(Isolate *isolate, Local< Function > microtask)=0
static std::unique_ptr< MicrotaskQueue > New(Isolate *isolate, MicrotasksPolicy policy=MicrotasksPolicy::kAuto)
virtual ~MicrotaskQueue()=default
Definition: v8-microtask-queue.h:121
MicrotasksScope & operator=(const MicrotasksScope &)=delete
static void PerformCheckpoint(Isolate *isolate)
MicrotasksScope(Isolate *isolate, MicrotaskQueue *microtask_queue, Type type)
MicrotasksScope(Local< Context > context, Type type)
MicrotasksScope(const MicrotasksScope &)=delete
Type
Definition: v8-microtask-queue.h:123
static int GetCurrentDepth(Isolate *isolate)
static bool IsRunningMicrotasks(Isolate *isolate)
Definition: libplatform.h:15
void(*)(void *data) MicrotaskCallback
Definition: v8-microtask.h:17
MicrotasksPolicy
Definition: v8-microtask.h:28
void(*)(Isolate *, void *) MicrotasksCompletedCallbackWithData
Definition: v8-microtask.h:16
void(*)(Local< Data > data) MicrotaskCallbackWithData
Definition: v8-microtask.h:18
#define V8_EXPORT
Definition: v8config.h:867
#define V8_DEPRECATE_SOON(message)
Definition: v8config.h:624
#define V8_NODISCARD
Definition: v8config.h:703