5#ifndef INCLUDE_V8_MICROTASKS_QUEUE_H_
6#define INCLUDE_V8_MICROTASKS_QUEUE_H_
45 static std::unique_ptr<MicrotaskQueue>
New(
61 void* data =
nullptr) = 0;
104 friend class internal::MicrotaskQueue;
119 enum Type { kRunMicrotasks, kDoNotRunMicrotasks };
122 "May be incorrect if context was created with non-default microtask "
133 static
void PerformCheckpoint(
Isolate* isolate);
143 static
bool IsRunningMicrotasks(
Isolate* isolate);
150 internal::
Isolate* const i_isolate_;
Definition: v8-context.h:48
Definition: v8-isolate.h:210
Definition: v8-local-handle.h:258
Definition: v8-microtask-queue.h:40
virtual bool IsRunningMicrotasks() const =0
virtual void EnqueueMicrotask(Isolate *isolate, Local< Function > microtask)=0
virtual void AddMicrotasksCompletedCallback(MicrotasksCompletedCallbackWithData callback, void *data=nullptr)=0
virtual void RemoveMicrotasksCompletedCallback(MicrotasksCompletedCallbackWithData callback, void *data=nullptr)=0
virtual void PerformCheckpoint(Isolate *isolate)=0
virtual int GetMicrotasksScopeDepth() const =0
static std::unique_ptr< MicrotaskQueue > New(Isolate *isolate, MicrotasksPolicy policy=MicrotasksPolicy::kAuto)
MicrotaskQueue(const MicrotaskQueue &)=delete
virtual void EnqueueMicrotask(v8::Isolate *isolate, MicrotaskCallback callback, void *data=nullptr)=0
MicrotaskQueue & operator=(const MicrotaskQueue &)=delete
virtual ~MicrotaskQueue()=default
Definition: v8-microtask-queue.h:117
Type
Definition: v8-microtask-queue.h:119
Definition: libplatform.h:15
void(*)(void *data) MicrotaskCallback
Definition: v8-microtask.h:14
MicrotasksPolicy
Definition: v8-microtask.h:24
void(*)(Isolate *, void *) MicrotasksCompletedCallbackWithData
Definition: v8-microtask.h:13
#define V8_EXPORT
Definition: v8config.h:762
#define V8_DEPRECATED(message)
Definition: v8config.h:572
#define V8_NODISCARD
Definition: v8config.h:659