Chromium Code Reviews| Index: chrome/browser/resources/bug_report.html |
| diff --git a/chrome/browser/resources/bug_report.html b/chrome/browser/resources/bug_report.html |
| old mode 100644 |
| new mode 100755 |
| index 6192960ec576d485d75b5305f99dfeff79cd5240..7db961cb6f3f7ec4fd677ccb437bdcf0454e8da3 |
| --- 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. |
|
arv (Not doing code reviews)
2010/11/29 23:20:34
<del>in</del>
|
| + 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 = |
|
arv (Not doing code reviews)
2010/11/29 23:20:34
textContent
|
| + 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) |
|
arv (Not doing code reviews)
2010/11/29 23:20:34
missing var
|
| + 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 there --> |
|
oshima
2010/11/29 23:00:22
If this is a copy from other file, please say from
rkc
2010/11/29 23:15:59
Done.
|
| + <div id="mainview-content"> |
| + <div class="page"> |
| + <h1 i18n-content="title"></h1> |
| + <table id="main-table"> |
| + <!-- Issue type dropdown --> |
| + <tbody> |
|
arv (Not doing code reviews)
2010/11/29 23:20:34
thead seems more correct here
|
| + <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;"> |
|
arv (Not doing code reviews)
2010/11/29 23:20:34
move to css
|
| + <!-- Page URL --> |
| + <tr> |
| + <td> |
| + <table class="bug-report-table"> |
|
arv (Not doing code reviews)
2010/11/29 23:20:34
Do we really need all these tables? tables makes l
|
| + <tr> |
| + <td class="bug-report-fieldlabel"> |
| + <input id="page-url-checkbox" type="checkbox" |
|
arv (Not doing code reviews)
2010/11/29 23:20:34
Missing label.
All input[type=checkbox] and input
|
| + 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" |
|
arv (Not doing code reviews)
2010/11/29 23:20:34
I prefer <button> for buttons
|
| + 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> |