File tree Expand file tree Collapse file tree 2 files changed +9
-0
lines changed Expand file tree Collapse file tree 2 files changed +9
-0
lines changed Original file line number Diff line number Diff line change @@ -55,6 +55,7 @@ class Runtime {
55
55
void DefineNativeScriptVersion (v8::Isolate* isolate, v8::Local<v8::ObjectTemplate> globalTemplate);
56
56
void DefinePerformanceObject (v8::Isolate* isolate, v8::Local<v8::ObjectTemplate> globalTemplate);
57
57
void DefineTimeMethod (v8::Isolate* isolate, v8::Local<v8::ObjectTemplate> globalTemplate);
58
+ void DefineDrainMicrotaskMethod (v8::Isolate* isolate, v8::Local<v8::ObjectTemplate> globalTemplate);
58
59
static void PerformanceNowCallback (const v8::FunctionCallbackInfo<v8::Value>& args);
59
60
v8::Isolate* isolate_;
60
61
std::unique_ptr<ModuleInternal> moduleInternal_;
Original file line number Diff line number Diff line change 93
93
Worker::Init (isolate, globalTemplate, mainThreadInitialized_);
94
94
DefinePerformanceObject (isolate, globalTemplate);
95
95
DefineTimeMethod (isolate, globalTemplate);
96
+ DefineDrainMicrotaskMethod (isolate, globalTemplate);
96
97
ObjectManager::Init (isolate, globalTemplate);
97
98
// SetTimeout::Init(isolate, globalTemplate);
98
99
MetadataBuilder::RegisterConstantsOnGlobalObject (isolate, globalTemplate, mainThreadInitialized_);
230
231
globalTemplate->Set (ToV8String (isolate, " __time" ), timeFunctionTemplate);
231
232
}
232
233
234
+ void Runtime::DefineDrainMicrotaskMethod (v8::Isolate* isolate, v8::Local<v8::ObjectTemplate> globalTemplate) {
235
+ Local<FunctionTemplate> drainMicrotaskTemplate = FunctionTemplate::New (isolate, [](const FunctionCallbackInfo<Value>& info) {
236
+ info.GetIsolate ()->PerformMicrotaskCheckpoint ();
237
+ });
238
+ globalTemplate->Set (ToV8String (isolate, " __drainMicrotaskQueue" ), drainMicrotaskTemplate);
239
+ }
240
+
233
241
bool Runtime::IsAlive (Isolate* isolate) {
234
242
return std::find (Runtime::isolates_.begin (), Runtime::isolates_.end (), isolate) != Runtime::isolates_.end ();
235
243
}
You can’t perform that action at this time.
0 commit comments