OLD | NEW |
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 30 matching lines...) Expand all Loading... |
41 this.errorMsg_ = errorMsg; | 41 this.errorMsg_ = errorMsg; |
42 /** @private {Element} */ | 42 /** @private {Element} */ |
43 this.errorButton_ = errorButton; | 43 this.errorButton_ = errorButton; |
44 /** @private {HTMLElement} */ | 44 /** @private {HTMLElement} */ |
45 this.loadingIndicator_ = loadingIndicator; | 45 this.loadingIndicator_ = loadingIndicator; |
46 /** @private {Array<remoting.HostTableEntry>} */ | 46 /** @private {Array<remoting.HostTableEntry>} */ |
47 this.hostTableEntries_ = []; | 47 this.hostTableEntries_ = []; |
48 /** @private {Array<remoting.Host>} */ | 48 /** @private {Array<remoting.Host>} */ |
49 this.hosts_ = []; | 49 this.hosts_ = []; |
50 /** @private {!remoting.Error} */ | 50 /** @private {!remoting.Error} */ |
51 this.lastError_ = remoting.Error.NONE; | 51 this.lastError_ = remoting.Error.none(); |
52 /** @private {remoting.LocalHostSection} */ | 52 /** @private {remoting.LocalHostSection} */ |
53 this.localHostSection_ = new remoting.LocalHostSection( | 53 this.localHostSection_ = new remoting.LocalHostSection( |
54 /** @type {HTMLElement} */ (document.querySelector('.daemon-control')), | 54 /** @type {HTMLElement} */ (document.querySelector('.daemon-control')), |
55 new remoting.LocalHostSection.Controller( | 55 new remoting.LocalHostSection.Controller( |
56 this, new remoting.HostSetupDialog(remoting.hostController))); | 56 this, new remoting.HostSetupDialog(remoting.hostController))); |
57 | 57 |
58 /** @private {number} */ | 58 /** @private {number} */ |
59 this.webappMajorVersion_ = parseInt(chrome.runtime.getManifest().version, 10); | 59 this.webappMajorVersion_ = parseInt(chrome.runtime.getManifest().version, 10); |
60 | 60 |
61 this.errorButton_.addEventListener('click', | 61 this.errorButton_.addEventListener('click', |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
150 * Handle the results of the host list request. A success response will | 150 * Handle the results of the host list request. A success response will |
151 * include a JSON-encoded list of host descriptions, which we display if we're | 151 * include a JSON-encoded list of host descriptions, which we display if we're |
152 * able to successfully parse it. | 152 * able to successfully parse it. |
153 * | 153 * |
154 * @param {function(boolean):void} onDone The callback passed to |refresh|. | 154 * @param {function(boolean):void} onDone The callback passed to |refresh|. |
155 * @param {Array<remoting.Host>} hosts The list of hosts for the user. | 155 * @param {Array<remoting.Host>} hosts The list of hosts for the user. |
156 * @return {void} Nothing. | 156 * @return {void} Nothing. |
157 * @private | 157 * @private |
158 */ | 158 */ |
159 remoting.HostList.prototype.onHostListResponse_ = function(onDone, hosts) { | 159 remoting.HostList.prototype.onHostListResponse_ = function(onDone, hosts) { |
160 this.lastError_ = remoting.Error.NONE; | 160 this.lastError_ = remoting.Error.none(); |
161 this.hosts_ = hosts; | 161 this.hosts_ = hosts; |
162 this.sortHosts_(); | 162 this.sortHosts_(); |
163 this.save_(); | 163 this.save_(); |
164 this.loadingIndicator_.classList.remove('loading'); | 164 this.loadingIndicator_.classList.remove('loading'); |
165 onDone(true); | 165 onDone(true); |
166 }; | 166 }; |
167 | 167 |
168 /** | 168 /** |
169 * Sort the internal list of hosts. | 169 * Sort the internal list of hosts. |
170 * | 170 * |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
206 this.table_.innerText = ''; | 206 this.table_.innerText = ''; |
207 this.errorMsg_.innerText = ''; | 207 this.errorMsg_.innerText = ''; |
208 this.hostTableEntries_ = []; | 208 this.hostTableEntries_ = []; |
209 | 209 |
210 var noHostsRegistered = (this.hosts_.length == 0); | 210 var noHostsRegistered = (this.hosts_.length == 0); |
211 this.table_.hidden = noHostsRegistered; | 211 this.table_.hidden = noHostsRegistered; |
212 this.noHosts_.hidden = !noHostsRegistered; | 212 this.noHosts_.hidden = !noHostsRegistered; |
213 | 213 |
214 if (this.lastError_.isError()) { | 214 if (this.lastError_.isError()) { |
215 l10n.localizeElementFromTag(this.errorMsg_, this.lastError_.tag); | 215 l10n.localizeElementFromTag(this.errorMsg_, this.lastError_.tag); |
216 if (this.lastError_.tag == remoting.Error.Tag.AUTHENTICATION_FAILED) { | 216 if (this.lastError_.hasTag(remoting.Error.Tag.AUTHENTICATION_FAILED)) { |
217 l10n.localizeElementFromTag(this.errorButton_, | 217 l10n.localizeElementFromTag(this.errorButton_, |
218 /*i18n-content*/'SIGN_IN_BUTTON'); | 218 /*i18n-content*/'SIGN_IN_BUTTON'); |
219 } else { | 219 } else { |
220 l10n.localizeElementFromTag(this.errorButton_, | 220 l10n.localizeElementFromTag(this.errorButton_, |
221 /*i18n-content*/'RETRY'); | 221 /*i18n-content*/'RETRY'); |
222 } | 222 } |
223 } else { | 223 } else { |
224 for (var i = 0; i < this.hosts_.length; ++i) { | 224 for (var i = 0; i < this.hosts_.length; ++i) { |
225 /** @type {remoting.Host} */ | 225 /** @type {remoting.Host} */ |
226 var host = this.hosts_[i]; | 226 var host = this.hosts_[i]; |
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
389 this.lastError_.isError()); | 389 this.lastError_.isError()); |
390 }; | 390 }; |
391 | 391 |
392 /** | 392 /** |
393 * Called when the user clicks the button next to the error message. The action | 393 * Called when the user clicks the button next to the error message. The action |
394 * depends on the error. | 394 * depends on the error. |
395 * | 395 * |
396 * @private | 396 * @private |
397 */ | 397 */ |
398 remoting.HostList.prototype.onErrorClick_ = function() { | 398 remoting.HostList.prototype.onErrorClick_ = function() { |
399 if (this.lastError_.tag == remoting.Error.Tag.AUTHENTICATION_FAILED) { | 399 if (this.lastError_.hasTag(remoting.Error.Tag.AUTHENTICATION_FAILED)) { |
400 remoting.handleAuthFailureAndRelaunch(); | 400 remoting.handleAuthFailureAndRelaunch(); |
401 } else { | 401 } else { |
402 this.refresh(remoting.updateLocalHostState); | 402 this.refresh(remoting.updateLocalHostState); |
403 } | 403 } |
404 }; | 404 }; |
405 | 405 |
406 /** | 406 /** |
407 * Save the host list to local storage. | 407 * Save the host list to local storage. |
408 */ | 408 */ |
409 remoting.HostList.prototype.save_ = function() { | 409 remoting.HostList.prototype.save_ = function() { |
410 var items = {}; | 410 var items = {}; |
411 items[remoting.HostList.HOSTS_KEY] = JSON.stringify(this.hosts_); | 411 items[remoting.HostList.HOSTS_KEY] = JSON.stringify(this.hosts_); |
412 chrome.storage.local.set(items); | 412 chrome.storage.local.set(items); |
413 if (this.hosts_.length !== 0) { | 413 if (this.hosts_.length !== 0) { |
414 remoting.AppsV2Migration.saveUserInfo(); | 414 remoting.AppsV2Migration.saveUserInfo(); |
415 } | 415 } |
416 }; | 416 }; |
417 | 417 |
418 /** | 418 /** |
419 * Key name under which Me2Me hosts are cached. | 419 * Key name under which Me2Me hosts are cached. |
420 */ | 420 */ |
421 remoting.HostList.HOSTS_KEY = 'me2me-cached-hosts'; | 421 remoting.HostList.HOSTS_KEY = 'me2me-cached-hosts'; |
422 | 422 |
423 /** @type {remoting.HostList} */ | 423 /** @type {remoting.HostList} */ |
424 remoting.hostList = null; | 424 remoting.hostList = null; |
OLD | NEW |