blob: 6192960ec576d485d75b5305f99dfeff79cd5240 [file] [log] [blame]
<!DOCTYPE HTML>
<html i18n-values="dir:textdirection;">
<head>
<meta charset="utf-8"/>
<title i18n-content="title"></title>
<link rel="stylesheet" href="bug_report.css"/>
<script src="shared/js/local_strings.js"></script>
<script src="shared/js/util.js"></script>
<script src="bug_report.js"></script>
<script>
///////////////////////////////////////////////////////////////////////////////
// Document Functions:
/**
* Window onload handler, sets up the page.
*/
function load() {
$('sysinfo-url').onclick = function(event) {
chrome.send('openSystemTab');
};
// textContent on description-text textarea seems to default
// to several spaces, this resets it to empty.
$('description-text').textContent = '';
$('send-report-button').disabled = true;
$('issue-with-combo').addEventListener('change', function(e) {
$('send-report-button').disabled =
this.selectedIndex <= 0 || $('description-text').value.length == 0;
});
$('description-text').addEventListener('keyup', function(e) {
$('send-report-button').disabled =
$('issue-with-combo').selectedIndex <= 0 || this.value.length == 0;
});
$('current-screenshot').nextSibling.textContent =
localStrings.getString('currentscreenshots');
<if expr="pp_ifdef('chromeos')">
$('saved-screenshot').nextSibling.textContent =
localStrings.getString('savedscreenshots');
</if>
$('no-screenshot').nextSibling.textContent =
localStrings.getString('noscreenshot');
// Get a list of issues that we allow the user to select from.
// Note, the order and the issues types themselves are different
// between Chromium and Chromium OS, so this code needs to be
// maintained individually between the bug_report.html and
// bug_report_cros.html files.
var issueTypeText = [];
issueTypeText[0] = localStrings.getString('issue-choose');
<if expr="not pp_ifdef('chromeos')">
issueTypeText[1] = localStrings.getString('issue-page-formatting');
issueTypeText[2] = localStrings.getString('issue-page-load');
issueTypeText[3] = localStrings.getString('issue-plugins');
issueTypeText[4] = localStrings.getString('issue-tabs');
issueTypeText[5] = localStrings.getString('issue-sync');
issueTypeText[6] = localStrings.getString('issue-crashes');
issueTypeText[7] = localStrings.getString('issue-extensions');
issueTypeText[8] = localStrings.getString('issue-phishing');
issueTypeText[9] = localStrings.getString('issue-other');
</if>
<if expr="pp_ifdef('chromeos')">
issueTypeText[1] = localStrings.getString('issue-connectivity');
issueTypeText[2] = localStrings.getString('issue-sync');
issueTypeText[3] = localStrings.getString('issue-crashes');
issueTypeText[4] = localStrings.getString('issue-page-formatting');
issueTypeText[5] = localStrings.getString('issue-extensions');
issueTypeText[6] = localStrings.getString('issue-standby');
issueTypeText[7] = localStrings.getString('issue-phishing');
issueTypeText[8] = localStrings.getString('issue-other');
</if>
// Add all the issues to the selection box.
for (var i = 0; i < issueTypeText.length; i++) {
var option = document.createElement('option');
option.className = 'bug-report-text';
option.textContent = issueTypeText[i];
$('issue-with-combo').add(option);
}
chrome.send('getDialogDefaults', []);
chrome.send('refreshScreenshots', []);
};
function setupScreenshots(screenshots) {
if (screenshots.length == 1) {
addScreenshot('current-screenshots', screenshots[0]);
} else {
// We're in Chromium OS.
currentScreenshot = screenshots[0];
addScreenshot('current-screenshots', currentScreenshot);
savedScreenshots = screenshots[1];
if (savedScreenshots.length == 0) {
$('saved-screenshots').disabled = true;
return;
}
for (i = 0; i < savedScreenshots.length; ++i)
addScreenshot('saved-screenshots', savedScreenshots[i]);
}
}
function setupDialogDefaults(defaults) {
if (defaults.length > 0) {
$('page-url-text').value = defaults[0];
if (defaults.length > 2) {
// We're in Chromium OS.
$('user-email-text').value = defaults[2];
}
}
}
window.addEventListener('DOMContentLoaded', load);
</script>
</head>
<body>
<div>
<div id="main-panel">
<div class="formpane">
<table>
<!-- Issue type dropdown -->
<tr>
<th id="issue-with" class="bug-report-label" i18n-content="issue-with">
</th>
</tr>
<tr>
<td>
<select id="issue-with-combo" class="bug-report-text">
</select>
</td>
</tr>
<!-- Page URL text box -->
<tr>
<th colspan="2" id="page-url" class="bug-report-label"
i18n-content="page-url">
</th>
</tr>
<tr>
<td colspan="2">
<input id='page-url-text' maxlength=200 class="bug-report-text">
</td>
</tr>
<!-- Description -->
<tr>
<th id="description" colspan="2" class="bug-report-label"
i18n-content="description">
</th>
</tr>
<tr>
<td colspan="2">
<textarea id='description-text' rows="10" class="bug-report-text">
</textarea>
</td>
</tr>
</table>
</div>
<div class="formpane">
<table>
<if expr="pp_ifdef('chromeos')">
<!-- Page URL text box -->
<tr>
<th id="user-email" class="bug-report-label" i18n-content="user-email">
</th>
</tr>
<tr>
<td>
<input id='user-email-text' maxlength=200 class="bug-report-text">
</td>
</tr>
<!-- System Information checkbox -->
<tr>
<td>
<input id="sys-info-checkbox" type="checkbox" value="sysinfo" checked>
<span id="sysinfo-label"></span>
<a id="sysinfo-url" href="#" >
<span i18n-content="sysinfo"></span>
</a>
</td>
</tr>
</if>
<!-- Screenshot radio buttons -->
<tr>
<th id="screenshot" class="bug-report-label" i18n-content="screenshot">
</th>
</tr>
<tr>
<td>
<input id="no-screenshot" type="radio" name="screenshot-group"
value="none" onclick="noneSelected()">
<br>
<if expr="pp_ifdef('chromeos')">
<input id="saved-screenshot" type="radio" name="screenshot-group"
value="saved" onclick="savedSelected()">
<br>
<div id="saved-screenshots" style="display: none;"
class="thumbnail-list">
</div>
</if>
<input id="current-screenshot" type="radio" name="screenshot-group"
value="current" checked onclick="currentSelected()">
<br>
<div id="current-screenshots" class="thumbnail-list">
</div>
</td>
</tr>
</table>
</div>
</div>
</div>
<div id="buttons">
<!-- Buttons -->
<input id='send-report-button' type="submit" class="bug-report-button"
i18n-values="value:send-report" onclick="sendReport()">
<input id='cancel-button' type="submit" class="bug-report-button"
i18n-values="value:cancel" onclick="cancel()">
</div>
</body>
</html>