Don't delay node module initialization

This commit is contained in:
deepak1556 2017-12-22 17:47:41 +05:30 committed by Cheng Zhao
parent 1043f07b42
commit 1b30cac372
5 changed files with 41 additions and 43 deletions

View file

@ -130,7 +130,27 @@ void AtomBrowserMainParts::PostEarlyInitialization() {
// The ProxyResolverV8 has setup a complete V8 environment, in order to
// avoid conflicts we only initialize our V8 environment after that.
JavascriptEnvironment::Initialize();
js_env_.reset(new JavascriptEnvironment);
node_bindings_->Initialize();
// Create the global environment.
node::Environment* env =
node_bindings_->CreateEnvironment(js_env_->context());
node_env_.reset(new NodeEnvironment(env));
// Enable support for v8 inspector
node_debugger_.reset(new NodeDebugger(env));
node_debugger_->Start();
// Add Electron extended APIs.
atom_bindings_->BindTo(js_env_->isolate(), env->process_object());
// Load everything.
node_bindings_->LoadEnvironment(env);
// Wrap the uv loop with global env.
node_bindings_->set_uv_env(env);
}
int AtomBrowserMainParts::PreCreateThreads() {
@ -195,28 +215,6 @@ void AtomBrowserMainParts::PostMainMessageLoopStart() {
base::FilePath user_dir;
PathService::Get(brightray::DIR_USER_DATA, &user_dir);
process_singleton_.reset(new ProcessSingleton(user_dir));
js_env_.reset(new JavascriptEnvironment);
node_bindings_->Initialize();
// Create the global environment.
node::Environment* env =
node_bindings_->CreateEnvironment(js_env_->context());
node_env_.reset(new NodeEnvironment(env));
// Enable support for v8 inspector
node_debugger_.reset(new NodeDebugger(env));
node_debugger_->Start();
// Add Electron extended APIs.
atom_bindings_->BindTo(js_env_->isolate(), env->process_object());
// Load everything.
node_bindings_->LoadEnvironment(env);
// Wrap the uv loop with global env.
node_bindings_->set_uv_env(env);
}
void AtomBrowserMainParts::PostMainMessageLoopRun() {