#include "atom/app/node_main.h"
-#include <iostream>
-
#include "atom/app/uv_task_runner.h"
#include "atom/browser/javascript_environment.h"
#include "atom/browser/node_debugger.h"
+#include "atom/common/api/atom_bindings.h"
#include "atom/common/native_mate_converters/string16_converter.h"
#include "base/command_line.h"
#include "base/feature_list.h"
namespace atom {
-void Log(const base::string16& message) {
- std::cout << message << std::flush;
-}
-
int NodeMain(int argc, char *argv[]) {
base::CommandLine::Init(argc, argv);
if (node_debugger.IsRunning())
env->AssignToContext(v8::Debug::GetDebugContext());
- node::LoadEnvironment(env);
+ mate::Dictionary process(gin_env.isolate(), env->process_object());
+ process.SetMethod("log", &AtomBindings::Log);
- mate::Dictionary dict(gin_env.isolate(), env->process_object());
- dict.SetMethod("log", &Log);
+ node::LoadEnvironment(env);
bool more;
do {
Crash();
}
-void Log(const base::string16& message) {
- std::cout << message << std::flush;
-}
-
} // namespace
self->pending_next_ticks_.clear();
}
+// static
+void AtomBindings::Log(const base::string16& message) {
+ std::cout << message << std::flush;
+}
+
} // namespace atom
// load native code from Electron instead.
void BindTo(v8::Isolate* isolate, v8::Local<v8::Object> process);
+ static void Log(const base::string16& message);
+
private:
void ActivateUVLoop(v8::Isolate* isolate);