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

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

Issue 689473004: Add connection type to connection stats. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed typo. Created 6 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
« no previous file with comments | « no previous file | remoting/webapp/crd/js/log_to_server.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 handling creation and teardown of a remoting client session. 7 * Class handling creation and teardown of a remoting client session.
8 * 8 *
9 * The ClientSession class controls lifetime of the client plugin 9 * The ClientSession class controls lifetime of the client plugin
10 * object and provides the plugin with the functionality it needs to 10 * object and provides the plugin with the functionality it needs to
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 * @private */ 99 * @private */
100 this.plugin_ = null; 100 this.plugin_ = null;
101 /** @private */ 101 /** @private */
102 this.shrinkToFit_ = true; 102 this.shrinkToFit_ = true;
103 /** @private */ 103 /** @private */
104 this.resizeToClient_ = true; 104 this.resizeToClient_ = true;
105 /** @private */ 105 /** @private */
106 this.remapKeys_ = ''; 106 this.remapKeys_ = '';
107 /** @private */ 107 /** @private */
108 this.hasReceivedFrame_ = false; 108 this.hasReceivedFrame_ = false;
109 this.logToServer = new remoting.LogToServer(signalStrategy); 109 this.logToServer = new remoting.LogToServer(signalStrategy, mode);
110 110
111 /** @private */ 111 /** @private */
112 this.signalStrategy_ = signalStrategy; 112 this.signalStrategy_ = signalStrategy;
113 base.debug.assert(this.signalStrategy_.getState() == 113 base.debug.assert(this.signalStrategy_.getState() ==
114 remoting.SignalStrategy.State.CONNECTED); 114 remoting.SignalStrategy.State.CONNECTED);
115 this.signalStrategy_.setIncomingStanzaCallback( 115 this.signalStrategy_.setIncomingStanzaCallback(
116 this.onIncomingMessage_.bind(this)); 116 this.onIncomingMessage_.bind(this));
117 remoting.formatIq.setJids(this.signalStrategy_.getJid(), hostJid); 117 remoting.formatIq.setJids(this.signalStrategy_.getJid(), hostJid);
118 118
119 /** @type {number?} @private */ 119 /** @type {number?} @private */
(...skipping 401 matching lines...) Expand 10 before | Expand all | Expand 10 after
521 this.video_.style.height = '0px'; 521 this.video_.style.height = '0px';
522 522
523 var renderer = new remoting.MediaSourceRenderer(this.video_); 523 var renderer = new remoting.MediaSourceRenderer(this.video_);
524 this.plugin_.enableMediaSourceRendering(renderer); 524 this.plugin_.enableMediaSourceRendering(renderer);
525 this.container_.classList.add('mediasource-rendering'); 525 this.container_.classList.add('mediasource-rendering');
526 } else { 526 } else {
527 this.container_.classList.remove('mediasource-rendering'); 527 this.container_.classList.remove('mediasource-rendering');
528 } 528 }
529 529
530 this.plugin_.setOnOutgoingIqHandler(this.sendIq_.bind(this)); 530 this.plugin_.setOnOutgoingIqHandler(this.sendIq_.bind(this));
531 this.plugin_.setOnDebugMessageHandler( 531 this.plugin_.setOnDebugMessageHandler(this.onDebugMessage_.bind(this));
532 /** @param {string} msg */
533 function(msg) {
534 console.log('plugin: ' + msg.trimRight());
535 });
536 532
537 this.plugin_.setConnectionStatusUpdateHandler( 533 this.plugin_.setConnectionStatusUpdateHandler(
538 this.onConnectionStatusUpdate_.bind(this)); 534 this.onConnectionStatusUpdate_.bind(this));
539 this.plugin_.setConnectionReadyHandler(this.onConnectionReady_.bind(this)); 535 this.plugin_.setConnectionReadyHandler(this.onConnectionReady_.bind(this));
540 this.plugin_.setDesktopSizeUpdateHandler( 536 this.plugin_.setDesktopSizeUpdateHandler(
541 this.onDesktopSizeChanged_.bind(this)); 537 this.onDesktopSizeChanged_.bind(this));
542 this.plugin_.setCapabilitiesHandler(this.onSetCapabilities_.bind(this)); 538 this.plugin_.setCapabilitiesHandler(this.onSetCapabilities_.bind(this));
543 this.plugin_.setGnubbyAuthHandler( 539 this.plugin_.setGnubbyAuthHandler(
544 this.processGnubbyAuthMessage_.bind(this)); 540 this.processGnubbyAuthMessage_.bind(this));
545 this.plugin_.setMouseCursorHandler(this.updateMouseCursorImage_.bind(this)); 541 this.plugin_.setMouseCursorHandler(this.updateMouseCursorImage_.bind(this));
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
598 * remoting.Error.NONE if there is no error. 594 * remoting.Error.NONE if there is no error.
599 * @return {void} Nothing. 595 * @return {void} Nothing.
600 */ 596 */
601 remoting.ClientSession.prototype.disconnect = function(error) { 597 remoting.ClientSession.prototype.disconnect = function(error) {
602 var state = (error == remoting.Error.NONE) ? 598 var state = (error == remoting.Error.NONE) ?
603 remoting.ClientSession.State.CLOSED : 599 remoting.ClientSession.State.CLOSED :
604 remoting.ClientSession.State.FAILED; 600 remoting.ClientSession.State.FAILED;
605 601
606 // The plugin won't send a state change notification, so we explicitly log 602 // The plugin won't send a state change notification, so we explicitly log
607 // the fact that the connection has closed. 603 // the fact that the connection has closed.
608 this.logToServer.logClientSessionStateChange(state, error, this.mode_); 604 this.logToServer.logClientSessionStateChange(state, error);
609 this.error_ = error; 605 this.error_ = error;
610 this.setState_(state); 606 this.setState_(state);
611 }; 607 };
612 608
613 /** 609 /**
614 * Deletes the <embed> element from the container and disconnects. 610 * Deletes the <embed> element from the container and disconnects.
615 * 611 *
616 * @return {void} Nothing. 612 * @return {void} Nothing.
617 */ 613 */
618 remoting.ClientSession.prototype.cleanup = function() { 614 remoting.ClientSession.prototype.cleanup = function() {
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
831 remoting.SignalStrategy.State.CONNECTED) { 827 remoting.SignalStrategy.State.CONNECTED) {
832 console.log("Message above is dropped because signaling is not connected."); 828 console.log("Message above is dropped because signaling is not connected.");
833 return; 829 return;
834 } 830 }
835 831
836 this.signalStrategy_.sendMessage(message); 832 this.signalStrategy_.sendMessage(message);
837 }; 833 };
838 834
839 /** 835 /**
840 * @private 836 * @private
837 * @param {string} msg
838 */
839 remoting.ClientSession.prototype.onDebugMessage_ = function(msg) {
840 var isConnectionTypeMessage = msg.match(
841 /^Channel (.*) using (.*) connection.$/);
842 if (isConnectionTypeMessage) {
843 this.logToServer.setConnectionType(isConnectionTypeMessage[2]);
844 }
845 console.log('plugin: ' + msg.trimRight());
846 };
847
848 /**
849 * @private
841 * @param {Element} message 850 * @param {Element} message
842 */ 851 */
843 remoting.ClientSession.prototype.onIncomingMessage_ = function(message) { 852 remoting.ClientSession.prototype.onIncomingMessage_ = function(message) {
844 if (!this.plugin_) { 853 if (!this.plugin_) {
845 return; 854 return;
846 } 855 }
847 var formatted = new XMLSerializer().serializeToString(message); 856 var formatted = new XMLSerializer().serializeToString(message);
848 console.log(remoting.timestamp(), 857 console.log(remoting.timestamp(),
849 remoting.formatIq.prettifyReceiveIq(formatted)); 858 remoting.formatIq.prettifyReceiveIq(formatted));
850 this.plugin_.onIncomingIq(formatted); 859 this.plugin_.onIncomingIq(formatted);
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
1028 !this.logHostOfflineErrors_) { 1037 !this.logHostOfflineErrors_) {
1029 // The application requested host-offline errors to be suppressed, for 1038 // The application requested host-offline errors to be suppressed, for
1030 // example, because this connection attempt is using a cached host JID. 1039 // example, because this connection attempt is using a cached host JID.
1031 console.log('Suppressing host-offline error.'); 1040 console.log('Suppressing host-offline error.');
1032 state = remoting.ClientSession.State.CONNECTION_CANCELED; 1041 state = remoting.ClientSession.State.CONNECTION_CANCELED;
1033 } 1042 }
1034 } else if (oldState == remoting.ClientSession.State.CONNECTED && 1043 } else if (oldState == remoting.ClientSession.State.CONNECTED &&
1035 this.state_ == remoting.ClientSession.State.FAILED) { 1044 this.state_ == remoting.ClientSession.State.FAILED) {
1036 state = remoting.ClientSession.State.CONNECTION_DROPPED; 1045 state = remoting.ClientSession.State.CONNECTION_DROPPED;
1037 } 1046 }
1038 this.logToServer.logClientSessionStateChange(state, this.error_, this.mode_); 1047 this.logToServer.logClientSessionStateChange(state, this.error_);
1039 if (this.state_ == remoting.ClientSession.State.CONNECTED) { 1048 if (this.state_ == remoting.ClientSession.State.CONNECTED) {
1040 this.createGnubbyAuthHandler_(); 1049 this.createGnubbyAuthHandler_();
1041 this.createCastExtensionHandler_(); 1050 this.createCastExtensionHandler_();
1042 } 1051 }
1043 1052
1044 this.raiseEvent(remoting.ClientSession.Events.stateChanged, 1053 this.raiseEvent(remoting.ClientSession.Events.stateChanged,
1045 new remoting.ClientSession.StateEvent(newState, oldState) 1054 new remoting.ClientSession.StateEvent(newState, oldState)
1046 ); 1055 );
1047 }; 1056 };
1048 1057
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
1219 remoting.ClientSession.prototype.getPerfStats = function() { 1228 remoting.ClientSession.prototype.getPerfStats = function() {
1220 return this.plugin_.getPerfStats(); 1229 return this.plugin_.getPerfStats();
1221 }; 1230 };
1222 1231
1223 /** 1232 /**
1224 * Logs statistics. 1233 * Logs statistics.
1225 * 1234 *
1226 * @param {remoting.ClientSession.PerfStats} stats 1235 * @param {remoting.ClientSession.PerfStats} stats
1227 */ 1236 */
1228 remoting.ClientSession.prototype.logStatistics = function(stats) { 1237 remoting.ClientSession.prototype.logStatistics = function(stats) {
1229 this.logToServer.logStatistics(stats, this.mode_); 1238 this.logToServer.logStatistics(stats);
1230 }; 1239 };
1231 1240
1232 /** 1241 /**
1233 * Enable or disable logging of connection errors due to a host being offline. 1242 * Enable or disable logging of connection errors due to a host being offline.
1234 * For example, if attempting a connection using a cached JID, host-offline 1243 * For example, if attempting a connection using a cached JID, host-offline
1235 * errors should not be logged because the JID will be refreshed and the 1244 * errors should not be logged because the JID will be refreshed and the
1236 * connection retried. 1245 * connection retried.
1237 * 1246 *
1238 * @param {boolean} enable True to log host-offline errors; false to suppress. 1247 * @param {boolean} enable True to log host-offline errors; false to suppress.
1239 */ 1248 */
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after
1565 * @param {string} data Contents of the extension message. 1574 * @param {string} data Contents of the extension message.
1566 * @return {boolean} True if the message was recognized, false otherwise. 1575 * @return {boolean} True if the message was recognized, false otherwise.
1567 */ 1576 */
1568 remoting.ClientSession.prototype.handleExtensionMessage = 1577 remoting.ClientSession.prototype.handleExtensionMessage =
1569 function(type, data) { 1578 function(type, data) {
1570 if (this.videoFrameRecorder_) { 1579 if (this.videoFrameRecorder_) {
1571 return this.videoFrameRecorder_.handleMessage(type, data); 1580 return this.videoFrameRecorder_.handleMessage(type, data);
1572 } 1581 }
1573 return false; 1582 return false;
1574 } 1583 }
OLDNEW
« no previous file with comments | « no previous file | remoting/webapp/crd/js/log_to_server.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698