feat: add onclose method to MessagePort (#22532)

* feat: add onclose method to MessagePort

* more scope, more good

* de-flake GC test
This commit is contained in:
Jeremy Apthorp 2020-03-13 10:00:50 -07:00 committed by GitHub
parent 829d4815a9
commit 0c02d794c9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 114 additions and 0 deletions

View file

@ -103,6 +103,12 @@ void MessagePort::Close() {
closed_ = true;
if (!HasPendingActivity())
Unpin();
v8::Isolate* isolate = v8::Isolate::GetCurrent();
v8::HandleScope scope(isolate);
v8::Local<v8::Object> self;
if (GetWrapper(isolate).ToLocal(&self))
gin_helper::EmitEvent(isolate, self, "close");
}
void MessagePort::Entangle(mojo::ScopedMessagePipeHandle handle) {
@ -196,6 +202,7 @@ void MessagePort::Pin() {
if (!pinned_.IsEmpty())
return;
v8::Isolate* isolate = v8::Isolate::GetCurrent();
v8::HandleScope scope(isolate);
v8::Local<v8::Value> self;
if (GetWrapper(isolate).ToLocal(&self)) {
pinned_.Reset(isolate, self);