OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // TODO(jamiewalch): strict mode causes the page to crash so it's disabled for | 5 // TODO(jamiewalch): strict mode causes the page to crash so it's disabled for |
6 // now. Reinstate this when the associated bug is fixed. | 6 // now. Reinstate this when the associated bug is fixed. |
7 // http://code.google.com/p/v8/issues/detail?id=1423 | 7 // http://code.google.com/p/v8/issues/detail?id=1423 |
8 //"use strict"; | 8 //"use strict"; |
9 | 9 |
10 // TODO(ajwong): This seems like a bad idea to share the exact same object | 10 // TODO(ajwong): This seems like a bad idea to share the exact same object |
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
150 } | 150 } |
151 | 151 |
152 function setGlobalModePersistent(mode) { | 152 function setGlobalModePersistent(mode) { |
153 setGlobalMode(mode); | 153 setGlobalMode(mode); |
154 remoting.setItem('startup-mode', mode); | 154 remoting.setItem('startup-mode', mode); |
155 } | 155 } |
156 | 156 |
157 function setHostMode(mode) { | 157 function setHostMode(mode) { |
158 var section = document.getElementById('host-section'); | 158 var section = document.getElementById('host-section'); |
159 var modes = section.getElementsByClassName('mode'); | 159 var modes = section.getElementsByClassName('mode'); |
| 160 addToDebugLog('Host mode: ' + mode); |
160 setMode_(mode, modes); | 161 setMode_(mode, modes); |
161 } | 162 } |
162 | 163 |
163 function setClientMode(mode) { | 164 function setClientMode(mode) { |
164 var section = document.getElementById('client-section'); | 165 var section = document.getElementById('client-section'); |
165 var modes = section.getElementsByClassName('mode'); | 166 var modes = section.getElementsByClassName('mode'); |
| 167 addToDebugLog('Client mode: ' + mode); |
166 setMode_(mode, modes); | 168 setMode_(mode, modes); |
167 } | 169 } |
168 | 170 |
169 function tryShare() { | 171 function tryShare() { |
| 172 addToDebugLog("Attempting to share..."); |
170 if (remoting.oauth2.needsNewAccessToken()) { | 173 if (remoting.oauth2.needsNewAccessToken()) { |
| 174 addToDebugLog("Refreshing token..."); |
171 remoting.oauth2.refreshAccessToken(function() { | 175 remoting.oauth2.refreshAccessToken(function() { |
172 if (remoting.oauth2.needsNewAccessToken()) { | 176 if (remoting.oauth2.needsNewAccessToken()) { |
173 // If we still need it, we're going to infinite loop. | 177 // If we still need it, we're going to infinite loop. |
| 178 addToDebugLog("Unable to get access token"); |
174 throw "Unable to get access token"; | 179 throw "Unable to get access token"; |
175 } | 180 } |
176 tryShare(); | 181 tryShare(); |
177 }); | 182 }); |
178 return; | 183 return; |
179 } | 184 } |
180 | 185 |
181 var div = document.getElementById('plugin-wrapper'); | 186 var div = document.getElementById('plugin-wrapper'); |
182 var plugin = document.createElement('embed'); | 187 var plugin = document.createElement('embed'); |
183 plugin.setAttribute('type', remoting.PLUGIN_MIMETYPE); | 188 plugin.setAttribute('type', remoting.PLUGIN_MIMETYPE); |
(...skipping 14 matching lines...) Expand all Loading... |
198 var accessCode = plugin.accessCode; | 203 var accessCode = plugin.accessCode; |
199 var accessCodeDisplay = document.getElementById('access-code-display'); | 204 var accessCodeDisplay = document.getElementById('access-code-display'); |
200 accessCodeDisplay.innerText = accessCode; | 205 accessCodeDisplay.innerText = accessCode; |
201 setHostMode('ready-to-share'); | 206 setHostMode('ready-to-share'); |
202 } else if (state == plugin.CONNECTED) { | 207 } else if (state == plugin.CONNECTED) { |
203 setHostMode('shared'); | 208 setHostMode('shared'); |
204 } else if (state == plugin.DISCONNECTED) { | 209 } else if (state == plugin.DISCONNECTED) { |
205 setHostMode('unshared'); | 210 setHostMode('unshared'); |
206 plugin.parentNode.removeChild(plugin); | 211 plugin.parentNode.removeChild(plugin); |
207 } else { | 212 } else { |
208 window.alert('Unknown state -> ' + state); | 213 addToDebugLog('Unknown state -> ' + state); |
209 } | 214 } |
210 } | 215 } |
211 | 216 |
212 function cancelShare() { | 217 function cancelShare() { |
| 218 addToDebugLog('Canceling share...'); |
213 var plugin = document.getElementById(remoting.HOST_PLUGIN_ID); | 219 var plugin = document.getElementById(remoting.HOST_PLUGIN_ID); |
214 plugin.disconnect(); | 220 plugin.disconnect(); |
215 } | 221 } |
216 | 222 |
217 function startSession_() { | 223 function startSession_() { |
| 224 addToDebugLog('Starting session...'); |
218 remoting.username = remoting.getItem(remoting.XMPP_LOGIN_NAME); | 225 remoting.username = remoting.getItem(remoting.XMPP_LOGIN_NAME); |
219 document.location = 'remoting_session.html'; | 226 document.location = 'remoting_session.html'; |
220 } | 227 } |
221 | 228 |
222 function showConnectError_(responseCode, responseString) { | 229 function showConnectError_(responseCode, responseString) { |
223 var invalid = document.getElementById('invalid-access-code'); | 230 var invalid = document.getElementById('invalid-access-code'); |
224 var other = document.getElementById('other-connect-error'); | 231 var other = document.getElementById('other-connect-error'); |
225 if (responseCode == 404) { | 232 if (responseCode == 404) { |
226 invalid.style.display = 'block'; | 233 invalid.style.display = 'block'; |
227 other.style.display = 'none'; | 234 other.style.display = 'none'; |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
270 xhr.setRequestHeader('Authorization', | 277 xhr.setRequestHeader('Authorization', |
271 'OAuth ' + remoting.oauth2.getAccessToken()); | 278 'OAuth ' + remoting.oauth2.getAccessToken()); |
272 xhr.send(null); | 279 xhr.send(null); |
273 } | 280 } |
274 | 281 |
275 function tryConnect() { | 282 function tryConnect() { |
276 if (remoting.oauth2.needsNewAccessToken()) { | 283 if (remoting.oauth2.needsNewAccessToken()) { |
277 remoting.oauth2.refreshAccessToken(function() { | 284 remoting.oauth2.refreshAccessToken(function() { |
278 if (remoting.oauth2.needsNewAccessToken()) { | 285 if (remoting.oauth2.needsNewAccessToken()) { |
279 // If we still need it, we're going to infinite loop. | 286 // If we still need it, we're going to infinite loop. |
280 throw "Unable to get access token"; | 287 throw "Unable to get access token."; |
281 } | 288 } |
282 tryConnect(); | 289 tryConnect(); |
283 }); | 290 }); |
284 return; | 291 return; |
285 } | 292 } |
286 var accessCode = document.getElementById('access-code-entry').value; | 293 var accessCode = document.getElementById('access-code-entry').value; |
287 remoting.accessCode = accessCode; | 294 remoting.accessCode = accessCode; |
288 // TODO(jamiewalch): Since the mapping from (SupportId, HostSecret) to | 295 // TODO(jamiewalch): Since the mapping from (SupportId, HostSecret) to |
289 // AccessCode is not yet defined, assume it's hyphen-separated for now. | 296 // AccessCode is not yet defined, assume it's hyphen-separated for now. |
290 var parts = remoting.accessCode.split('-'); | 297 var parts = remoting.accessCode.split('-'); |
291 if (parts.length != 2) { | 298 if (parts.length != 2) { |
292 showConnectError_(404); | 299 showConnectError_(404); |
293 } else { | 300 } else { |
294 setClientMode('connecting'); | 301 setClientMode('connecting'); |
295 resolveSupportId(parts[0]); | 302 resolveSupportId(parts[0]); |
296 } | 303 } |
297 } | 304 } |
298 | 305 |
299 function cancelConnect() { | 306 function cancelConnect() { |
300 remoting.accessCode = ''; | 307 remoting.accessCode = ''; |
301 setClientMode('unconnected'); | 308 setClientMode('unconnected'); |
302 } | 309 } |
OLD | NEW |