DescriptionThis 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. #Messages
Total messages: 24 (0 generated)
|