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

Issue 2852403002: Make virtual keyboard work on supervised user creation (Closed)

Created:
3 years, 7 months ago by oka
Modified:
3 years, 6 months ago
Reviewers:
xiyuan, oshima
CC:
chromium-reviews, kalyank, sadrul
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Make virtual keyboard work on supervised user creation Keyboard should be recreated with Shell::CreateKeyboard per user sign in/out so to associate the new user to keyboard extensions. If the keyboard extensions were associated with the previous user, it in turn associated with an inactive IME and thus chrome.input.ime.sendKeyEvents does nothing. Currently the keyboard is recreated in Shell::OnSessionStateChanged when the session state becomes ACTIVE. However, on the supervised user creation window, the session state is not ACTIVE, but LOGGED_IN_NOT_ACTIVE, which represents the state where the user has signed in but the login UI is not hidden yet. That's why virtual keyboard was not working there. This CL fixes the issue by recreating the keyboard on LOGGED_IN_NOT_ACTIVE too. BUG=712873 TEST=Added unit test. Manually tested VK works: - on supervised user creation window - after multiprofile switch Review-Url: https://codereview.chromium.org/2852403002 Cr-Commit-Position: refs/heads/master@{#480878} Committed: https://chromium.googlesource.com/chromium/src/+/c21941d2b11067e23073143692fe5968af3875f7

Patch Set 1 #

Total comments: 4

Patch Set 2 : Wip: address comments #

Patch Set 3 : Wip2: address comments #

Patch Set 4 : Rebase. #

Patch Set 5 : Rebase. #

Patch Set 6 : Compile. #

Patch Set 7 : Make ActiveKeyboard do nothing if keyboard_controller is not initialized. #

Patch Set 8 : . #

Patch Set 9 : Make tests pass. #

Patch Set 10 : Remove debug code. #

Patch Set 11 : Remove debug code. #

Patch Set 12 : nit. Restore DCHECK and updated comment. #

Total comments: 3

Patch Set 13 : Fix mash test failure: move virtual keyboard specific set up from ash_test_best to a particular tes… #

Patch Set 14 : Rebase on top of the change to inline InitKeyboard #

Patch Set 15 : Remove test specific set up. #

Patch Set 16 : Back to 13. #

Patch Set 17 : Add TODO to remove a test specific set up. #

Patch Set 18 : Remove !GetInstance check to fix tests (and real problem) #

Patch Set 19 : Fix compile error #

Patch Set 20 : Fix ShellTest.KeyboardCreation. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+30 lines, -0 lines) Patch
M ash/shell.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +9 lines, -0 lines 0 comments Download
M ash/shell_unittest.cc View 1 2 3 4 5 6 7 8 9 10 13 14 16 17 18 19 3 chunks +21 lines, -0 lines 0 comments Download

Messages

