Html程序  |  291行  |  10.98 KB

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