summaryrefslogtreecommitdiffstats
path: root/chrome/browser/sync/resources
diff options
context:
space:
mode:
authortim@chromium.org <tim@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-11 21:57:27 +0000
committertim@chromium.org <tim@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-11 21:57:27 +0000
commit96209ccda702ea92fd257a17d8a70f93bce0ddb5 (patch)
tree65c94e91dc281bf8ed5f66a7c3f28a270f09ac6f /chrome/browser/sync/resources
parentf0b97f1ddf05cdca3cbba263ba663a2cc1ace7b3 (diff)
downloadchromium_src-96209ccda702ea92fd257a17d8a70f93bce0ddb5.zip
chromium_src-96209ccda702ea92fd257a17d8a70f93bce0ddb5.tar.gz
chromium_src-96209ccda702ea92fd257a17d8a70f93bce0ddb5.tar.bz2
sync: second factor auth support
BUG=58712 TEST=Sign in to sync with two-step verification account. SigninManagerTest. Review URL: http://codereview.chromium.org/3702002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62191 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/sync/resources')
-rw-r--r--chrome/browser/sync/resources/gaia_login.html95
1 files changed, 79 insertions, 16 deletions
diff --git a/chrome/browser/sync/resources/gaia_login.html b/chrome/browser/sync/resources/gaia_login.html
index 7834942..7dcd684 100644
--- a/chrome/browser/sync/resources/gaia_login.html
+++ b/chrome/browser/sync/resources/gaia_login.html
@@ -106,6 +106,19 @@
#content_table {
padding: 2px;
}
+ .access_code_row {
+ display: none;
+ }
+ .access_code_row > td {
+ text-align: center;
+ padding-bottom: 1px;
+ }
+ #access_code_label_row > td {
+ padding-top: 6px;
+ }
+ .centeredtext {
+ text-align: center;
+ }
</style>
</head>
<body bgcolor="#ffffff" vlink="#666666"
@@ -173,11 +186,19 @@
var span = document.getElementById('email_readonly');
span.appendChild(document.createTextNode(f.Email.value));
span.style.display = 'inline';
- setElementDisplay("createaccountdiv", "none");
- }
- }
- if (1 == args.error) {
- setElementDisplay("errormsg_1_Password", 'table-row');
+ setElementDisplay("createaccountdiv", "none");
+ }
+
+ f.AccessCode.disabled = true;
+ }
+ if (1 == args.error) {
+ var access_code = document.getElementById('AccessCode');
+ if (access_code.value && access_code.value != "") {
+ setElementDisplay("errormsg_0_AccessCode", 'block');
+ showAccessCodeRequired();
+ } else {
+ setElementDisplay("errormsg_1_Password", 'table-row');
+ }
setBlurbError();
}
if (3 == args.error) {
@@ -185,7 +206,10 @@
setBlurbError();
}
if (4 == args.error) {
- showCaptcha(args);
+ showCaptcha(args);
+ }
+ if (8 == args.error) {
+ showAccessCodeRequired();
}
document.getElementById("signIn").disabled = false;
document.getElementById("signIn").value = templateData['signin'];
@@ -195,8 +219,9 @@
function showCaptcha(args) {
g_is_captcha_challenge_active = true;
- // The captcha takes up lots of space, so make room.
- setElementDisplay("top_blurb", "none");
+ // The captcha takes up lots of space, so make room.
+ setElementDisplay("top_blurb", "none");
+ setElementDisplay("top_blurb_error", "none");
setElementDisplay("createaccountdiv", "none");
var gaiaTable = document.getElementById('gaia_table');
gaiaTable.cellPadding = 0;
@@ -212,6 +237,18 @@
document.getElementById('CaptchaValue').disabled = false;
document.getElementById('captcha_wrapper').style.backgroundImage =
url(args.captchaUrl);
+ }
+
+ function showAccessCodeRequired() {
+ setElementDisplay("password_row", "none");
+ setElementDisplay("email_row", "none");
+ document.getElementById("createaccountcell").style.visibility =
+ "hidden";
+
+ setElementDisplay("access_code_label_row", "table-row");
+ setElementDisplay("access_code_input_row", "table-row");
+ setElementDisplay("access_code_help_row", "table-row");
+ document.getElementById('AccessCode').disabled = false;
}
function CloseDialog() {
@@ -254,15 +291,17 @@
return false;
document.getElementById('Email').disabled = true;
- document.getElementById('Passwd').disabled = true;
- document.getElementById('CaptchaValue').disabled = true;
+ document.getElementById('Passwd').disabled = true;
+ document.getElementById('CaptchaValue').disabled = true;
+ document.getElementById('AccessCode').disabled = true;
var throbber = document.getElementById('throbber_container');
throbber.style.display = "inline";
var f = document.getElementById("gaia_loginform");
var result = JSON.stringify({"user" : f.Email.value,
"pass" : f.Passwd.value,
- "captcha" : f.CaptchaValue.value});
+ "captcha" : f.CaptchaValue.value,
+ "access_code" : f.AccessCode.value});
document.getElementById("signIn").disabled = true;
chrome.send("SubmitAuth", [result]);
}
@@ -270,7 +309,7 @@
function setElementDisplay(id, display) {
var d = document.getElementById(id);
if (d)
- d.style.display = display;
+ d.style.display = display;
}
function setBlurbError() {
@@ -284,8 +323,9 @@
function resetErrorVisibility() {
setElementDisplay("errormsg_0_Email", 'none');
setElementDisplay("errormsg_0_Password", 'none');
- setElementDisplay("errormsg_1_Password", 'none');
- setElementDisplay("errormsg_0_Connection", 'none');
+ setElementDisplay("errormsg_1_Password", 'none');
+ setElementDisplay("errormsg_0_Connection", 'none');
+ setElementDisplay("errormsg_0_AccessCode", 'none');
}
function setErrorVisibility() {
@@ -299,6 +339,11 @@
if (null == f.Passwd.value || "" == f.Passwd.value) {
setElementDisplay("errormsg_0_Password", 'table-row');
setBlurbError();
+ return false;
+ }
+ if (!f.AccessCode.disabled && (null == f.AccessCode.value ||
+ "" == f.AccessCode.value)) {
+ setElementDisplay("errormsg_0_Password", 'table-row');
return false;
}
return true;
@@ -366,7 +411,7 @@
<tr>
<td colspan="2" align="center"> </td>
</tr>
- <tr>
+ <tr id="email_row">
<td nowrap="nowrap">
<div class="endaligned">
<span class="gaia le lbl" i18n-content="emaillabel">
@@ -379,6 +424,15 @@
<span id="email_readonly"></span>
</td>
</tr>
+ <tr id="access_code_label_row" class="access_code_row">
+ <td colspan="2">
+ <span class="gaia le lbl" i18n-content="enteraccesscode"></span>
+ </td>
+ </tr>
+ <tr id="access_code_help_row" class="access_code_row">
+ <td colspan="2" class="gaia le fpwd">
+ <a i18n-values="href:getaccesscodeurl" i18n-content="getaccesscodehelp" target="_blank"></a>
+ </td>
<tr>
<td></td>
<td>
@@ -391,7 +445,7 @@
<td></td>
<td></td>
</tr>
- <tr>
+ <tr id="password_row">
<td class="endaligned">
<span class="gaia le lbl" i18n-content="passwordlabel">
</span>
@@ -401,6 +455,12 @@
class="gaia le val"/>
</td>
</tr>
+ <tr id="access_code_input_row" class="access_code_row">
+ <td colspan="2">
+ <input type="password" name="AccessCode" id="AccessCode" size="18"
+ class="gaia le val"/>
+ </td>
+ </tr>
<tr>
<td>
</td>
@@ -412,6 +472,9 @@
<div class="errormsg" id="errormsg_1_Password">
<span i18n-content="invalidcredentials"></span>[<a i18n-values="href:invalidpasswordhelpurl" target="_blank">?</a>]
</div>
+ <div class="errormsg centeredtext" id="errormsg_0_AccessCode"
+ i18n-content="invalidaccesscode">
+ </div>
</div>
</td>
</tr>