diff options
author | lambroslambrou@chromium.org <lambroslambrou@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-10 03:30:19 +0000 |
---|---|---|
committer | lambroslambrou@chromium.org <lambroslambrou@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-10 03:30:19 +0000 |
commit | 4fe827a4470d67eb2e9c6b71f3f60580a33cc8a4 (patch) | |
tree | d3093653f373c963c026809c352d96f202df0724 /remoting/host/client_session.h | |
parent | 7103f820b58e3f2a18a96b52c302444e1be35082 (diff) | |
download | chromium_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.h | 7 |
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_; |