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

Side by Side Diff: remoting/webapp/app_remoting/js/app_remoting_activity.js

Issue 1093373005: [Webapp Refactor] Cleans up the ClientSession.EventHandler interface. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 8 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 /** @suppress {duplicate} */ 5 /** @suppress {duplicate} */
6 var remoting = remoting || {}; 6 var remoting = remoting || {};
7 7
8 /** 8 /**
9 * Type definition for the RunApplicationResponse returned by the API. 9 * Type definition for the RunApplicationResponse returned by the API.
10 * @typedef {{ 10 * @typedef {{
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 {fetchThirdPartyToken: fetchThirdPartyToken}); 133 {fetchThirdPartyToken: fetchThirdPartyToken});
134 var that = this; 134 var that = this;
135 135
136 this.sessionFactory_.createSession(this).then( 136 this.sessionFactory_.createSession(this).then(
137 function(/** remoting.ClientSession */ session) { 137 function(/** remoting.ClientSession */ session) {
138 that.session_ = session; 138 that.session_ = session;
139 session.logHostOfflineErrors(true); 139 session.logHostOfflineErrors(true);
140 session.connect(host, credentialsProvider); 140 session.connect(host, credentialsProvider);
141 }); 141 });
142 } else if (response && response.status == 'pending') { 142 } else if (response && response.status == 'pending') {
143 this.onError(new remoting.Error( 143 this.onConnectionFailed(new remoting.Error(
144 remoting.Error.Tag.SERVICE_UNAVAILABLE)); 144 remoting.Error.Tag.SERVICE_UNAVAILABLE));
145 } 145 }
146 } else { 146 } else {
147 console.error('Invalid "runApplication" response from server.'); 147 console.error('Invalid "runApplication" response from server.');
148 this.onError(remoting.Error.fromHttpStatus(xhrResponse.status)); 148 this.onConnectionFailed(remoting.Error.fromHttpStatus(xhrResponse.status));
149 } 149 }
150 }; 150 };
151 151
152 /** 152 /**
153 * @param {remoting.ConnectionInfo} connectionInfo 153 * @param {remoting.ConnectionInfo} connectionInfo
154 */ 154 */
155 remoting.AppRemotingActivity.prototype.onConnected = function(connectionInfo) { 155 remoting.AppRemotingActivity.prototype.onConnected = function(connectionInfo) {
156 this.connectedView_ = new remoting.AppConnectedView( 156 this.connectedView_ = new remoting.AppConnectedView(
157 document.getElementById('client-container'), connectionInfo); 157 document.getElementById('client-container'), connectionInfo);
158 158
159 var idleDetector = new remoting.IdleDetector( 159 var idleDetector = new remoting.IdleDetector(
160 document.getElementById('idle-dialog'), this.stop.bind(this)); 160 document.getElementById('idle-dialog'), this.stop.bind(this));
161 161
162 // Map Cmd to Ctrl on Mac since hosts typically use Ctrl for keyboard 162 // Map Cmd to Ctrl on Mac since hosts typically use Ctrl for keyboard
163 // shortcuts, but we want them to act as natively as possible. 163 // shortcuts, but we want them to act as natively as possible.
164 if (remoting.platformIsMac()) { 164 if (remoting.platformIsMac()) {
165 connectionInfo.plugin().setRemapKeys('0x0700e3>0x0700e0,0x0700e7>0x0700e4'); 165 connectionInfo.plugin().setRemapKeys('0x0700e3>0x0700e0,0x0700e7>0x0700e4');
166 } 166 }
167 }; 167 };
168 168
169 remoting.AppRemotingActivity.prototype.onDisconnected = function() { 169 /**
170 * @param {remoting.Error} error
171 */
172 remoting.AppRemotingActivity.prototype.onDisconnected = function(error) {
173 if (error.isNone()) {
174 chrome.app.window.current().close();
175 } else {
176 this.showErrorMessage_(error);
177 }
170 this.cleanup_(); 178 this.cleanup_();
171 chrome.app.window.current().close();
172 }; 179 };
173 180
174 /** 181 /**
175 * @param {!remoting.Error} error 182 * @param {!remoting.Error} error
176 */ 183 */
177 remoting.AppRemotingActivity.prototype.onConnectionFailed = function(error) { 184 remoting.AppRemotingActivity.prototype.onConnectionFailed = function(error) {
178 this.onError(error); 185 remoting.LoadingWindow.close();
186 this.showErrorMessage_(error);
187 this.cleanup_();
179 }; 188 };
180 189
181 /** 190 /**
182 * @param {!remoting.Error} error The error to be localized and displayed. 191 * @param {!remoting.Error} error The error to be localized and displayed.
192 * @private
183 */ 193 */
184 remoting.AppRemotingActivity.prototype.onError = function(error) { 194 remoting.AppRemotingActivity.prototype.showErrorMessage_ = function(error) {
185 console.error('Connection failed: ' + error.toString()); 195 console.error('Connection failed: ' + error.toString());
186 remoting.LoadingWindow.close();
187 remoting.MessageWindow.showErrorMessage( 196 remoting.MessageWindow.showErrorMessage(
188 chrome.i18n.getMessage(/*i18n-content*/'CONNECTION_FAILED'), 197 chrome.i18n.getMessage(/*i18n-content*/'CONNECTION_FAILED'),
189 chrome.i18n.getMessage(error.getTag())); 198 chrome.i18n.getMessage(error.getTag()));
190 this.cleanup_();
191 }; 199 };
192 200
193 })(); 201 })();
OLDNEW
« no previous file with comments | « no previous file | remoting/webapp/crd/js/client_session.js » ('j') | remoting/webapp/crd/js/client_session.js » ('J')

Powered by Google App Engine
This is Rietveld 408576698