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

Issue 9465035: Move ClientSession's input logic into separate components. (Closed)

Created:
8 years, 10 months ago by Wez
Modified:
8 years, 8 months ago
CC:
chromium-reviews, jamiewalch+watch_chromium.org, dcaiafa+watch_chromium.org, simonmorris+watch_chromium.org, hclam+watch_chromium.org, wez+watch_chromium.org, amit, sanjeevr, garykac+watch_chromium.org, lambroslambrou+watch_chromium.org, alexeypa+watch_chromium.org, sergeyu+watch_chromium.org
Visibility:
Public.

Description

This CL moves much of the input tracking logic out of ClientSession, which means: * We can re-use existing client-side input pipeline components. * Individual features of the input pipeline are isolated from one another. * It'll be easier to move some portions of the pipeline into ChromotingHost, where they belong. The CL makes the following changes: * Moves KeyEventTracker to InputEventTracker and has it release mouse buttons as well as keys. * Moves blocking of events when there is local input to a new RemoteInputFilter component. * Simplifies ClientSession to enable/disable events by setting and clearing the output InputStub on an InputFilter. * Simplifies ClientSession's SetDisableInputs() (used to temporarily disable inputs during the Continue dialog for IT2Me) to use the InputFilter mechanism. * Releases keys and buttons when entering the input-blocking state. BUG=118511 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=130263

Patch Set 1 #

Total comments: 3

Patch Set 2 : Remove unused include./ #

Patch Set 3 : Merge authenticated and awaiting-continue states. #

Total comments: 4

Patch Set 4 : Move mouse state tracking to InputEventTracker. #

Total comments: 8

Patch Set 5 : Move filtering based on local input to RemoteInputFilter. #

Total comments: 8

Patch Set 6 : Fix unit-tests and comments. #

Patch Set 7 : Painful rebase. #

Patch Set 8 : Rebase. #

Patch Set 9 : Replace |authenticated_| with an InputFilter. #

Total comments: 16

Patch Set 10 : Address comments and add some missing 'explicit' prefixes. #

Patch Set 11 : Fix test failures after Disconnect(), and update RestoreEventState test. #

Patch Set 12 : Fix ClientSession unit-tests to trigger OnConnectionClosed for disconnects. #

Patch Set 13 : Rebase. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+652 lines, -419 lines) Patch
M remoting/client/mouse_input_filter.h View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M remoting/client/plugin/chromoting_instance.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +2 lines, -2 lines 0 comments Download
M remoting/client/plugin/chromoting_instance.cc View 1 2 3 4 5 6 7 8 9 10 11 12 4 chunks +9 lines, -9 lines 0 comments Download
M remoting/client/plugin/pepper_input_handler.h View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M remoting/host/chromoting_host.cc View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download
M remoting/host/client_session.h View 1 2 3 4 5 6 7 8 4 chunks +19 lines, -47 lines 0 comments Download
M remoting/host/client_session.cc View 1 2 3 4 5 6 7 8 9 10 11 7 chunks +43 lines, -161 lines 0 comments Download
M remoting/host/client_session_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 10 chunks +39 lines, -20 lines 0 comments Download
A remoting/host/remote_input_filter.h View 1 2 3 4 5 6 7 8 9 1 chunk +54 lines, -0 lines 0 comments Download
A remoting/host/remote_input_filter.cc View 1 2 3 4 5 6 7 8 9 1 chunk +88 lines, -0 lines 0 comments Download
A remoting/host/remote_input_filter_unittest.cc View 1 2 3 4 5 6 7 8 9 1 chunk +130 lines, -0 lines 0 comments Download
A remoting/protocol/input_event_tracker.h View 1 2 3 4 5 6 7 8 9 1 chunk +48 lines, -0 lines 0 comments Download
A remoting/protocol/input_event_tracker.cc View 1 2 3 4 5 6 7 8 9 1 chunk +80 lines, -0 lines 0 comments Download
A remoting/protocol/input_event_tracker_unittest.cc View 1 2 3 4 5 6 7 8 9 1 chunk +131 lines, -0 lines 0 comments Download
D remoting/protocol/key_event_tracker.h View 1 2 3 1 chunk +0 lines, -43 lines 0 comments Download
D remoting/protocol/key_event_tracker.cc View 1 2 3 1 chunk +0 lines, -47 lines 0 comments Download
D remoting/protocol/key_event_tracker_unittest.cc View 1 2 3 1 chunk +0 lines, -84 lines 0 comments Download
M remoting/remoting.gyp View 1 2 3 4 5 6 7 8 9 10 4 chunks +6 lines, -3 lines 0 comments Download

Messages

