This seems to just have been missing here, leaking memory (and breaking the API contract for Node.js embedding).
@@ -363,7 +363,9 @@ void JavascriptEnvironment::OnMessageLoopDestroying() {
NodeEnvironment::NodeEnvironment(node::Environment* env) : env_(env) {}
NodeEnvironment::~NodeEnvironment() {
+ auto* isolate_data = env_->isolate_data();
node::FreeEnvironment(env_);
+ node::FreeIsolateData(isolate_data);
}
} // namespace electron