|
@@ -7,8 +7,8 @@
|
|
|
#include "atom/app/uv_task_runner.h"
|
|
|
#include "atom/browser/javascript_environment.h"
|
|
|
#include "atom/browser/node_debugger.h"
|
|
|
-#include "atom/common/node_includes.h"
|
|
|
#include "base/command_line.h"
|
|
|
+#include "atom/common/node_includes.h"
|
|
|
#include "base/thread_task_runner_handle.h"
|
|
|
#include "gin/array_buffer.h"
|
|
|
#include "gin/public/isolate_holder.h"
|
|
@@ -19,25 +19,22 @@ namespace atom {
|
|
|
int NodeMain(int argc, char *argv[]) {
|
|
|
base::CommandLine::Init(argc, argv);
|
|
|
|
|
|
- argv = uv_setup_args(argc, argv);
|
|
|
- int exec_argc;
|
|
|
- const char** exec_argv;
|
|
|
- node::Init(&argc, const_cast<const char**>(argv), &exec_argc, &exec_argv);
|
|
|
-
|
|
|
int exit_code = 1;
|
|
|
{
|
|
|
// Feed gin::PerIsolateData with a task runner.
|
|
|
+ argv = uv_setup_args(argc, argv);
|
|
|
uv_loop_t* loop = uv_default_loop();
|
|
|
scoped_refptr<UvTaskRunner> uv_task_runner(new UvTaskRunner(loop));
|
|
|
base::ThreadTaskRunnerHandle handle(uv_task_runner);
|
|
|
|
|
|
gin::V8Initializer::LoadV8Snapshot();
|
|
|
gin::V8Initializer::LoadV8Natives();
|
|
|
- gin::IsolateHolder::Initialize(
|
|
|
- gin::IsolateHolder::kNonStrictMode,
|
|
|
- gin::ArrayBufferAllocator::SharedInstance());
|
|
|
-
|
|
|
JavascriptEnvironment gin_env;
|
|
|
+
|
|
|
+ int exec_argc;
|
|
|
+ const char** exec_argv;
|
|
|
+ node::Init(&argc, const_cast<const char**>(argv), &exec_argc, &exec_argv);
|
|
|
+
|
|
|
node::Environment* env = node::CreateEnvironment(
|
|
|
gin_env.isolate(), loop, gin_env.context(), argc, argv,
|
|
|
exec_argc, exec_argv);
|