Total messages: 24 (0 generated)
Wez
Fix for the Chromoting Host suppressing repeated key-down events received from clients. I plan to ...
8 years, 10 months ago (2012-02-27 18:59:03 UTC) #1
Jamie
lgtm as worthwhile clean-up, but I don't understand how it fixes the key-repeat problem. http://codereview.chromium.org/9465035/diff/1/remoting/host/client_session.cc ...
8 years, 9 months ago (2012-02-27 19:39:13 UTC) #2
Wez
http://codereview.chromium.org/9465035/diff/1/remoting/host/client_session.cc File remoting/host/client_session.cc (left): http://codereview.chromium.org/9465035/diff/1/remoting/host/client_session.cc#oldcode205 remoting/host/client_session.cc:205: (pressed_keys_.find(event.keycode()) == pressed_keys_.end()); On 2012/02/27 19:39:14, Jamie wrote: > ...
8 years, 9 months ago (2012-02-27 20:01:20 UTC) #3
Wez
On 2012/02/27 20:01:20, Wez wrote: > http://codereview.chromium.org/9465035/diff/1/remoting/host/client_session.cc > File remoting/host/client_session.cc (left): > > http://codereview.chromium.org/9465035/diff/1/remoting/host/client_session.cc#oldcode205 > ...
8 years, 9 months ago (2012-03-08 02:11:49 UTC) #4
Wez
On 2012/03/08 02:11:49, Wez wrote: > On 2012/02/27 20:01:20, Wez wrote: > > http://codereview.chromium.org/9465035/diff/1/remoting/host/client_session.cc > ...
8 years, 9 months ago (2012-03-15 01:43:15 UTC) #5
Jamie
lgtm with a couple of nits and some bigger concerns that can be follow-up CLs. ...
8 years, 9 months ago (2012-03-15 18:38:56 UTC) #6
Wez
http://codereview.chromium.org/9465035/diff/7001/remoting/host/client_session.cc File remoting/host/client_session.cc (right): http://codereview.chromium.org/9465035/diff/7001/remoting/host/client_session.cc#newcode143 remoting/host/client_session.cc:143: // SetDisableInputs(true) implicitly restores the input event state. On ...
8 years, 9 months ago (2012-03-15 22:25:29 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/wez@chromium.org/9465035/17005
8 years, 9 months ago (2012-03-15 22:44:42 UTC) #8
commit-bot: I haz the power
Try job failure for 9465035-17005 (retry) on win_rel for steps "ui_tests, browser_tests" (clobber build). It's ...
8 years, 9 months ago (2012-03-16 02:27:34 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/wez@chromium.org/9465035/17005
8 years, 9 months ago (2012-03-16 02:56:13 UTC) #10
commit-bot: I haz the power
Failed to request the patch to try. Please note that binary filesare still unsupported at ...
8 years, 9 months ago (2012-03-16 02:56:29 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/wez@chromium.org/9465035/17005
8 years, 9 months ago (2012-03-16 03:48:58 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/wez@chromium.org/9465035/17005
8 years, 9 months ago (2012-03-18 04:39:57 UTC) #13
commit-bot: I haz the power
Can't apply patch for file remoting/host/client_session.cc. While running patch -p1 --forward --force; patching file remoting/host/client_session.cc ...
8 years, 9 months ago (2012-03-18 04:40:00 UTC) #14
Wez
sergeyu: Amongst other things, this CL moves responsibility for blocking input based on authentication, or ...
8 years, 8 months ago (2012-03-29 22:00:29 UTC) #15
Sergey Ulanov
LGTM with nits http://codereview.chromium.org/9465035/diff/30001/remoting/host/remote_input_filter.cc File remoting/host/remote_input_filter.cc (right): http://codereview.chromium.org/9465035/diff/30001/remoting/host/remote_input_filter.cc#newcode24 remoting/host/remote_input_filter.cc:24: } // namespace anonymous nit: two ...
8 years, 8 months ago (2012-03-30 20:33:54 UTC) #16
Lambros
http://codereview.chromium.org/9465035/diff/30001/remoting/host/remote_input_filter.cc File remoting/host/remote_input_filter.cc (right): http://codereview.chromium.org/9465035/diff/30001/remoting/host/remote_input_filter.cc#newcode82 remoting/host/remote_input_filter.cc:82: .InMilliseconds(); On 2012/03/30 20:33:54, sergeyu wrote: > nit: this ...
8 years, 8 months ago (2012-03-30 23:31:11 UTC) #17
Wez
Have also fixed a couple of other missing 'explicit' prefixes in the InputStub implementations. http://codereview.chromium.org/9465035/diff/30001/remoting/host/remote_input_filter.cc ...
8 years, 8 months ago (2012-04-01 00:47:15 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/wez@chromium.org/9465035/39002
8 years, 8 months ago (2012-04-01 00:59:53 UTC) #19
commit-bot: I haz the power
Try job failure for 9465035-39002 (retry) on linux_rel for step "compile" (clobber build). It's a ...
8 years, 8 months ago (2012-04-01 01:29:45 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/wez@chromium.org/9465035/37007
8 years, 8 months ago (2012-04-01 03:08:17 UTC) #21
commit-bot: I haz the power
Can't apply patch for file remoting/client/plugin/chromoting_instance.cc. While running patch -p1 --forward --force; patching file remoting/client/plugin/chromoting_instance.cc ...
8 years, 8 months ago (2012-04-01 20:23:06 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/wez@chromium.org/9465035/38023
8 years, 8 months ago (2012-04-02 20:05:32 UTC) #23
commit-bot: I haz the power
8 years, 8 months ago (2012-04-03 00:56:20 UTC) #24
Change committed as 130263

Powered by Google App Engine
This is Rietveld 408576698