summaryrefslogtreecommitdiffstats
path: root/remoting/host/client_session.h
diff options
context:
space:
mode:
authorlambroslambrou@chromium.org <lambroslambrou@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-10 03:30:19 +0000
committerlambroslambrou@chromium.org <lambroslambrou@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-10 03:30:19 +0000
commit4fe827a4470d67eb2e9c6b71f3f60580a33cc8a4 (patch)
treed3093653f373c963c026809c352d96f202df0724 /remoting/host/client_session.h
parent7103f820b58e3f2a18a96b52c302444e1be35082 (diff)
downloadchromium_src-4fe827a4470d67eb2e9c6b71f3f60580a33cc8a4.zip
chromium_src-4fe827a4470d67eb2e9c6b71f3f60580a33cc8a4.tar.gz
chromium_src-4fe827a4470d67eb2e9c6b71f3f60580a33cc8a4.tar.bz2
Make floor-control more robust.
Check all injected mouse positions, not just the first one, to deal with possibility that mouse-injection API might fail. Also rename recent_remote_mouse_positions_ to injected_mouse_positions_ to emphasize these are the events that were (attempted to be) injected into the host. BUG=None TEST=Use buggy Mac client to send invalid mouse position to Linux host (move mouse off-screen. Review URL: http://codereview.chromium.org/7604007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96124 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/host/client_session.h')
-rw-r--r--remoting/host/client_session.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/remoting/host/client_session.h b/remoting/host/client_session.h
index dded94a..b8339fb 100644
--- a/remoting/host/client_session.h
+++ b/remoting/host/client_session.h
@@ -113,7 +113,12 @@ class ClientSession : public protocol::HostStub,
// State to control remote input blocking while the local pointer is in use.
uint32 remote_mouse_button_state_;
- std::list<gfx::Point> recent_remote_mouse_positions_;
+
+ // Queue of recently-injected mouse positions. This is used to detect whether
+ // mouse events from the local input monitor are echoes of injected positions,
+ // or genuine mouse movements of a local input device.
+ std::list<gfx::Point> injected_mouse_positions_;
+
base::Time latest_local_input_time_;
std::set<int> pressed_keys_;