| 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..2affae9a9367196d4d9553c2b510fb2f24c759cd 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 = '';
|
|
|
| @@ -102,16 +101,36 @@ 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'] == 'user_requested') {
|
| + var user_requested = document.createElement('p');
|
| + user_requested.textContent =
|
| + loadTimeData.getStringF('crashUserRequested', crash['time']);
|
| + crashBlock.appendChild(user_requested);
|
| + } 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);
|
| + }
|
| +
|
| + 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 +154,4 @@ function requestCrashUpload() {
|
| document.addEventListener('DOMContentLoaded', function() {
|
| $('uploadCrashes').onclick = requestCrashUpload;
|
| requestCrashes();
|
| -});
|
| +});
|
|
|