fix: add microtask runner and fix promise test (#15071)

* fix: Promise resolution and unit test

* Update to use microtask runner

* Address review
This commit is contained in:
Nitish Sakhawalkar 2018-10-15 08:26:47 -07:00 committed by Samuel Attard
parent 89bf71e580
commit 0c711f690e
13 changed files with 90 additions and 18 deletions

View file

@ -6,6 +6,7 @@
#include <string>
#include "atom/browser/microtasks_runner.h"
#include "base/command_line.h"
#include "base/message_loop/message_loop.h"
#include "base/task_scheduler/initialization_util.h"
@ -62,7 +63,15 @@ v8::Isolate* JavascriptEnvironment::Initialize(uv_loop_t* event_loop) {
return isolate;
}
void JavascriptEnvironment::OnMessageLoopCreated() {
DCHECK(!microtasks_runner_);
microtasks_runner_.reset(new MicrotasksRunner(isolate()));
base::MessageLoopCurrent::Get()->AddTaskObserver(microtasks_runner_.get());
}
void JavascriptEnvironment::OnMessageLoopDestroying() {
DCHECK(microtasks_runner_);
base::MessageLoopCurrent::Get()->RemoveTaskObserver(microtasks_runner_.get());
platform_->UnregisterIsolate(isolate_);
}