summaryrefslogtreecommitdiffstats
path: root/remoting/host/client_session.h
diff options
context:
space:
mode:
authoralexeypa@chromium.org <alexeypa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-19 14:55:37 +0000
committeralexeypa@chromium.org <alexeypa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-19 14:55:37 +0000
commita5d181f50c2543ac837623a0b619a6a487913fa5 (patch)
tree7ba018efcd8bbfb51478b5dd1bf0b5ed66bddf36 /remoting/host/client_session.h
parent48b6601cb7a02a3cd6ff74c8f9d5f222ddc2304f (diff)
downloadchromium_src-a5d181f50c2543ac837623a0b619a6a487913fa5.zip
chromium_src-a5d181f50c2543ac837623a0b619a6a487913fa5.tar.gz
chromium_src-a5d181f50c2543ac837623a0b619a6a487913fa5.tar.bz2
Set the initial resolution of an RDP session to the client screen resolution if it is available.
Changes in this CL: - The version of the control channel is increased to 3. This allows the host and client to tell if the peer supports capabilities negotiation or not. - The client and host negotiate supported capabilities by sending each other a list of the supported capabilities. Capabilities supported by both client and host are assumed to be enabled. - The client plugin and webapp negotiate the list of capabilities supported by the client. The webapp has the final word. - The DesktopEnvironment interface was extended to provide the list of all supported capabilities and receive the results of negotiation with the client. - Added the 'sendInitialResolution' capability. When it is enabled the client sends its screen resolution to the host once the connection has been established. - DesktopSessionProxy now waits for the client screen resolution when the 'sendInitialResolution' capability is enabled. BUG=230893 Review URL: https://chromiumcodereview.appspot.com/13932020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195192 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/host/client_session.h')
-rw-r--r--remoting/host/client_session.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/remoting/host/client_session.h b/remoting/host/client_session.h
index da850bc..778243d 100644
--- a/remoting/host/client_session.h
+++ b/remoting/host/client_session.h
@@ -5,7 +5,7 @@
#ifndef REMOTING_HOST_CLIENT_SESSION_H_
#define REMOTING_HOST_CLIENT_SESSION_H_
-#include <list>
+#include <string>
#include "base/memory/ref_counted.h"
#include "base/memory/weak_ptr.h"
@@ -104,6 +104,8 @@ class ClientSession
const protocol::VideoControl& video_control) OVERRIDE;
virtual void ControlAudio(
const protocol::AudioControl& audio_control) OVERRIDE;
+ virtual void SetCapabilities(
+ const protocol::Capabilities& capabilities) OVERRIDE;
// protocol::ConnectionToClient::EventHandler interface.
virtual void OnConnectionAuthenticated(
@@ -209,6 +211,12 @@ class ClientSession
scoped_refptr<AudioScheduler> audio_scheduler_;
scoped_refptr<VideoScheduler> video_scheduler_;
+ // The set of all capabilities supported by the client.
+ scoped_ptr<std::string> client_capabilities_;
+
+ // The set of all capabilities supported by the host.
+ std::string host_capabilities_;
+
// Used to inject mouse and keyboard input and handle clipboard events.
scoped_ptr<InputInjector> input_injector_;