Use FilePath for crash reporter temp directory
This commit is contained in:
parent
883c4b63d0
commit
9d1d1f21e9
8 changed files with 27 additions and 26 deletions
|
@ -25,19 +25,19 @@ CrashReporter::~CrashReporter() {
|
||||||
void CrashReporter::Start(const std::string& product_name,
|
void CrashReporter::Start(const std::string& product_name,
|
||||||
const std::string& company_name,
|
const std::string& company_name,
|
||||||
const std::string& submit_url,
|
const std::string& submit_url,
|
||||||
const std::string& temp_dir,
|
const base::FilePath& temp_path,
|
||||||
bool auto_submit,
|
bool auto_submit,
|
||||||
bool skip_system_crash_handler,
|
bool skip_system_crash_handler,
|
||||||
const StringMap& extra_parameters) {
|
const StringMap& extra_parameters) {
|
||||||
SetUploadParameters(extra_parameters);
|
SetUploadParameters(extra_parameters);
|
||||||
|
|
||||||
InitBreakpad(product_name, ATOM_VERSION_STRING, company_name, submit_url,
|
InitBreakpad(product_name, ATOM_VERSION_STRING, company_name, submit_url,
|
||||||
temp_dir, auto_submit, skip_system_crash_handler);
|
temp_path, auto_submit, skip_system_crash_handler);
|
||||||
}
|
}
|
||||||
|
|
||||||
base::FilePath CrashReporter::GetCrashesDirectory(
|
base::FilePath CrashReporter::GetCrashesDirectory(
|
||||||
const std::string& product_name, const std::string& temp_dir) {
|
const std::string& product_name, const base::FilePath& temp_path) {
|
||||||
return base::FilePath(temp_dir).Append(product_name + " Crashes");
|
return temp_path.Append(product_name + " Crashes");
|
||||||
}
|
}
|
||||||
|
|
||||||
void CrashReporter::SetUploadParameters(const StringMap& parameters) {
|
void CrashReporter::SetUploadParameters(const StringMap& parameters) {
|
||||||
|
@ -50,11 +50,12 @@ void CrashReporter::SetUploadParameters(const StringMap& parameters) {
|
||||||
|
|
||||||
std::vector<CrashReporter::UploadReportResult>
|
std::vector<CrashReporter::UploadReportResult>
|
||||||
CrashReporter::GetUploadedReports(const std::string& product_name,
|
CrashReporter::GetUploadedReports(const std::string& product_name,
|
||||||
const std::string& temp_dir) {
|
const base::FilePath& temp_path) {
|
||||||
std::vector<CrashReporter::UploadReportResult> result;
|
std::vector<CrashReporter::UploadReportResult> result;
|
||||||
|
|
||||||
base::FilePath uploads_path =
|
base::FilePath uploads_path =
|
||||||
GetCrashesDirectory(product_name, temp_dir).Append("uploads.log");
|
GetCrashesDirectory(product_name, temp_path)
|
||||||
|
.Append(FILE_PATH_LITERAL("uploads.log"));
|
||||||
std::string file_content;
|
std::string file_content;
|
||||||
if (base::ReadFileToString(uploads_path, &file_content)) {
|
if (base::ReadFileToString(uploads_path, &file_content)) {
|
||||||
std::vector<std::string> reports = base::SplitString(
|
std::vector<std::string> reports = base::SplitString(
|
||||||
|
@ -77,7 +78,7 @@ void CrashReporter::InitBreakpad(const std::string& product_name,
|
||||||
const std::string& version,
|
const std::string& version,
|
||||||
const std::string& company_name,
|
const std::string& company_name,
|
||||||
const std::string& submit_url,
|
const std::string& submit_url,
|
||||||
const std::string& temp_dir,
|
const base::FilePath& temp_path,
|
||||||
bool auto_submit,
|
bool auto_submit,
|
||||||
bool skip_system_crash_handler) {
|
bool skip_system_crash_handler) {
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,17 +25,17 @@ class CrashReporter {
|
||||||
void Start(const std::string& product_name,
|
void Start(const std::string& product_name,
|
||||||
const std::string& company_name,
|
const std::string& company_name,
|
||||||
const std::string& submit_url,
|
const std::string& submit_url,
|
||||||
const std::string& temp_dir,
|
const base::FilePath& temp_path,
|
||||||
bool auto_submit,
|
bool auto_submit,
|
||||||
bool skip_system_crash_handler,
|
bool skip_system_crash_handler,
|
||||||
const StringMap& extra_parameters);
|
const StringMap& extra_parameters);
|
||||||
|
|
||||||
virtual std::vector<CrashReporter::UploadReportResult> GetUploadedReports(
|
virtual std::vector<CrashReporter::UploadReportResult> GetUploadedReports(
|
||||||
const std::string& product_name,
|
const std::string& product_name,
|
||||||
const std::string& temp_dir);
|
const base::FilePath& temp_path);
|
||||||
|
|
||||||
base::FilePath GetCrashesDirectory(const std::string& product_name,
|
base::FilePath GetCrashesDirectory(const std::string& product_name,
|
||||||
const std::string& temp_dir);
|
const base::FilePath& temp_path);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
CrashReporter();
|
CrashReporter();
|
||||||
|
@ -45,7 +45,7 @@ class CrashReporter {
|
||||||
const std::string& version,
|
const std::string& version,
|
||||||
const std::string& company_name,
|
const std::string& company_name,
|
||||||
const std::string& submit_url,
|
const std::string& submit_url,
|
||||||
const std::string& temp_dir,
|
const base::FilePath& temp_path,
|
||||||
bool auto_submit,
|
bool auto_submit,
|
||||||
bool skip_system_crash_handler);
|
bool skip_system_crash_handler);
|
||||||
virtual void SetUploadParameters();
|
virtual void SetUploadParameters();
|
||||||
|
|
|
@ -60,10 +60,10 @@ void CrashReporterLinux::InitBreakpad(const std::string& product_name,
|
||||||
const std::string& version,
|
const std::string& version,
|
||||||
const std::string& company_name,
|
const std::string& company_name,
|
||||||
const std::string& submit_url,
|
const std::string& submit_url,
|
||||||
const std::string& temp_dir,
|
const base::FilePath& temp_path,
|
||||||
bool auto_submit,
|
bool auto_submit,
|
||||||
bool skip_system_crash_handler) {
|
bool skip_system_crash_handler) {
|
||||||
EnableCrashDumping(product_name, temp_dir);
|
EnableCrashDumping(product_name, temp_path);
|
||||||
|
|
||||||
crash_keys_.SetKeyValue("prod", ATOM_PRODUCT_NAME);
|
crash_keys_.SetKeyValue("prod", ATOM_PRODUCT_NAME);
|
||||||
crash_keys_.SetKeyValue("ver", version.c_str());
|
crash_keys_.SetKeyValue("ver", version.c_str());
|
||||||
|
@ -79,8 +79,8 @@ void CrashReporterLinux::SetUploadParameters() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void CrashReporterLinux::EnableCrashDumping(const std::string& product_name,
|
void CrashReporterLinux::EnableCrashDumping(const std::string& product_name,
|
||||||
const std::string& temp_dir) {
|
const base::FilePath& temp_path) {
|
||||||
base::FilePath dumps_path = GetCrashesDirectory(product_name, temp_dir);
|
base::FilePath dumps_path = GetCrashesDirectory(product_name, temp_path);
|
||||||
base::CreateDirectory(dumps_path);
|
base::CreateDirectory(dumps_path);
|
||||||
|
|
||||||
std::string log_file = base::StringPrintf(
|
std::string log_file = base::StringPrintf(
|
||||||
|
|
|
@ -31,7 +31,7 @@ class CrashReporterLinux : public CrashReporter {
|
||||||
const std::string& version,
|
const std::string& version,
|
||||||
const std::string& company_name,
|
const std::string& company_name,
|
||||||
const std::string& submit_url,
|
const std::string& submit_url,
|
||||||
const std::string& temp_dir,
|
const base::FilePath& temp_path,
|
||||||
bool auto_submit,
|
bool auto_submit,
|
||||||
bool skip_system_crash_handler) override;
|
bool skip_system_crash_handler) override;
|
||||||
void SetUploadParameters() override;
|
void SetUploadParameters() override;
|
||||||
|
@ -43,7 +43,7 @@ class CrashReporterLinux : public CrashReporter {
|
||||||
virtual ~CrashReporterLinux();
|
virtual ~CrashReporterLinux();
|
||||||
|
|
||||||
void EnableCrashDumping(const std::string& product_name,
|
void EnableCrashDumping(const std::string& product_name,
|
||||||
const std::string& temp_dir);
|
const base::FilePath& temp_path);
|
||||||
|
|
||||||
static bool CrashDone(const google_breakpad::MinidumpDescriptor& minidump,
|
static bool CrashDone(const google_breakpad::MinidumpDescriptor& minidump,
|
||||||
void* context,
|
void* context,
|
||||||
|
|
|
@ -27,7 +27,7 @@ class CrashReporterMac : public CrashReporter {
|
||||||
const std::string& version,
|
const std::string& version,
|
||||||
const std::string& company_name,
|
const std::string& company_name,
|
||||||
const std::string& submit_url,
|
const std::string& submit_url,
|
||||||
const std::string& temp_dir,
|
const base::FilePath& temp_path,
|
||||||
bool auto_submit,
|
bool auto_submit,
|
||||||
bool skip_system_crash_handler) override;
|
bool skip_system_crash_handler) override;
|
||||||
void SetUploadParameters() override;
|
void SetUploadParameters() override;
|
||||||
|
@ -43,7 +43,7 @@ class CrashReporterMac : public CrashReporter {
|
||||||
const base::StringPiece& value);
|
const base::StringPiece& value);
|
||||||
|
|
||||||
std::vector<UploadReportResult> GetUploadedReports(
|
std::vector<UploadReportResult> GetUploadedReports(
|
||||||
const std::string& path, const std::string& temp_dir) override;
|
const std::string& path, const base::FilePath& temp_path) override;
|
||||||
|
|
||||||
std::unique_ptr<crashpad::SimpleStringDictionary> simple_string_dictionary_;
|
std::unique_ptr<crashpad::SimpleStringDictionary> simple_string_dictionary_;
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ void CrashReporterMac::InitBreakpad(const std::string& product_name,
|
||||||
const std::string& version,
|
const std::string& version,
|
||||||
const std::string& company_name,
|
const std::string& company_name,
|
||||||
const std::string& submit_url,
|
const std::string& submit_url,
|
||||||
const std::string& temp_dir,
|
const base::FilePath& temp_path,
|
||||||
bool auto_submit,
|
bool auto_submit,
|
||||||
bool skip_system_crash_handler) {
|
bool skip_system_crash_handler) {
|
||||||
// check whether crashpad has been initialized.
|
// check whether crashpad has been initialized.
|
||||||
|
@ -39,7 +39,7 @@ void CrashReporterMac::InitBreakpad(const std::string& product_name,
|
||||||
if (simple_string_dictionary_)
|
if (simple_string_dictionary_)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
base::FilePath database_path = GetCrashesDirectory(product_name, temp_dir);
|
base::FilePath database_path = GetCrashesDirectory(product_name, temp_path);
|
||||||
if (is_browser_) {
|
if (is_browser_) {
|
||||||
@autoreleasepool {
|
@autoreleasepool {
|
||||||
base::FilePath framework_bundle_path = base::mac::FrameworkBundlePath();
|
base::FilePath framework_bundle_path = base::mac::FrameworkBundlePath();
|
||||||
|
@ -94,10 +94,10 @@ void CrashReporterMac::SetCrashKeyValue(const base::StringPiece& key,
|
||||||
|
|
||||||
std::vector<CrashReporter::UploadReportResult>
|
std::vector<CrashReporter::UploadReportResult>
|
||||||
CrashReporterMac::GetUploadedReports(const std::string& product_name,
|
CrashReporterMac::GetUploadedReports(const std::string& product_name,
|
||||||
const std::string& temp_dir) {
|
const base::FilePath& temp_path) {
|
||||||
std::vector<CrashReporter::UploadReportResult> uploaded_reports;
|
std::vector<CrashReporter::UploadReportResult> uploaded_reports;
|
||||||
|
|
||||||
base::FilePath file_path = GetCrashesDirectory(product_name, temp_dir);
|
base::FilePath file_path = GetCrashesDirectory(product_name, temp_path);
|
||||||
if (!base::PathExists(file_path)) {
|
if (!base::PathExists(file_path)) {
|
||||||
return uploaded_reports;
|
return uploaded_reports;
|
||||||
}
|
}
|
||||||
|
|
|
@ -149,7 +149,7 @@ void CrashReporterWin::InitBreakpad(const std::string& product_name,
|
||||||
const std::string& version,
|
const std::string& version,
|
||||||
const std::string& company_name,
|
const std::string& company_name,
|
||||||
const std::string& submit_url,
|
const std::string& submit_url,
|
||||||
const std::string& temp_dir,
|
const base::FilePath& temp_path,
|
||||||
bool auto_submit,
|
bool auto_submit,
|
||||||
bool skip_system_crash_handler) {
|
bool skip_system_crash_handler) {
|
||||||
skip_system_crash_handler_ = skip_system_crash_handler;
|
skip_system_crash_handler_ = skip_system_crash_handler;
|
||||||
|
@ -172,7 +172,7 @@ void CrashReporterWin::InitBreakpad(const std::string& product_name,
|
||||||
breakpad_.reset();
|
breakpad_.reset();
|
||||||
|
|
||||||
breakpad_.reset(new google_breakpad::ExceptionHandler(
|
breakpad_.reset(new google_breakpad::ExceptionHandler(
|
||||||
temp_dir,
|
temp_path.value(),
|
||||||
FilterCallback,
|
FilterCallback,
|
||||||
MinidumpCallback,
|
MinidumpCallback,
|
||||||
this,
|
this,
|
||||||
|
|
|
@ -27,7 +27,7 @@ class CrashReporterWin : public CrashReporter {
|
||||||
const std::string& version,
|
const std::string& version,
|
||||||
const std::string& company_name,
|
const std::string& company_name,
|
||||||
const std::string& submit_url,
|
const std::string& submit_url,
|
||||||
const std::string& temp_dir,
|
const base::FilePath& temp_path,
|
||||||
bool auto_submit,
|
bool auto_submit,
|
||||||
bool skip_system_crash_handler) override;
|
bool skip_system_crash_handler) override;
|
||||||
void SetUploadParameters() override;
|
void SetUploadParameters() override;
|
||||||
|
|
Loading…
Reference in a new issue