Add extra uploading parameters for crash reporter.
This commit is contained in:
parent
d1a5c49843
commit
6b02be6da8
6 changed files with 32 additions and 3 deletions
|
@ -12,9 +12,9 @@
|
|||
namespace crash_reporter {
|
||||
|
||||
CrashReporter::CrashReporter() {
|
||||
const CommandLine& command = *CommandLine::ForCurrentProcess();
|
||||
std::string type = command.GetSwitchValueASCII(switches::kProcessType);
|
||||
is_browser_ = type.empty();
|
||||
SetUploadParameters();
|
||||
|
||||
is_browser_ = upload_parameters_["process_type"].empty();
|
||||
}
|
||||
|
||||
CrashReporter::~CrashReporter() {
|
||||
|
@ -42,4 +42,12 @@ void CrashReporter::Start(std::string product_name,
|
|||
skip_system_crash_handler);
|
||||
}
|
||||
|
||||
void CrashReporter::SetUploadParameters() {
|
||||
const CommandLine& command = *CommandLine::ForCurrentProcess();
|
||||
std::string type = command.GetSwitchValueASCII(switches::kProcessType);
|
||||
|
||||
upload_parameters_["process_type"] = type;
|
||||
upload_parameters_["atom_shell_version"] = ATOM_VERSION_STRING;
|
||||
}
|
||||
|
||||
} // namespace crash_reporter
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
#ifndef ATOM_COMMON_CRASH_REPORTER_CRASH_REPORTER_H_
|
||||
#define ATOM_COMMON_CRASH_REPORTER_CRASH_REPORTER_H_
|
||||
|
||||
#include <map>
|
||||
#include <string>
|
||||
|
||||
#include "base/basictypes.h"
|
||||
|
@ -31,7 +32,10 @@ class CrashReporter {
|
|||
const std::string& submit_url,
|
||||
bool auto_submit,
|
||||
bool skip_system_crash_handler) = 0;
|
||||
virtual void SetUploadParameters();
|
||||
|
||||
typedef std::map<std::string, std::string> StringMap;
|
||||
StringMap upload_parameters_;
|
||||
bool is_browser_;
|
||||
|
||||
private:
|
||||
|
|
|
@ -23,6 +23,7 @@ class CrashReporterMac : public CrashReporter {
|
|||
const std::string& submit_url,
|
||||
bool auto_submit,
|
||||
bool skip_system_crash_handler) OVERRIDE;
|
||||
virtual void SetUploadParameters() OVERRIDE;
|
||||
|
||||
private:
|
||||
friend struct DefaultSingletonTraits<CrashReporterMac>;
|
||||
|
|
|
@ -48,6 +48,17 @@ void CrashReporterMac::InitBreakpad(const std::string& product_name,
|
|||
[parameters setValue:@"0" forKey:@BREAKPAD_REPORT_INTERVAL];
|
||||
|
||||
breakpad_ = BreakpadCreate(parameters);
|
||||
|
||||
for (StringMap::const_iterator iter = upload_parameters_.begin();
|
||||
iter != upload_parameters_.end(); ++iter) {
|
||||
BreakpadAddUploadParameter(breakpad_,
|
||||
base::SysUTF8ToNSString(iter->first),
|
||||
base::SysUTF8ToNSString(iter->second));
|
||||
}
|
||||
}
|
||||
|
||||
void CrashReporterMac::SetUploadParameters() {
|
||||
upload_parameters_["platform"] = "darwin";
|
||||
}
|
||||
|
||||
// static
|
||||
|
|
|
@ -25,6 +25,10 @@ void CrashReporterWin::InitBreakpad(const std::string& product_name,
|
|||
bool skip_system_crash_handler) {
|
||||
}
|
||||
|
||||
void CrashReporterWin::SetUploadParameters() {
|
||||
upload_parameters_["platform"] = "win32";
|
||||
}
|
||||
|
||||
// static
|
||||
CrashReporterWin* CrashReporterWin::GetInstance() {
|
||||
return Singleton<CrashReporterWin>::get();
|
||||
|
|
|
@ -22,6 +22,7 @@ class CrashReporterWin : public CrashReporter {
|
|||
const std::string& submit_url,
|
||||
bool auto_submit,
|
||||
bool skip_system_crash_handler) OVERRIDE;
|
||||
virtual void SetUploadParameters() OVERRIDE;
|
||||
|
||||
private:
|
||||
friend struct DefaultSingletonTraits<CrashReporterWin>;
|
||||
|
|
Loading…
Reference in a new issue