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

Issue 2346643003: [Remoting Host] Handle text event characters that are not presented on the keyboard (Closed)

Created:
4 years, 3 months ago by Yuwei
Modified:
4 years, 2 months ago
Reviewers:
Sergey Ulanov, Jamie
CC:
chromium-reviews, chromoting-reviews_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[Remoting Host] Handle text event characters that are not presented on the keyboard This CL allows the x11 injector to remap the last keycode to the character if the character is not on the current keyboard layout. BUG=645659 Committed: https://crrev.com/ab975ef6a5e726359982765e311712f3a0974831 Cr-Commit-Position: refs/heads/master@{#422585}

Patch Set 1 #

Patch Set 2 : Use all available keycodes to map all characters in the text #

Patch Set 3 : Use ostringstream #

Total comments: 12

Patch Set 4 : Reviewer's Feedback #

Total comments: 8

Patch Set 5 : Queue up characters (No test) #

Patch Set 6 : Create KeyboardInterface and XServerKeyboardInterface #

Total comments: 41

Patch Set 7 : Reviewer's Feedback + Mapper Unittest #

Patch Set 8 : Rename Files #

Patch Set 9 : Some Lint #

Patch Set 10 : Merge ToT #

Total comments: 12

Patch Set 11 : Reviewer's Feedback #

Patch Set 12 : Remove mock keyboard reference #

Total comments: 2

Patch Set 13 : Fix build #

Patch Set 14 : Fix build #

Patch Set 15 : Fix flakiness & Try to fix build #

Patch Set 16 : Fix Flakiness #

Total comments: 32

Patch Set 17 : Reviewer's Feedback #

Total comments: 4

Patch Set 18 : Reviewer's Feedback #

Unified diffs Side-by-side diffs Delta from patch set Stats (+665 lines, -72 lines) Patch
M remoting/host/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 3 chunks +7 lines, -0 lines 0 comments Download
M remoting/host/input_injector_x11.cc View 1 2 3 4 5 6 7 8 9 10 6 chunks +10 lines, -64 lines 0 comments Download
M remoting/host/linux/unicode_to_keysym.h View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M remoting/host/linux/unicode_to_keysym.cc View 1 2 3 4 5 6 1 chunk +6 lines, -5 lines 0 comments Download
M remoting/host/linux/unicode_to_keysym_unittest.cc View 1 2 3 4 5 6 1 chunk +1 line, -2 lines 0 comments Download
A remoting/host/linux/x11_character_injector.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +66 lines, -0 lines 0 comments Download
A remoting/host/linux/x11_character_injector.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +144 lines, -0 lines 0 comments Download
A remoting/host/linux/x11_character_injector_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +204 lines, -0 lines 0 comments Download
A remoting/host/linux/x11_keyboard.h View 1 2 3 4 5 6 7 1 chunk +55 lines, -0 lines 0 comments Download
A remoting/host/linux/x11_keyboard_impl.h View 1 2 3 4 5 6 7 1 chunk +45 lines, -0 lines 0 comments Download
A remoting/host/linux/x11_keyboard_impl.cc View 1 2 3 4 5 6 7 8 1 chunk +126 lines, -0 lines 0 comments Download

Messages

