refactor: allocate gin_helper::internal::Event on cpp heap (#48161)
This commit is contained in:
parent
3b9130d815
commit
e0db4046b2
15 changed files with 156 additions and 116 deletions
|
@ -194,14 +194,15 @@ void BaseWindow::OnWindowQueryEndSession(
|
|||
v8::Isolate* isolate = JavascriptEnvironment::GetIsolate();
|
||||
v8::HandleScope handle_scope(isolate);
|
||||
|
||||
gin_helper::Handle<gin_helper::internal::Event> event =
|
||||
gin_helper::internal::Event* event =
|
||||
gin_helper::internal::Event::New(isolate);
|
||||
v8::Local<v8::Object> event_object = event.ToV8().As<v8::Object>();
|
||||
v8::Local<v8::Object> event_object =
|
||||
event->GetWrapper(isolate).ToLocalChecked();
|
||||
|
||||
gin::Dictionary dict(isolate, event_object);
|
||||
dict.Set("reasons", reasons);
|
||||
|
||||
EmitWithoutEvent("query-session-end", event);
|
||||
EmitWithoutEvent("query-session-end", event_object);
|
||||
if (event->GetDefaultPrevented()) {
|
||||
*prevent_default = true;
|
||||
}
|
||||
|
@ -211,14 +212,15 @@ void BaseWindow::OnWindowEndSession(const std::vector<std::string>& reasons) {
|
|||
v8::Isolate* isolate = JavascriptEnvironment::GetIsolate();
|
||||
v8::HandleScope handle_scope(isolate);
|
||||
|
||||
gin_helper::Handle<gin_helper::internal::Event> event =
|
||||
gin_helper::internal::Event* event =
|
||||
gin_helper::internal::Event::New(isolate);
|
||||
v8::Local<v8::Object> event_object = event.ToV8().As<v8::Object>();
|
||||
v8::Local<v8::Object> event_object =
|
||||
event->GetWrapper(isolate).ToLocalChecked();
|
||||
|
||||
gin::Dictionary dict(isolate, event_object);
|
||||
dict.Set("reasons", reasons);
|
||||
|
||||
EmitWithoutEvent("session-end", event);
|
||||
EmitWithoutEvent("session-end", event_object);
|
||||
}
|
||||
|
||||
void BaseWindow::OnWindowBlur() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue