Html程序  |  174行  |  4.81 KB

<html i18n-values="dir:textdirection;">
<head>
<title></title>
<style type="text/css">
body {
   line-height: 1.4em;
   background: #FFFFFF;
   font-size: 11pt;
}
html[os='mac'] body {
  line-height: 1.5em;
  background: #FFFFFF;
}
form {
  -webkit-user-select: none;
}
.sync-header {
  font-size: 1.2em;
  font-weight: bold;
  margin-bottom: 10px;
}

.sync-footer {
  position: fixed;
  right: 0px;
  bottom: 0px;
  margin-right: 10px;
  margin-bottom: 10px;
}
html[dir='rtl'] .sync-footer {
  text-align: left;
  left: 0px;
  bottom: 0px;
  margin-left: 20px;
}
input[type='button'],
input[type='submit'] {
  min-width: 87px;
  min-height: 26px;
}
html[os='mac'] input[type='button'],
html[os='mac'] input[type='submit'] {
  font-size: 12pt;
}
#passphrase-input {
  margin-top: 20px;
  margin-bottom: 20px;
}
#incorrectPassphrase {
  margin-top: 5px;
}
.error {
  color: red;
}
.overlay-warning {
  position: absolute;
  display: none;
  left: 25px;
  right: 25px;
  top: 100px;
  background: white;
  border: 2px solid #888;
  border-radius: 8px;
  padding: 15px;
  box-shadow: 0.2em 0.2em 0.5em #888;
}
#cancel-warning-header {
  font-weight: bold;
  margin-bottom: 8px;
}
.overlay-warning INPUT {
  margin-top: 12px;
  float: right;
  margin-left: 5px;
}
#sync-passphrase-warning {
  margin-bottom: 5px;
}
</style>
<script src="chrome://resources/js/cr.js"></script>
<script>
  // Called once, when this html/js is loaded.
  function setupPassphraseDialog(args) {
    // Allow platform specific rules
    if (cr.isMac) {
      document.documentElement.setAttribute('os', 'mac');
    } else if (!cr.isWindows) {
      document.documentElement.setAttribute('os', 'linux');
    }

    document.getElementById("passphraseRejectedBody").style.display = "none";
    document.getElementById("normalBody").style.display = "none";
    document.getElementById("incorrectPassphrase").style.display = "none";

    if (args["passphrase_creation_rejected"]) {
      document.getElementById("passphraseRejectedBody").style.display = "block";
    } else {
      document.getElementById("normalBody").style.display = "block";
    }

    if (args["passphrase_setting_rejected"]) {
      document.getElementById("incorrectPassphrase").style.display = "block";
    }
  }

  function sendPassphraseAndClose() {
    var f = document.getElementById("passphraseForm");
    var result = JSON.stringify({"passphrase": f.passphrase.value});
    chrome.send("Passphrase", [result]);
  }

  function showCancelWarning() {
    document.getElementById("cancel-warning-box").style.display = "block";
    document.getElementById("okButton").disabled = true;
    document.getElementById("cancelButton").disabled = true;
  }

  function hideCancelWarning() {
    document.getElementById("cancel-warning-box").style.display = "none";
    document.getElementById("okButton").disabled = false;
    document.getElementById("cancelButton").disabled = false;
  }

  function goToDashboard() {
    chrome.send("GoToDashboard", [""]);
    chrome.send("DialogClose", [""]);
  }
</script>
</head>
<body i18n-values=".style.fontFamily:fontfamily"
      onload="setupPassphraseDialog(JSON.parse(chrome.dialogArguments));">
<form id="passphraseForm"
      onSubmit="sendPassphraseAndClose(); return false;">
  <div id="enter-passphrase">
    <div class="sync-header" id="enterTitle"
         i18n-content="enterPassphraseTitle"></div>
    <div class="sync-instructions-start-hidden" id="normalBody"
         i18n-content="enterPassphraseBody"></div>
    <div class="sync-instructions-start-hidden" id="passphraseRejectedBody"
         i18n-content="enterOtherPassphraseBody"></div>
  </div>

  <div id="passphrase-input">
    <label id="passphraseLabel" name="passphraseLabel"
           for="passphrase" i18n-content="passphraseLabel">
    </label>
    <input id="passphrase" name="passphrase" type="password" />
    <div class="error" id="incorrectPassphrase"
         i18n-content="incorrectPassphrase">
    </div>
  </div>

  <span id="sync-passphrase-warning" i18n-content="passphraseRecover">
  </span> <a id="clear-data-link" i18n-content="cleardatalink" href="#"
     onclick="goToDashboard(); return false;"></a>

  <div class="overlay-warning" id="cancel-warning-box">
    <div id="cancel-warning-header" i18n-content="cancelWarningHeader"></div>
    <div id="cancel-warning" i18n-content="cancelWarning"></div>
    <input id="cancel-no-button" type="submit" i18n-values="value:no"
           onclick="hideCancelWarning(); return false;" />
    <input id="cancel-yes-button" type="submit" i18n-values="value:yes"
           onclick="chrome.send('PassphraseCancel', ['']); return false;" />
  </div>

  <div class="sync-footer">
    <input id="okButton" type="submit" i18n-values="value:ok" />
    <input id="cancelButton" type="button" i18n-values="value:cancel"
           onclick="showCancelWarning(); return false;" />
  </div>
</form>
</body>
</html>