<!DOCTYPE HTML>
<html i18n-values="dir:textdirection;">
<head>
<meta charset="utf-8"/>
<title i18n-content="page-title"></title>
<!-- We want to keep our style in sync with the options page. -->
<link rel="stylesheet" href="chrome://resources/css/button.css">
<link rel="stylesheet" href="webui.css">
<link rel="stylesheet" href="options/options_page.css">
<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() {
if ($('sysinfo-url')) {
$('sysinfo-url').onclick = function(event) {
chrome.send('openSystemTab');
};
}
var menuOffPattern = /(^\?|&)menu=off($|&)/;
var menuDisabled = menuOffPattern.test(window.location.search);
document.documentElement.setAttribute('hide-menu', menuDisabled);
// textContent on description-text textarea seems to default
// to several spaces, this resets it to empty.
$('description-text').textContent = '';
// 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 in these two sections.
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('refreshCurrentScreenshot', []);
};
function setupCurrentScreenshot(screenshot) {
addScreenshot('current-screenshots', screenshot);
}
function setupSavedScreenshots(screenshots) {
if (screenshots.length == 0) {
$('saved-screenshots').innerText =
localStrings.getString('no-saved-screenshots');
// Make sure we make the display the message
$('saved-screenshots').style.display = 'block';
// In case the user tries to send now; fail safe, do not send a screenshot
// at all versus sending the current screenshot.
selectedThumbnailDivId = '';
selectedThumbnailId = '';
} else {
for (i = 0; i < screenshots.length; ++i)
addScreenshot('saved-screenshots', screenshots[i]);
// Now that we have our screenshots, try selecting the saved screenshots
// again.
savedSelected();
}
}
function setupDialogDefaults(defaults) {
if (defaults.length > 0) {
$('page-url-text').value = defaults[0];
if (defaults[0] == '')
$('page-url-checkbox').checked = false;
if (defaults.length > 2) {
// We're in Chromium OS.
$('user-email-text').textContent = defaults[2];
if (defaults[2] == '') {
// if we didn't get an e-mail address from cros,
// disable the user email display totally
$('user-email-table').style.display = 'none';
// this also means we are in privacy mode, so no saved screenshots
$('screenshot-link-tosaved').style.display = 'none';
}
}
}
}
window.addEventListener('DOMContentLoaded', load);
</script>
</head>
<body i18n-values=".style.fontFamily:fontfamily;.style.fontSize:fontsize">
<div id="main-content">
<div id="navbar-container">
<h1 id="settings-title" i18n-content="page-title">
</h1>
</div>
<div id="mainview" class>
<!-- Even though we really don't need these many nested DIV's, we're staying
as close to the settings page layout as possible, re-using all our styles
from options_page.css -->
<div id="mainview-content">
<div class="page">
<h1 i18n-content="title"></h1>
<table id="main-table">
<!-- Issue type dropdown -->
<tbody>
<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>
<!-- 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>
<tr>
<td>
<table style="-webkit-border-vertical-spacing: 0px;">
<!-- Page URL -->
<tr>
<td>
<table class="bug-report-table">
<tr>
<td class="bug-report-fieldlabel">
<input id="page-url-checkbox" type="checkbox"
value="pageurl" checked>
<span id="page-url-label" i18n-content="page-url">
</span>
</td>
<td>
<input id="page-url-text" class="bug-report-field"
maxlength="200">
</td>
</tr>
</table>
</td>
</tr>
<if expr="pp_ifdef('chromeos')">
<!-- User e-mail -->
<tr>
<td>
<table id="user-email-table" class="bug-report-table">
<tr>
<td class="bug-report-fieldlabel">
<input id="user-email-checkbox" type="checkbox"
checked>
<span id="user-email-label"
i18n-content="user-email"></span>
</td>
<td>
<label id="user-email-text"
class="bug-report-field"></label>
</td>
</tr>
</table>
</td>
</tr>
<!-- System Information -->
<tr>
<td>
<table class="bug-report-table">
<tr>
<td class="bug-report-fieldlabel">
<input id="sys-info-checkbox" type="checkbox"
checked>
<span id="sysinfo-label">
<a id="sysinfo-url" href="#"
i18n-content="sysinfo"></a>
</span>
</td>
</tr>
</table>
</td>
</tr>
</if>
<!-- Screenshot -->
<tr>
<td>
<table class="bug-report-table">
<tr>
<td class="bug-report-fieldlabel">
<input id="screenshot-checkbox" type="checkbox">
<span id="screenshot-label-current"
i18n-content="current-screenshot">
</span>
<if expr="pp_ifdef('chromeos')">
<span id="screenshot-label-saved"
style="display: none;"
i18n-content="saved-screenshot">
</span>
<a id="screenshot-link-tosaved" href="#"
onclick="changeToSaved()"
i18n-content="choose-different-screenshot">
</a>
<a id="screenshot-link-tocurrent" href="#"
style="display: none;"
onclick="changeToCurrent()"
i18n-content="choose-original-screenshot">
</a>
</if>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<if expr="pp_ifdef('chromeos')">
<div id="saved-screenshots" style="display: none;"
class="thumbnail-list"></div>
</if>
<div id="current-screenshots" class="thumbnail-list">
</div>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<div id="buttons-pane">
<!-- Buttons -->
<input id="send-report-button" type="submit"
class="bug-report-button" onclick="sendReport()"
i18n-values="value:send-report">
<input id="cancel-button" type="submit"
class="bug-report-button" i18n-values="value:cancel"
onclick="cancel()">
</div>
<div id="privacy-note" i18n-values=".innerHTML:privacy-note">
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</body>
</html>