5#ifndef INCLUDE_V8_MICROTASKS_QUEUE_H_
6#define INCLUDE_V8_MICROTASKS_QUEUE_H_
26
27
28
29
30
31
32
33
34
35
36
37
38
39
43
44
51
52
57
58
60 MicrotaskCallback callback,
61 void* data =
nullptr) = 0;
64
65
66
67
68
69
70
71
72
73
74
76 MicrotasksCompletedCallbackWithData callback,
void* data =
nullptr) = 0;
79
80
82 MicrotasksCompletedCallbackWithData callback,
void* data =
nullptr) = 0;
85
86
90
91
95
96
97
105 MicrotaskQueue() =
default;
109
110
111
112
113
114
115
116
126
127
131
132
136
137
145 internal::Isolate*
const i_isolate_;
146 internal::MicrotaskQueue*
const microtask_queue_;
virtual void RemoveMicrotasksCompletedCallback(MicrotasksCompletedCallbackWithData callback, void *data=nullptr)=0
virtual void AddMicrotasksCompletedCallback(MicrotasksCompletedCallbackWithData callback, void *data=nullptr)=0
virtual bool IsRunningMicrotasks() const =0
virtual void PerformCheckpoint(Isolate *isolate)=0
virtual ~MicrotaskQueue()=default
MicrotaskQueue & operator=(const MicrotaskQueue &)=delete
virtual int GetMicrotasksScopeDepth() const =0
static std::unique_ptr< MicrotaskQueue > New(Isolate *isolate, MicrotasksPolicy policy=MicrotasksPolicy::kAuto)
virtual void EnqueueMicrotask(Isolate *isolate, Local< Function > microtask)=0
virtual void EnqueueMicrotask(v8::Isolate *isolate, MicrotaskCallback callback, void *data=nullptr)=0
MicrotaskQueue(const MicrotaskQueue &)=delete
MicrotasksScope & operator=(const MicrotasksScope &)=delete
MicrotasksScope(Isolate *isolate, MicrotaskQueue *microtask_queue, Type type)
MicrotasksScope(Local< Context > context, Type type)
static bool IsRunningMicrotasks(Isolate *isolate)
MicrotasksScope(const MicrotasksScope &)=delete
static void PerformCheckpoint(Isolate *isolate)
static int GetCurrentDepth(Isolate *isolate)