Total messages: 77 (40 generated)
oka
oshima@ Could you take a look? Thank you!
3 years, 7 months ago (2017-05-02 14:34:40 UTC) #3
oshima
I'm not familiar with supervisor user creation process. alemate@, can you review this? oka-san, can ...
3 years, 7 months ago (2017-05-03 14:49:05 UTC) #10
Alexander Alekseev
+xiyuan https://codereview.chromium.org/2852403002/diff/1/ash/shell.cc File ash/shell.cc (right): https://codereview.chromium.org/2852403002/diff/1/ash/shell.cc#newcode1230 ash/shell.cc:1230: if (GetAshConfig() != Config::MASH) { Did you verify ...
3 years, 7 months ago (2017-05-12 04:05:21 UTC) #12
xiyuan
https://codereview.chromium.org/2852403002/diff/1/ash/shell.cc File ash/shell.cc (right): https://codereview.chromium.org/2852403002/diff/1/ash/shell.cc#newcode1229 ash/shell.cc:1229: previous_state_ == session_manager::SessionState::ACTIVE)) { How about using KeyboardController::GetInstance() to ...
3 years, 7 months ago (2017-05-12 17:30:03 UTC) #13
oka
Wip: address comments
3 years, 6 months ago (2017-06-03 02:26:03 UTC) #14
oka
Wip2: address comments
3 years, 6 months ago (2017-06-03 02:26:59 UTC) #15
oka
Rebase.
3 years, 6 months ago (2017-06-03 02:33:31 UTC) #20
oka
Rebase.
3 years, 6 months ago (2017-06-03 02:35:53 UTC) #21
oka
Compile.
3 years, 6 months ago (2017-06-03 02:56:11 UTC) #26
oka
Make ActiveKeyboard do nothing if keyboard_controller is not initialized.
3 years, 6 months ago (2017-06-06 12:45:37 UTC) #27
oka
.
3 years, 6 months ago (2017-06-07 07:17:20 UTC) #32
oka
PTAL. (sorry for belated response). https://codereview.chromium.org/2852403002/diff/1/ash/shell.cc File ash/shell.cc (right): https://codereview.chromium.org/2852403002/diff/1/ash/shell.cc#newcode1229 ash/shell.cc:1229: previous_state_ == session_manager::SessionState::ACTIVE)) { ...
3 years, 6 months ago (2017-06-07 12:42:37 UTC) #39
xiyuan
https://codereview.chromium.org/2852403002/diff/220001/ash/test/ash_test_base.cc File ash/test/ash_test_base.cc (right): https://codereview.chromium.org/2852403002/diff/220001/ash/test/ash_test_base.cc#newcode179 ash/test/ash_test_base.cc:179: keyboard::KeyboardController::GetInstance()); If only that test fails without this, should ...
3 years, 6 months ago (2017-06-07 15:08:13 UTC) #42
oka
https://codereview.chromium.org/2852403002/diff/220001/ash/test/ash_test_base.cc File ash/test/ash_test_base.cc (right): https://codereview.chromium.org/2852403002/diff/220001/ash/test/ash_test_base.cc#newcode179 ash/test/ash_test_base.cc:179: keyboard::KeyboardController::GetInstance()); On 2017/06/07 15:08:13, xiyuan wrote: > If only ...
3 years, 6 months ago (2017-06-07 15:45:20 UTC) #43
xiyuan
https://codereview.chromium.org/2852403002/diff/220001/ash/test/ash_test_base.cc File ash/test/ash_test_base.cc (right): https://codereview.chromium.org/2852403002/diff/220001/ash/test/ash_test_base.cc#newcode179 ash/test/ash_test_base.cc:179: keyboard::KeyboardController::GetInstance()); On 2017/06/07 15:45:19, oka wrote: > On 2017/06/07 ...
3 years, 6 months ago (2017-06-07 16:18:13 UTC) #44
oka
On 2017/06/07 16:18:13, xiyuan wrote: > https://codereview.chromium.org/2852403002/diff/220001/ash/test/ash_test_base.cc > File ash/test/ash_test_base.cc (right): > > https://codereview.chromium.org/2852403002/diff/220001/ash/test/ash_test_base.cc#newcode179 > ...
3 years, 6 months ago (2017-06-08 00:01:42 UTC) #45
oka
3 years, 6 months ago (2017-06-08 00:01:53 UTC) #46
xiyuan
On 2017/06/08 00:01:42, oka wrote: > On 2017/06/07 16:18:13, xiyuan wrote: > > > https://codereview.chromium.org/2852403002/diff/220001/ash/test/ash_test_base.cc ...
3 years, 6 months ago (2017-06-08 15:14:40 UTC) #47
oka
On 2017/06/08 15:14:40, xiyuan wrote: > On 2017/06/08 00:01:42, oka wrote: > > On 2017/06/07 ...
3 years, 6 months ago (2017-06-14 07:49:52 UTC) #48
oka
Fix mash test failure: move virtual keyboard specific set up from ash_test_best to a particular ...
3 years, 6 months ago (2017-06-14 08:35:50 UTC) #49
oka
On 2017/06/14 07:49:52, oka wrote: > On 2017/06/08 15:14:40, xiyuan wrote: > > On 2017/06/08 ...
3 years, 6 months ago (2017-06-14 14:55:10 UTC) #50
oka
Rebase on top of the change to inline InitKeyboard
3 years, 6 months ago (2017-06-14 15:04:22 UTC) #51
oka
PTAL.
3 years, 6 months ago (2017-06-14 15:08:02 UTC) #52
xiyuan
Thanks for the investigation. It makes sense to me now. I missed the added !keyboard::KeyboardController::GetInstance() ...
3 years, 6 months ago (2017-06-14 16:47:23 UTC) #57
oka
Back to 13.
3 years, 6 months ago (2017-06-14 18:34:37 UTC) #58
oka
Remove !GetInstance check to fix tests (and real problem)
3 years, 6 months ago (2017-06-18 23:20:57 UTC) #60
oka
On 2017/06/14 18:34:37, oka wrote: > Back to 13. I removed the !keyboard::KeyboardController::GetInstance() check because ...
3 years, 6 months ago (2017-06-18 23:22:59 UTC) #61
oka
Fix compile error
3 years, 6 months ago (2017-06-18 23:53:32 UTC) #62
oka
Fix ShellTest.KeyboardCreation.
3 years, 6 months ago (2017-06-19 01:50:21 UTC) #63
oka
xiyuan@ Could you take another look?
3 years, 6 months ago (2017-06-19 09:32:37 UTC) #64
xiyuan
still lgtm
3 years, 6 months ago (2017-06-19 15:31:06 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/2852403002/380001
3 years, 6 months ago (2017-06-19 22:59:19 UTC) #67
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/467950)
3 years, 6 months ago (2017-06-19 23:09:24 UTC) #69
oka
oshima@ could you take a look? I need your OWNERs approval.
3 years, 6 months ago (2017-06-19 23:15:57 UTC) #70
oshima
lgtm
3 years, 6 months ago (2017-06-20 17:45:09 UTC) #72
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/2852403002/380001
3 years, 6 months ago (2017-06-20 17:49:55 UTC) #74
commit-bot: I haz the power
3 years, 6 months ago (2017-06-20 17:55:03 UTC) #77
Message was sent while issue was closed.
Committed patchset #20 (id:380001) as
https://chromium.googlesource.com/chromium/src/+/c21941d2b11067e23073143692fe...

Powered by Google App Engine
This is Rietveld 408576698