Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(235)

Side by Side Diff: remoting/webapp/me2mom/home_screen.js

Issue 8587050: Implement rename and delete. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « remoting/webapp/me2mom/client_screen.js ('k') | remoting/webapp/me2mom/host_list.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 /**
6 * @fileoverview
7 * Functions related to the 'home screen' for Chromoting.
8 */
9
10 'use strict';
11
12 /** @suppress {duplicate} */
13 var remoting = remoting || {};
14
15 (function() {
16
17 /**
18 * Query the Remoting Directory for the user's list of hosts.
19 *
20 * @return {void} Nothing.
21 */
22 remoting.refreshHostList = function() {
23 // Fetch a new Access Token for the user, if necessary.
24 if (remoting.oauth2.needsNewAccessToken()) {
25 remoting.oauth2.refreshAccessToken(function(xhr) {
26 if (remoting.oauth2.needsNewAccessToken()) {
27 // Failed to get access token
28 console.error('refreshHostList: OAuth2 token fetch failed');
29 remoting.hostList.showError(remoting.Error.AUTHENTICATION_FAILED);
30 return;
31 }
32 remoting.refreshHostList();
33 });
34 return;
35 }
36
37 var headers = {
38 'Authorization': 'OAuth ' + remoting.oauth2.getAccessToken()
39 };
40
41 var xhr = remoting.xhr.get(
42 'https://www.googleapis.com/chromoting/v1/@me/hosts',
43 parseHostListResponse_,
44 '',
45 headers);
46 }
47
48 /**
49 * Handle the results of the host list request. A success response will
50 * include a JSON-encoded list of host descriptions, which we display if we're
51 * able to successfully parse it.
52 *
53 * @param {XMLHttpRequest} xhr The XHR object for the host list request.
54 * @return {void} Nothing.
55 */
56 function parseHostListResponse_(xhr) {
57 // Ignore host list responses if we're not on the Home screen. This mainly
58 // ensures that errors don't cause an unexpected mode switch.
59 if (remoting.currentMode != remoting.AppMode.HOME) {
60 return;
61 }
62
63 if (xhr.readyState != 4) {
64 return;
65 }
66
67 try {
68 if (xhr.status == 200) {
69 var parsed_response =
70 /** @type {{data: {items: Array}}} */ JSON.parse(xhr.responseText);
71 if (parsed_response.data && parsed_response.data.items) {
72 remoting.hostList.update(parsed_response.data.items);
73 }
74 } else {
75 // Some other error. Log for now, pretty-print in future.
76 console.error('Bad status on host list query: ', xhr);
77 var errorResponse =
78 /** @type {{error: {code: *, message: *}}} */
79 JSON.parse(xhr.responseText);
80 if (errorResponse.error &&
81 errorResponse.error.code &&
82 errorResponse.error.message) {
83 remoting.debug.log('Error code ' + errorResponse.error.code);
84 remoting.debug.log('Error message ' + errorResponse.error.message);
85 } else {
86 remoting.debug.log('Error response: ' + xhr.responseText);
87 }
88
89 // For most errors in the 4xx range, tell the user to re-authorize us.
90 if (xhr.status == 403) {
91 // The user's account is not enabled for Me2Me, so fail silently.
92 } else if (xhr.status >= 400 && xhr.status <= 499) {
93 remoting.hostList.showError(remoting.Error.GENERIC);
94 }
95 }
96 } catch (er) {
97 console.error('Error processing response: ', xhr);
98 }
99 }
100
101 }());
OLDNEW
« no previous file with comments | « remoting/webapp/me2mom/client_screen.js ('k') | remoting/webapp/me2mom/host_list.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698