// Copyright (c) 2013 GitHub, Inc. // Use of this source code is governed by the MIT license that can be // found in the LICENSE file. #include "atom/common/crash_reporter/crash_reporter.h" #include "atom/browser/browser.h" #include "atom/common/atom_version.h" #include "base/command_line.h" #include "content/public/common/content_switches.h" namespace crash_reporter { CrashReporter::CrashReporter() { auto cmd = base::CommandLine::ForCurrentProcess(); is_browser_ = cmd->GetSwitchValueASCII(switches::kProcessType).empty(); } CrashReporter::~CrashReporter() { } void CrashReporter::Start(const std::string& product_name, const std::string& company_name, const std::string& submit_url, bool auto_submit, bool skip_system_crash_handler, const StringMap& extra_parameters) { SetUploadParameters(extra_parameters); InitBreakpad(product_name, ATOM_VERSION_STRING, company_name, submit_url, auto_submit, skip_system_crash_handler); } void CrashReporter::SetUploadParameters(const StringMap& parameters) { upload_parameters_ = parameters; upload_parameters_["process_type"] = is_browser_ ? "browser" : "renderer"; // Setting platform dependent parameters. SetUploadParameters(); } } // namespace crash_reporter