Total messages: 72 (50 generated)
Yuwei
PTAL
4 years, 3 months ago (2016-09-16 19:33:06 UTC) #3
Jamie
https://codereview.chromium.org/2346643003/diff/40001/remoting/host/input_injector_x11.cc File remoting/host/input_injector_x11.cc (right): https://codereview.chromium.org/2346643003/diff/40001/remoting/host/input_injector_x11.cc#newcode123 remoting/host/input_injector_x11.cc:123: } I think you can just use StringPrintf with ...
4 years, 3 months ago (2016-09-17 00:06:23 UTC) #5
Yuwei
PTAL https://codereview.chromium.org/2346643003/diff/40001/remoting/host/input_injector_x11.cc File remoting/host/input_injector_x11.cc (right): https://codereview.chromium.org/2346643003/diff/40001/remoting/host/input_injector_x11.cc#newcode123 remoting/host/input_injector_x11.cc:123: } On 2016/09/17 00:06:22, Jamie wrote: > I ...
4 years, 3 months ago (2016-09-19 18:16:34 UTC) #9
Sergey Ulanov
https://codereview.chromium.org/2346643003/diff/120001/remoting/host/input_injector_x11.cc File remoting/host/input_injector_x11.cc (right): https://codereview.chromium.org/2346643003/diff/120001/remoting/host/input_injector_x11.cc#newcode374 remoting/host/input_injector_x11.cc:374: int result = key_mapper_->AddNewCharacter(code_point); Does this work well when ...
4 years, 3 months ago (2016-09-19 21:39:00 UTC) #10
Yuwei
It's crazy that such a simple feature requires hundreds of lines of code... Would you ...
4 years, 3 months ago (2016-09-21 03:47:41 UTC) #13
Sergey Ulanov
I don't think it's necessary to separate KeyMapper from CharacterInjector. Maybe move all logic from ...
4 years, 3 months ago (2016-09-21 19:59:24 UTC) #14
Yuwei
> I don't think it's necessary to separate KeyMapper from CharacterInjector. > Maybe move all ...
4 years, 3 months ago (2016-09-21 20:35:33 UTC) #15
Sergey Ulanov
https://codereview.chromium.org/2346643003/diff/200001/remoting/host/linux/keyboard_interface.h File remoting/host/linux/keyboard_interface.h (right): https://codereview.chromium.org/2346643003/diff/200001/remoting/host/linux/keyboard_interface.h#newcode19 remoting/host/linux/keyboard_interface.h:19: class KeyboardInterface { On 2016/09/21 20:35:32, Yuwei wrote: > ...
4 years, 3 months ago (2016-09-21 20:55:23 UTC) #16
Yuwei
https://codereview.chromium.org/2346643003/diff/200001/remoting/host/linux/x_server_key_mapper.cc File remoting/host/linux/x_server_key_mapper.cc (right): https://codereview.chromium.org/2346643003/diff/200001/remoting/host/linux/x_server_key_mapper.cc#newcode57 remoting/host/linux/x_server_key_mapper.cc:57: info.last_used_time = base::TimeTicks::Now(); On 2016/09/21 20:55:23, Sergey Ulanov wrote: ...
4 years, 3 months ago (2016-09-21 21:14:18 UTC) #17
Yuwei
https://codereview.chromium.org/2346643003/diff/200001/remoting/host/linux/x_server_key_mapper.cc File remoting/host/linux/x_server_key_mapper.cc (right): https://codereview.chromium.org/2346643003/diff/200001/remoting/host/linux/x_server_key_mapper.cc#newcode57 remoting/host/linux/x_server_key_mapper.cc:57: info.last_used_time = base::TimeTicks::Now(); On 2016/09/21 19:59:23, Sergey Ulanov wrote: ...
4 years, 3 months ago (2016-09-22 00:32:58 UTC) #18
Sergey Ulanov
https://codereview.chromium.org/2346643003/diff/200001/remoting/host/linux/x_server_key_mapper.cc File remoting/host/linux/x_server_key_mapper.cc (right): https://codereview.chromium.org/2346643003/diff/200001/remoting/host/linux/x_server_key_mapper.cc#newcode57 remoting/host/linux/x_server_key_mapper.cc:57: info.last_used_time = base::TimeTicks::Now(); On 2016/09/22 00:32:58, Yuwei wrote: > ...
4 years, 3 months ago (2016-09-22 18:32:46 UTC) #19
Yuwei
PTAL Jamie suggested that we may probably need to block any inputs when the injector ...
4 years, 3 months ago (2016-09-23 01:40:38 UTC) #20
Sergey Ulanov
I still think it's best to merge X11CharacterInjector and X11KeyMapper. See my suggestions on how ...
4 years, 3 months ago (2016-09-23 18:51:27 UTC) #29
Yuwei
PTAL https://codereview.chromium.org/2346643003/diff/280001/remoting/host/linux/mock_x11_keyboard.h File remoting/host/linux/mock_x11_keyboard.h (right): https://codereview.chromium.org/2346643003/diff/280001/remoting/host/linux/mock_x11_keyboard.h#newcode15 remoting/host/linux/mock_x11_keyboard.h:15: class MockX11Keyboard : public X11Keyboard { On 2016/09/23 ...
4 years, 2 months ago (2016-09-26 17:57:20 UTC) #37
Sergey Ulanov
https://codereview.chromium.org/2346643003/diff/340001/remoting/host/input_injector_x11.cc File remoting/host/input_injector_x11.cc (right): https://codereview.chromium.org/2346643003/diff/340001/remoting/host/input_injector_x11.cc#newcode581 remoting/host/input_injector_x11.cc:581: new X11CharacterInjector(base::MakeUnique<X11KeyboardImpl>(display_))); On 2016/09/26 17:57:19, Yuwei wrote: > I ...
4 years, 2 months ago (2016-09-27 18:40:49 UTC) #56
Yuwei
https://codereview.chromium.org/2346643003/diff/420001/remoting/host/linux/x11_character_injector.cc File remoting/host/linux/x11_character_injector.cc (right): https://codereview.chromium.org/2346643003/diff/420001/remoting/host/linux/x11_character_injector.cc#newcode74 remoting/host/linux/x11_character_injector.cc:74: scheduled_consume_time_ > expected_consume_time) { On 2016/09/27 18:40:48, Sergey Ulanov ...
4 years, 2 months ago (2016-09-27 22:44:34 UTC) #57
Yuwei
PTAL Loosen the test a bit to only check the sequence of injected characters rather ...
4 years, 2 months ago (2016-09-28 18:45:56 UTC) #61
Sergey Ulanov
Thanks for cleaning up the test! LGTM https://codereview.chromium.org/2346643003/diff/460001/remoting/host/linux/x11_character_injector_unittest.cc File remoting/host/linux/x11_character_injector_unittest.cc (right): https://codereview.chromium.org/2346643003/diff/460001/remoting/host/linux/x11_character_injector_unittest.cc#newcode17 remoting/host/linux/x11_character_injector_unittest.cc:17: const base::TimeDelta ...
4 years, 2 months ago (2016-10-03 17:41:56 UTC) #64
Yuwei
Thanks! https://codereview.chromium.org/2346643003/diff/460001/remoting/host/linux/x11_character_injector_unittest.cc File remoting/host/linux/x11_character_injector_unittest.cc (right): https://codereview.chromium.org/2346643003/diff/460001/remoting/host/linux/x11_character_injector_unittest.cc#newcode17 remoting/host/linux/x11_character_injector_unittest.cc:17: const base::TimeDelta kKeycodeReuseDuration = On 2016/10/03 17:41:56, Sergey ...
4 years, 2 months ago (2016-10-03 21:17:47 UTC) #65
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2346643003/480001
4 years, 2 months ago (2016-10-03 21:18:58 UTC) #68
commit-bot: I haz the power
Committed patchset #18 (id:480001)
4 years, 2 months ago (2016-10-03 23:04:15 UTC) #70
commit-bot: I haz the power
4 years, 2 months ago (2016-10-03 23:05:47 UTC) #72
Message was sent while issue was closed.
Patchset 18 (id:??) landed as
https://crrev.com/ab975ef6a5e726359982765e311712f3a0974831
Cr-Commit-Position: refs/heads/master@{#422585}

Powered by Google App Engine
This is Rietveld 408576698