| Index: remoting/host/desktop_session_proxy.cc
|
| diff --git a/remoting/host/desktop_session_proxy.cc b/remoting/host/desktop_session_proxy.cc
|
| index 7d1fc7e4f0ecd63a1802e427d059152c768306e6..1d6a1d09d6de6185eb3982de9ab14d5baa8f8869 100644
|
| --- a/remoting/host/desktop_session_proxy.cc
|
| +++ b/remoting/host/desktop_session_proxy.cc
|
| @@ -24,6 +24,7 @@
|
| #include "remoting/proto/audio.pb.h"
|
| #include "remoting/proto/control.pb.h"
|
| #include "remoting/proto/event.pb.h"
|
| +#include "remoting/protocol/capability_names.h"
|
| #include "third_party/webrtc/modules/desktop_capture/desktop_frame.h"
|
| #include "third_party/webrtc/modules/desktop_capture/desktop_geometry.h"
|
| #include "third_party/webrtc/modules/desktop_capture/mouse_cursor.h"
|
| @@ -34,8 +35,6 @@
|
| #endif // defined(OS_WIN)
|
|
|
| const bool kReadOnly = true;
|
| -const char kSendInitialResolution[] = "sendInitialResolution";
|
| -const char kRateLimitResizeRequests[] = "rateLimitResizeRequests";
|
|
|
| namespace remoting {
|
|
|
| @@ -107,7 +106,8 @@ DesktopSessionProxy::DesktopSessionProxy(
|
| scoped_refptr<base::SingleThreadTaskRunner> video_capture_task_runner,
|
| base::WeakPtr<ClientSessionControl> client_session_control,
|
| base::WeakPtr<DesktopSessionConnector> desktop_session_connector,
|
| - bool virtual_terminal)
|
| + bool virtual_terminal,
|
| + bool supports_touch_events)
|
| : audio_capture_task_runner_(audio_capture_task_runner),
|
| caller_task_runner_(caller_task_runner),
|
| io_task_runner_(io_task_runner),
|
| @@ -116,7 +116,8 @@ DesktopSessionProxy::DesktopSessionProxy(
|
| desktop_session_connector_(desktop_session_connector),
|
| pending_capture_frame_requests_(0),
|
| is_desktop_session_connected_(false),
|
| - virtual_terminal_(virtual_terminal) {
|
| + virtual_terminal_(virtual_terminal),
|
| + supports_touch_events_(supports_touch_events) {
|
| DCHECK(caller_task_runner_->BelongsToCurrentThread());
|
| }
|
|
|
| @@ -150,10 +151,14 @@ scoped_ptr<webrtc::MouseCursorMonitor>
|
| }
|
|
|
| std::string DesktopSessionProxy::GetCapabilities() const {
|
| - std::string result = kRateLimitResizeRequests;
|
| + std::string result = protocol::kRateLimitResizeRequests;
|
| // Ask the client to send its resolution unconditionally.
|
| if (virtual_terminal_)
|
| - result = result + " " + kSendInitialResolution;
|
| + result = result + " " + protocol::kSendInitialResolution;
|
| +
|
| + if (supports_touch_events_)
|
| + result = result + " " + protocol::kTouchEventsCapability;
|
| +
|
| return result;
|
| }
|
|
|
| @@ -164,7 +169,7 @@ void DesktopSessionProxy::SetCapabilities(const std::string& capabilities) {
|
| // sent its screen resolution (the 'sendInitialResolution' capability is
|
| // supported).
|
| if (virtual_terminal_ &&
|
| - HasCapability(capabilities, kSendInitialResolution)) {
|
| + HasCapability(capabilities, protocol::kSendInitialResolution)) {
|
| VLOG(1) << "Waiting for the client screen resolution.";
|
| return;
|
| }
|
|
|