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

Side by Side Diff: remoting/webapp/crd/js/host_list.js

Issue 955283002: Converted remoting.Error from an enum to a class (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Smaller diff. Created 5 years, 9 months 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 /** 5 /**
6 * @fileoverview 6 * @fileoverview
7 * Class representing the host-list portion of the home screen UI. 7 * Class representing the host-list portion of the home screen UI.
8 */ 8 */
9 9
10 'use strict'; 10 'use strict';
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 * @type {Array<remoting.HostTableEntry>} 60 * @type {Array<remoting.HostTableEntry>}
61 * @private 61 * @private
62 */ 62 */
63 this.hostTableEntries_ = []; 63 this.hostTableEntries_ = [];
64 /** 64 /**
65 * @type {Array<remoting.Host>} 65 * @type {Array<remoting.Host>}
66 * @private 66 * @private
67 */ 67 */
68 this.hosts_ = []; 68 this.hosts_ = [];
69 /** 69 /**
70 * @type {string} 70 * @type {!remoting.Error}
71 * @private 71 * @private
72 */ 72 */
73 this.lastError_ = ''; 73 this.lastError_ = remoting.Error.NONE;
74 /** 74 /**
75 * @type {remoting.Host?} 75 * @type {remoting.Host?}
76 * @private 76 * @private
77 */ 77 */
78 this.localHost_ = null; 78 this.localHost_ = null;
79 /** 79 /**
80 * @type {remoting.HostController.State} 80 * @type {remoting.HostController.State}
81 * @private 81 * @private
82 */ 82 */
83 this.localHostState_ = remoting.HostController.State.UNKNOWN; 83 this.localHostState_ = remoting.HostController.State.UNKNOWN;
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 * Query the Remoting Directory for the user's list of hosts. 160 * Query the Remoting Directory for the user's list of hosts.
161 * 161 *
162 * @param {function(boolean):void} onDone Callback invoked with true on success 162 * @param {function(boolean):void} onDone Callback invoked with true on success
163 * or false on failure. 163 * or false on failure.
164 * @return {void} Nothing. 164 * @return {void} Nothing.
165 */ 165 */
166 remoting.HostList.prototype.refresh = function(onDone) { 166 remoting.HostList.prototype.refresh = function(onDone) {
167 this.loadingIndicator_.classList.add('loading'); 167 this.loadingIndicator_.classList.add('loading');
168 /** @type {remoting.HostList} */ 168 /** @type {remoting.HostList} */
169 var that = this; 169 var that = this;
170 /** @param {remoting.Error} error */ 170 /** @param {!remoting.Error} error */
171 var onError = function(error) { 171 var onError = function(error) {
172 that.lastError_ = error; 172 that.lastError_ = error;
173 onDone(false); 173 onDone(false);
174 }; 174 };
175 remoting.hostListApi.get(this.onHostListResponse_.bind(this, onDone), 175 remoting.hostListApi.get(this.onHostListResponse_.bind(this, onDone),
176 onError); 176 onError);
177 }; 177 };
178 178
179 /** 179 /**
180 * Handle the results of the host list request. A success response will 180 * Handle the results of the host list request. A success response will
181 * include a JSON-encoded list of host descriptions, which we display if we're 181 * include a JSON-encoded list of host descriptions, which we display if we're
182 * able to successfully parse it. 182 * able to successfully parse it.
183 * 183 *
184 * @param {function(boolean):void} onDone The callback passed to |refresh|. 184 * @param {function(boolean):void} onDone The callback passed to |refresh|.
185 * @param {Array<remoting.Host>} hosts The list of hosts for the user. 185 * @param {Array<remoting.Host>} hosts The list of hosts for the user.
186 * @return {void} Nothing. 186 * @return {void} Nothing.
187 * @private 187 * @private
188 */ 188 */
189 remoting.HostList.prototype.onHostListResponse_ = function(onDone, hosts) { 189 remoting.HostList.prototype.onHostListResponse_ = function(onDone, hosts) {
190 this.lastError_ = ''; 190 this.lastError_ = remoting.Error.NONE;
191 this.hosts_ = hosts; 191 this.hosts_ = hosts;
192 this.sortHosts_(); 192 this.sortHosts_();
193 this.save_(); 193 this.save_();
194 this.loadingIndicator_.classList.remove('loading'); 194 this.loadingIndicator_.classList.remove('loading');
195 onDone(this.lastError_ == ''); 195 onDone(this.lastError_.tag == remoting.Error.Tag.NONE);
Jamie 2015/02/26 18:57:42 Not strictly related to your changes, but since ne
John Williams 2015/02/27 21:42:11 Done.
196 }; 196 };
197 197
198 /** 198 /**
199 * Sort the internal list of hosts. 199 * Sort the internal list of hosts.
200 * 200 *
201 * @suppress {reportUnknownTypes} 201 * @suppress {reportUnknownTypes}
202 * @return {void} Nothing. 202 * @return {void} Nothing.
203 */ 203 */
204 remoting.HostList.prototype.sortHosts_ = function() { 204 remoting.HostList.prototype.sortHosts_ = function() {
205 /** 205 /**
(...skipping 29 matching lines...) Expand all
235 remoting.HostList.prototype.display = function() { 235 remoting.HostList.prototype.display = function() {
236 this.table_.innerText = ''; 236 this.table_.innerText = '';
237 this.errorMsg_.innerText = ''; 237 this.errorMsg_.innerText = '';
238 this.hostTableEntries_ = []; 238 this.hostTableEntries_ = [];
239 239
240 var noHostsRegistered = (this.hosts_.length == 0); 240 var noHostsRegistered = (this.hosts_.length == 0);
241 this.table_.hidden = noHostsRegistered; 241 this.table_.hidden = noHostsRegistered;
242 this.noHosts_.hidden = !noHostsRegistered; 242 this.noHosts_.hidden = !noHostsRegistered;
243 243
244 if (this.lastError_ != '') { 244 if (this.lastError_ != '') {
245 l10n.localizeElementFromTag(this.errorMsg_, this.lastError_); 245 l10n.localizeElementFromTag(this.errorMsg_, this.lastError_.tag);
246 if (this.lastError_ == remoting.Error.AUTHENTICATION_FAILED) { 246 if (this.lastError_.tag == remoting.Error.Tag.AUTHENTICATION_FAILED) {
247 l10n.localizeElementFromTag(this.errorButton_, 247 l10n.localizeElementFromTag(this.errorButton_,
248 /*i18n-content*/'SIGN_IN_BUTTON'); 248 /*i18n-content*/'SIGN_IN_BUTTON');
249 } else { 249 } else {
250 l10n.localizeElementFromTag(this.errorButton_, 250 l10n.localizeElementFromTag(this.errorButton_,
251 /*i18n-content*/'RETRY'); 251 /*i18n-content*/'RETRY');
252 } 252 }
253 } else { 253 } else {
254 for (var i = 0; i < this.hosts_.length; ++i) { 254 for (var i = 0; i < this.hosts_.length; ++i) {
255 /** @type {remoting.Host} */ 255 /** @type {remoting.Host} */
256 var host = this.hosts_[i]; 256 var host = this.hosts_[i];
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after
474 this.setLocalHost_(localHost); 474 this.setLocalHost_(localHost);
475 }; 475 };
476 476
477 /** 477 /**
478 * Called when the user clicks the button next to the error message. The action 478 * Called when the user clicks the button next to the error message. The action
479 * depends on the error. 479 * depends on the error.
480 * 480 *
481 * @private 481 * @private
482 */ 482 */
483 remoting.HostList.prototype.onErrorClick_ = function() { 483 remoting.HostList.prototype.onErrorClick_ = function() {
484 if (this.lastError_ == remoting.Error.AUTHENTICATION_FAILED) { 484 if (this.lastError_.tag == remoting.Error.Tag.AUTHENTICATION_FAILED) {
485 remoting.handleAuthFailureAndRelaunch(); 485 remoting.handleAuthFailureAndRelaunch();
486 } else { 486 } else {
487 this.refresh(remoting.updateLocalHostState); 487 this.refresh(remoting.updateLocalHostState);
488 } 488 }
489 }; 489 };
490 490
491 /** 491 /**
492 * Save the host list to local storage. 492 * Save the host list to local storage.
493 */ 493 */
494 remoting.HostList.prototype.save_ = function() { 494 remoting.HostList.prototype.save_ = function() {
495 var items = {}; 495 var items = {};
496 items[remoting.HostList.HOSTS_KEY] = JSON.stringify(this.hosts_); 496 items[remoting.HostList.HOSTS_KEY] = JSON.stringify(this.hosts_);
497 chrome.storage.local.set(items); 497 chrome.storage.local.set(items);
498 if (this.hosts_.length !== 0) { 498 if (this.hosts_.length !== 0) {
499 remoting.AppsV2Migration.saveUserInfo(); 499 remoting.AppsV2Migration.saveUserInfo();
500 } 500 }
501 }; 501 };
502 502
503 /** 503 /**
504 * Key name under which Me2Me hosts are cached. 504 * Key name under which Me2Me hosts are cached.
505 */ 505 */
506 remoting.HostList.HOSTS_KEY = 'me2me-cached-hosts'; 506 remoting.HostList.HOSTS_KEY = 'me2me-cached-hosts';
507 507
508 /** @type {remoting.HostList} */ 508 /** @type {remoting.HostList} */
509 remoting.hostList = null; 509 remoting.hostList = null;
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698