| 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 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 367 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 378 | 378 |
| 379 // Let the host know that we're interested in knowing whether or not it | 379 // Let the host know that we're interested in knowing whether or not it |
| 380 // rate limits desktop-resize requests. | 380 // rate limits desktop-resize requests. |
| 381 RATE_LIMIT_RESIZE_REQUESTS: 'rateLimitResizeRequests', | 381 RATE_LIMIT_RESIZE_REQUESTS: 'rateLimitResizeRequests', |
| 382 | 382 |
| 383 // Indicates that the client supports the video frame-recording extension. | 383 // Indicates that the client supports the video frame-recording extension. |
| 384 VIDEO_RECORDER: 'videoRecorder', | 384 VIDEO_RECORDER: 'videoRecorder', |
| 385 | 385 |
| 386 // Indicates that the client supports 'cast'ing the video stream to a | 386 // Indicates that the client supports 'cast'ing the video stream to a |
| 387 // cast-enabled device. | 387 // cast-enabled device. |
| 388 CAST: 'casting' | 388 CAST: 'casting', |
| 389 |
| 390 // When enabled, this capability results in the client informing the host |
| 391 // that it supports Gnubby-based authentication. |
| 392 GNUBBY_AUTH: 'gnubbyAuth' |
| 389 }; | 393 }; |
| 390 | 394 |
| 391 /** | 395 /** |
| 392 * The set of capabilities negotiated between the client and host. | 396 * The set of capabilities negotiated between the client and host. |
| 393 * @type {Array.<string>} | 397 * @type {Array.<string>} |
| 394 * @private | 398 * @private |
| 395 */ | 399 */ |
| 396 remoting.ClientSession.prototype.capabilities_ = null; | 400 remoting.ClientSession.prototype.capabilities_ = null; |
| 397 | 401 |
| 398 /** | 402 /** |
| (...skipping 1137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1536 console.error('Received unexpected gnubby message'); | 1540 console.error('Received unexpected gnubby message'); |
| 1537 } | 1541 } |
| 1538 }; | 1542 }; |
| 1539 | 1543 |
| 1540 /** | 1544 /** |
| 1541 * Create a gnubby auth handler and inform the host that gnubby auth is | 1545 * Create a gnubby auth handler and inform the host that gnubby auth is |
| 1542 * supported. | 1546 * supported. |
| 1543 * @private | 1547 * @private |
| 1544 */ | 1548 */ |
| 1545 remoting.ClientSession.prototype.createGnubbyAuthHandler_ = function() { | 1549 remoting.ClientSession.prototype.createGnubbyAuthHandler_ = function() { |
| 1546 if (this.mode_ == remoting.ClientSession.Mode.ME2ME) { | 1550 if (this.hasCapability_(remoting.ClientSession.Capability.GNUBBY_AUTH) && |
| 1551 this.mode_ == remoting.ClientSession.Mode.ME2ME) { |
| 1547 this.gnubbyAuthHandler_ = new remoting.GnubbyAuthHandler(this); | 1552 this.gnubbyAuthHandler_ = new remoting.GnubbyAuthHandler(this); |
| 1548 // TODO(psj): Move to more generic capabilities mechanism. | 1553 // TODO(psj): Move to more generic capabilities mechanism. |
| 1549 this.sendGnubbyAuthMessage({'type': 'control', 'option': 'auth-v1'}); | 1554 this.sendGnubbyAuthMessage({'type': 'control', 'option': 'auth-v1'}); |
| 1550 } | 1555 } |
| 1551 }; | 1556 }; |
| 1552 | 1557 |
| 1553 /** | 1558 /** |
| 1554 * @return {{width: number, height: number}} The height of the window's client | 1559 * @return {{width: number, height: number}} The height of the window's client |
| 1555 * area. This differs between apps v1 and apps v2 due to the custom window | 1560 * area. This differs between apps v1 and apps v2 due to the custom window |
| 1556 * borders used by the latter. | 1561 * borders used by the latter. |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1661 * @param {string} data Contents of the extension message. | 1666 * @param {string} data Contents of the extension message. |
| 1662 * @return {boolean} True if the message was recognized, false otherwise. | 1667 * @return {boolean} True if the message was recognized, false otherwise. |
| 1663 */ | 1668 */ |
| 1664 remoting.ClientSession.prototype.handleExtensionMessage = | 1669 remoting.ClientSession.prototype.handleExtensionMessage = |
| 1665 function(type, data) { | 1670 function(type, data) { |
| 1666 if (this.videoFrameRecorder_) { | 1671 if (this.videoFrameRecorder_) { |
| 1667 return this.videoFrameRecorder_.handleMessage(type, data); | 1672 return this.videoFrameRecorder_.handleMessage(type, data); |
| 1668 } | 1673 } |
| 1669 return false; | 1674 return false; |
| 1670 } | 1675 } |
| OLD | NEW |