diff --git a/atom/app/node_main.cc b/atom/app/node_main.cc index 5f12d9602e3f..aaf9257fe57b 100644 --- a/atom/app/node_main.cc +++ b/atom/app/node_main.cc @@ -62,9 +62,13 @@ int NodeMain(int argc, char *argv[]) { #if defined(OS_WIN) process.SetMethod("log", &AtomBindings::Log); #endif - process.SetMethod("startCrashReporter", &AtomBindings::StartCrashReporter); process.SetMethod("crash", &AtomBindings::Crash); + v8::Local crashReporterObj = v8::Object::New(env->isolate()); + mate::Dictionary crashReporterDict(gin_env.isolate(), crashReporterObj); + crashReporterDict.SetMethod("start", &AtomBindings::StartCrashReporter); + process.Set("crashReporter", crashReporterObj); + node::LoadEnvironment(env); bool more; diff --git a/atom/common/api/atom_bindings.cc b/atom/common/api/atom_bindings.cc index 2ea6d2846345..eed02f57853d 100644 --- a/atom/common/api/atom_bindings.cc +++ b/atom/common/api/atom_bindings.cc @@ -162,24 +162,23 @@ void AtomBindings::Crash() { } void AtomBindings::StartCrashReporter( - const std::string& productName, - const std::string& companyName, - const std::string& submitUrl, - const std::string& tmpPath, + const std::string& product_name, + const std::string& company_name, + const std::string& submit_url, + const std::string& tmp_path, const std::map& extra_parameters) { - std::map allParameters; - allParameters.insert(std::make_pair("_productName", productName)); - allParameters.insert(std::make_pair("_companyName", companyName)); - allParameters.insert(extra_parameters.begin(), extra_parameters.end()); + auto all_parameters = extra_parameters; + all_parameters["_productName"] = product_name; + all_parameters["_companyName"] = company_name; auto reporter = crash_reporter::CrashReporter::GetInstance(); - reporter->Start(productName, - companyName, - submitUrl, - base::FilePath(tmpPath), + reporter->Start(product_name, + company_name, + submit_url, + base::FilePath(tmp_path), true, false, - allParameters); + all_parameters); } } // namespace atom diff --git a/atom/common/api/atom_bindings.h b/atom/common/api/atom_bindings.h index 108682d46e7e..2be34c989f58 100644 --- a/atom/common/api/atom_bindings.h +++ b/atom/common/api/atom_bindings.h @@ -32,10 +32,10 @@ class AtomBindings { static void Log(const base::string16& message); static void Crash(); static void StartCrashReporter( - const std::string& productName, - const std::string& companyName, - const std::string& submitUrl, - const std::string& tmpPath, + const std::string& product_name, + const std::string& company_name, + const std::string& submit_url, + const std::string& tmp_path, const std::map& extra_parameters); private: diff --git a/default_app/forkedProcess.js b/default_app/forkedProcess.js index 6d6139201521..44a74801beb3 100644 --- a/default_app/forkedProcess.js +++ b/default_app/forkedProcess.js @@ -5,7 +5,7 @@ let productName = 'Child Product'; let companyName = 'Child Company'; let tmpPath = path.join(os.tmpdir(), productName + ' Crashes'); -process.startCrashReporter(productName, companyName, 'http://localhost:8080/uploadDump/childDump', tmpPath, { +process.crashReporter.start(productName, companyName, 'http://localhost:8080/uploadDump/childDump', tmpPath, { randomData1: 'The Holidays are here!', randomData2: 'Happy New Year!' });