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

Unified Diff: remoting/host/desktop_session_proxy.cc

Issue 1033913003: Touch Events capability negotiation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Pass supports_touch_events to classes that inherit BasicDesktopEnvironment Created 5 years, 7 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 side-by-side diff with in-line comments
Download patch
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;
}

Powered by Google App Engine
This is Rietveld 408576698