Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4506)

Unified Diff: chrome/browser/resources/bug_report.html

Issue 5271007: UI Revamp + several fixes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/chrome/browser/resources
Patch Set: Permissions fix + change for screenshot sending Created 10 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/resources/bug_report.css ('k') | chrome/browser/resources/bug_report.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/resources/bug_report.html
diff --git a/chrome/browser/resources/bug_report.html b/chrome/browser/resources/bug_report.html
index 6192960ec576d485d75b5305f99dfeff79cd5240..3d3d058f51b084784787be1701382c4aea8fd688 100644
--- a/chrome/browser/resources/bug_report.html
+++ b/chrome/browser/resources/bug_report.html
@@ -1,220 +1,289 @@
-<!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">
+ <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>
« no previous file with comments | « chrome/browser/resources/bug_report.css ('k') | chrome/browser/resources/bug_report.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698