Chromium Code Reviews| Index: remoting/webapp/me2mom/remoting.js |
| diff --git a/remoting/webapp/me2mom/remoting.js b/remoting/webapp/me2mom/remoting.js |
| index 76dd63f224e77c4ba8ad677f66402677b95c11a6..adc0638209e2e764a64a88c6165f06710fc7978f 100644 |
| --- a/remoting/webapp/me2mom/remoting.js |
| +++ b/remoting/webapp/me2mom/remoting.js |
| @@ -31,13 +31,20 @@ function updateAuthStatus_() { |
| document.getElementById('xmpp_form').style.display = 'none'; |
| xmpp_status.innerText = 'OK'; |
| xmpp_status.style.color = 'green'; |
| - remoting.xmppAuthToken = remoting.getItem(XMPP_TOKEN_NAME); |
| } else { |
| document.getElementById('xmpp_clear').style.display = 'none'; |
| document.getElementById('xmpp_form').style.display = 'inline'; |
| xmpp_status.innerText = 'Unauthorized'; |
| xmpp_status.style.color = 'red'; |
| } |
| + var current_email = document.getElementById('current_email'); |
| + if (remoting.getItem(XMPP_LOGIN_NAME)) { |
|
Wez
2011/05/25 03:57:46
It's a bit confusing that XMPP_LOGIN_NAME contains
awong
2011/05/25 16:56:56
Yes...I'm not going to change this for now. We're
|
| + oauth2_status.style.color = 'green'; |
| + current_email.innerText = remoting.getItem(XMPP_LOGIN_NAME); |
| + } else { |
| + oauth2_status.style.color = 'red'; |
| + current_email.innerText = 'missing e-mail'; |
| + } |
| } |
| function clientLoginError_(xhr) { |
| @@ -139,6 +146,11 @@ function authorizeXmpp(form) { |
| xhr.send(post_data); |
| } |
| +function setEmail(form) { |
| + remoting.setItem(XMPP_LOGIN_NAME, form['new_email'].value); |
| + updateAuthStatus_(); |
| +} |
| + |
| function authorizeOAuth2(code) { |
| remoting.oauth2.exchangeCodeForToken(code, updateAuthStatus_); |
| } |
| @@ -194,6 +206,11 @@ function setClientMode(mode) { |
| } |
| function tryShare() { |
| + if (remoting.oauth2.needsNewAccessToken()) { |
| + remoting.oauth2.refreshAccessToken(tryShare); |
| + return; |
| + } |
| + |
| var div = document.getElementById('plugin_wrapper'); |
| var plugin = document.createElement('embed'); |
| plugin.setAttribute('type', 'HOST_PLUGIN_MIMETYPE'); |
| @@ -202,7 +219,7 @@ function tryShare() { |
| div.appendChild(plugin); |
| plugin.onStateChanged = onStateChanged_; |
| plugin.connect(remoting.getItem(XMPP_LOGIN_NAME), |
| - remoting.getItem(XMPP_TOKEN_NAME)); |
| + 'oauth2:' + remoting.oauth2.getAccessToken()); |
| } |
| function onStateChanged_() { |
| @@ -287,8 +304,15 @@ function resolveSupportId(support_id) { |
| xhr.send(null); |
| } |
| -function tryConnect(form) { |
| - remoting.accessCode = normalizeAccessCode(form['access_code_entry'].value); |
| +function tryConnect(accessCode) { |
| + if (remoting.oauth2.needsNewAccessToken()) { |
| + remoting.oauth2.refreshAccessToken(function() { |
| + tryConnect(accessCode); |
|
Wez
2011/05/25 03:57:46
Is there any possibility of this getting stuck in
awong
2011/05/25 17:07:31
Good point. Added simple break for now.
|
| + }); |
| + return; |
| + } |
| + |
| + remoting.accessCode = accessCode; |
| // TODO(jamiewalch): Since the mapping from (SupportId, HostSecret) to |
| // AccessCode is not yet defined, assume it's hyphen-separated for now. |
| var parts = remoting.accessCode.split('-'); |
| @@ -296,14 +320,7 @@ function tryConnect(form) { |
| showConnectError_(404); |
| } else { |
| setClientMode('connecting'); |
| - if (remoting.oauth2.needsNewAccessToken()) { |
| - remoting.oauth2.refreshAccessToken(function() { |
| - resolveSupportId(parts[0]); |
| - }); |
| - return; |
| - } else { |
| - resolveSupportId(parts[0]); |
| - } |
| + resolveSupportId(parts[0]); |
| } |
| } |