Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(104)

Unified Diff: components/crash/content/app/crashpad.cc

Issue 2070993002: List all crashes in chrome://crashes, including those not uploaded (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/crash/content/app/crashpad.cc
diff --git a/components/crash/content/app/crashpad.cc b/components/crash/content/app/crashpad.cc
index 1c0c49936dddb46e5645116276923c81215fb11b..ab7e3a7993c6888351be9d940d8f99edd55de418 100644
--- a/components/crash/content/app/crashpad.cc
+++ b/components/crash/content/app/crashpad.cc
@@ -269,8 +269,8 @@ bool GetUploadsEnabled() {
return false;
}
-void GetUploadedReports(std::vector<UploadedReport>* uploaded_reports) {
- uploaded_reports->clear();
+void GetReports(std::vector<Report>* reports) {
+ reports->clear();
if (!g_database) {
return;
@@ -283,21 +283,41 @@ void GetUploadedReports(std::vector<UploadedReport>* uploaded_reports) {
return;
}
+ std::vector<crashpad::CrashReportDatabase::Report> pending_reports;
+ status = g_database->GetPendingReports(&pending_reports);
+ if (status != crashpad::CrashReportDatabase::kNoError) {
+ return;
+ }
+
for (const crashpad::CrashReportDatabase::Report& completed_report :
completed_reports) {
+ Report report;
+ report.local_id = completed_report.uuid.ToString();
+ report.capture_time = completed_report.creation_time;
+ report.remote_id = completed_report.id;
if (completed_report.uploaded) {
- UploadedReport uploaded_report;
- uploaded_report.local_id = completed_report.uuid.ToString();
- uploaded_report.remote_id = completed_report.id;
- uploaded_report.creation_time = completed_report.creation_time;
-
- uploaded_reports->push_back(uploaded_report);
+ report.upload_time = completed_report.last_upload_attempt_time;
+ report.state = ReportUploadState::Uploaded;
+ } else {
+ report.upload_time = 0;
+ report.state = ReportUploadState::NotUploaded;
}
+ reports->push_back(report);
+ }
+
+ for (const crashpad::CrashReportDatabase::Report& pending_report :
+ pending_reports) {
+ Report report;
+ report.local_id = pending_report.uuid.ToString();
+ report.capture_time = pending_report.creation_time;
+ report.upload_time = 0;
+ report.state = ReportUploadState::Pending;
+ reports->push_back(report);
}
- std::sort(uploaded_reports->begin(), uploaded_reports->end(),
- [](const UploadedReport& a, const UploadedReport& b) {
- return a.creation_time > b.creation_time;
+ std::sort(reports->begin(), reports->end(),
+ [](const Report& a, const Report& b) {
+ return a.capture_time > b.capture_time;
});
}

Powered by Google App Engine
This is Rietveld 408576698