| <!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>
|