#include "atom/common/api/api_messages.h"
#include "atom/common/api/atom_bindings.h"
+#include "atom/common/api/event_emitter_caller.h"
#include "atom/common/node_bindings.h"
#include "atom/common/node_includes.h"
#include "atom/common/options_switches.h"
void AtomRendererClient::WillReleaseScriptContext(
v8::Handle<v8::Context> context) {
+ node::Environment* env = node::Environment::GetCurrent(context);
+ mate::EmitEvent(env->isolate(), env->process_object(), "exit");
}
bool AtomRendererClient::ShouldFork(blink::WebLocalFrame* frame,
return false;
}
};
-
- // Emit the 'exit' event when page is unloading.
- window.addEventListener('unload', function() {
- return process.emit('exit');
- });
} else {
// Delete Node's symbols after the Environment has been loaded.
process.once('loaded', function() {