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

Unified Diff: components/crash/core/browser/resources/crashes.js

Issue 2325713002: Manual crash uploads for mac and win (Closed)
Patch Set: Created 4 years, 3 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
« no previous file with comments | « components/crash/core/browser/resources/crashes.html ('k') | components/crash_strings.grdp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/crash/core/browser/resources/crashes.js
diff --git a/components/crash/core/browser/resources/crashes.js b/components/crash/core/browser/resources/crashes.js
index efd5912becd27c284a55b3cb216093b535022db8..edb71fb9b1ca45ba49cc2a8c3ccfd528257b79c2 100644
--- a/components/crash/core/browser/resources/crashes.js
+++ b/components/crash/core/browser/resources/crashes.js
@@ -16,24 +16,23 @@ function requestCrashes() {
* Callback from backend with the list of crashes. Builds the UI.
* @param {boolean} enabled Whether or not crash reporting is enabled.
* @param {boolean} dynamicBackend Whether the crash backend is dynamic.
+ * @param {boolean} manualUploads Whether the manual uploads are supported.
* @param {array} crashes The list of crashes.
* @param {string} version The browser version.
* @param {string} os The OS name and version.
*/
-function updateCrashList(enabled, dynamicBackend, crashes, version, os) {
+function updateCrashList(
+ enabled, dynamicBackend, manualUploads,
+ crashes, version, os) {
$('countBanner').textContent =
loadTimeData.getStringF('crashCountFormat',
crashes.length.toLocaleString());
var crashSection = $('crashList');
- $('enabledMode').hidden = !enabled;
$('disabledMode').hidden = enabled;
$('crashUploadStatus').hidden = !enabled || !dynamicBackend;
- if (!enabled)
- return;
-
// Clear any previous list.
crashSection.textContent = '';
@@ -41,27 +40,27 @@ function updateCrashList(enabled, dynamicBackend, crashes, version, os) {
for (var i = 0; i < crashes.length; i++) {
var crash = crashes[i];
- if (crash['local_id'] == '')
- crash['local_id'] = productName;
+ if (crash.local_id == '')
+ crash.local_id = productName;
var crashBlock = document.createElement('div');
- if (crash['state'] != 'uploaded')
+ if (crash.state != 'uploaded')
crashBlock.className = 'notUploaded';
var title = document.createElement('h3');
- var uploaded = crash['state'] == 'uploaded';
+ var uploaded = crash.state == 'uploaded';
if (uploaded) {
title.textContent = loadTimeData.getStringF('crashHeaderFormat',
- crash['id'],
- crash['local_id']);
+ crash.id,
+ crash.local_id);
} else {
title.textContent = loadTimeData.getStringF('crashHeaderFormatLocalOnly',
- crash['local_id']);
+ crash.local_id);
}
crashBlock.appendChild(title);
if (uploaded) {
var date = document.createElement('p');
date.textContent = loadTimeData.getStringF('crashTimeFormat',
- crash['time']);
+ crash.time);
crashBlock.appendChild(date);
var linkBlock = document.createElement('p');
var link = document.createElement('a');
@@ -102,16 +101,34 @@ function updateCrashList(enabled, dynamicBackend, crashes, version, os) {
link.textContent = loadTimeData.getString('bugLinkText');
linkBlock.appendChild(link);
crashBlock.appendChild(linkBlock);
- } else if (crash['state'] == 'pending') {
- var pending = document.createElement('p');
- pending.textContent = loadTimeData.getStringF('crashPending',
- crash['time']);
- crashBlock.appendChild(pending);
- } else if (crash['state'] == 'not_uploaded') {
- var not_uploaded = document.createElement('p');
- not_uploaded.textContent = loadTimeData.getStringF('crashNotUploaded',
- crash['time']);
- crashBlock.appendChild(not_uploaded);
+ } else if (crash.state == 'pending_user_requested') {
+ var userRequested = document.createElement('p');
+ userRequested.textContent =
+ loadTimeData.getStringF('crashUserRequested', crash.time);
+ crashBlock.appendChild(userRequested);
+ } else if (crash.state == 'pending' || crash.state == 'not_uploaded') {
+ if (crash.state == 'pending')
+ var textContentKey = 'crashPending';
+ else
+ var textContentKey = 'crashNotUploaded';
+
+ var notUploaded = document.createElement('p');
+ notUploaded.textContent = loadTimeData.getStringF(textContentKey,
+ crash.time);
+ crashBlock.appendChild(notUploaded);
+
+ if (manualUploads) {
+ var uploadNowLinkBlock = document.createElement('p');
+ var link = document.createElement('a');
+ link.href = '';
+ link.textContent = loadTimeData.getString('uploadNowLinkText');
+ link.local_id = crash.local_id;
+ link.onclick = function() {
+ chrome.send('requestSingleCrashUpload', [this.local_id]);
+ };
+ uploadNowLinkBlock.appendChild(link);
+ crashBlock.appendChild(uploadNowLinkBlock);
+ }
}
crashSection.appendChild(crashBlock);
}
@@ -135,4 +152,4 @@ function requestCrashUpload() {
document.addEventListener('DOMContentLoaded', function() {
$('uploadCrashes').onclick = requestCrashUpload;
requestCrashes();
-});
+});
« no previous file with comments | « components/crash/core/browser/resources/crashes.html ('k') | components/crash_strings.grdp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698