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 {
5555 void DefineNativeScriptVersion (v8::Isolate* isolate, v8::Local<v8::ObjectTemplate> globalTemplate);
5656 void DefinePerformanceObject (v8::Isolate* isolate, v8::Local<v8::ObjectTemplate> globalTemplate);
5757 void DefineTimeMethod (v8::Isolate* isolate, v8::Local<v8::ObjectTemplate> globalTemplate);
58+ void DefineDrainMicrotaskMethod (v8::Isolate* isolate, v8::Local<v8::ObjectTemplate> globalTemplate);
5859 static void PerformanceNowCallback (const v8::FunctionCallbackInfo<v8::Value>& args);
5960 v8::Isolate* isolate_;
6061 std::unique_ptr<ModuleInternal> moduleInternal_;
Original file line number Diff line number Diff line change 9393 Worker::Init (isolate, globalTemplate, mainThreadInitialized_);
9494 DefinePerformanceObject (isolate, globalTemplate);
9595 DefineTimeMethod (isolate, globalTemplate);
96+ DefineDrainMicrotaskMethod (isolate, globalTemplate);
9697 ObjectManager::Init (isolate, globalTemplate);
9798// SetTimeout::Init(isolate, globalTemplate);
9899 MetadataBuilder::RegisterConstantsOnGlobalObject (isolate, globalTemplate, mainThreadInitialized_);
230231 globalTemplate->Set (ToV8String (isolate, " __time" ), timeFunctionTemplate);
231232}
232233
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+
233241bool Runtime::IsAlive (Isolate* isolate) {
234242 return std::find (Runtime::isolates_.begin (), Runtime::isolates_.end (), isolate) != Runtime::isolates_.end ();
235243}
You can’t perform that action at this time.
0 commit comments