summaryrefslogtreecommitdiffstats
path: root/chrome/browser/resources/bug_report.html
diff options
context:
space:
mode:
authorrkc@chromium.org <rkc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-30 00:50:26 +0000
committerrkc@chromium.org <rkc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-30 00:50:26 +0000
commita3bb6568a7a996081da62d58c81d626a64c4f309 (patch)
treefaa936470db0c4d1573cb257e36bdd676a6a201d /chrome/browser/resources/bug_report.html
parent648a1de30f6693ffd72844a02448d93877aa9f88 (diff)
downloadchromium_src-a3bb6568a7a996081da62d58c81d626a64c4f309.zip
chromium_src-a3bb6568a7a996081da62d58c81d626a64c4f309.tar.gz
chromium_src-a3bb6568a7a996081da62d58c81d626a64c4f309.tar.bz2
UI Revamp + several fixes.
.) UI matched to the Chrome settings DOM UI .) User-mail is now unchangeable .) Changed the screenshot input to a nicer toggle system .) Saved screenshots are only now loaded when the user choses to see them .) Check boxes for everything .) Privacy policy added .) Text changed around as per request by Chrome OS marketing BUG=chromium-os:8836,chromium:61847 TEST=Ran the new UI, checking and unchecking various boxes, trying different screenshots and submitting. More tests being done by the feedback team. Review URL: http://codereview.chromium.org/5271007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67633 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/resources/bug_report.html')
-rwxr-xr-x[-rw-r--r--]chrome/browser/resources/bug_report.html510
1 files changed, 290 insertions, 220 deletions
diff --git a/chrome/browser/resources/bug_report.html b/chrome/browser/resources/bug_report.html
index 6192960..623d505 100644..100755
--- a/chrome/browser/resources/bug_report.html
+++ b/chrome/browser/resources/bug_report.html
@@ -1,220 +1,290 @@
-<!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>
+<!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="dom_ui.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() {
+ $('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>
+ <!-- User e-mail -->
+ <tr>
+ <td>
+<if expr="pp_ifdef('chromeos')">
+ <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>
+</if>
+ </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>
+ <!-- Screenshot -->
+ <tr>
+ <td>
+ <table class="bug-report-table">
+ <tr>
+ <td class="bug-report-fieldlabel">
+ <input id="screenshot-checkbox" type="checkbox"
+ checked>
+ <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>
+<if expr="pp_ifdef('chromeos')">
+ <div id="privacy-note" i18n-values=".innerHTML:privacy-note">
+ </div>
+</if>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ </div>
+</div>
+</body>
+</html>