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

Issue 419293002: IME refactoring: ChromeOS introduce input methods State. (Closed)

Created:
6 years, 5 months ago by Alexander Alekseev
Modified:
6 years, 4 months ago
CC:
chromium-reviews, extensions-reviews_chromium.org, yusukes+watch_chromium.org, yukishiino+watch_chromium.org, nona+watch_chromium.org, oshima+watch_chromium.org, chromium-apps-reviews_chromium.org, stevenjb+watch_chromium.org, davemoore+watch_chromium.org, nkostylev+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

IME refactoring: ChromeOS introduce input methods State. We need input methods "config" object to switch between IME states. This CL also fixed issue with incorrect input method after screen unlock in multiprofile mode. BUG=292774, 399129 TEST=manual TBR=nona@chromium.org,asargent@chromium.org,davemoore@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=290048

Patch Set 1 #

Total comments: 18

Patch Set 2 : Rebased. #

Patch Set 3 : Update after review. #

Total comments: 15

Patch Set 4 : Input Method State can be modified for inactive user. Lock screen fixed. #

Patch Set 5 : Cleanup. #

Total comments: 20

Patch Set 6 : Rebased. #

Patch Set 7 : Update after review. #

Patch Set 8 : Rebased. #

Patch Set 9 : Moved default_ime_states_ to UserSessionManager. #

Patch Set 10 : Fix tests. #

Total comments: 2

Patch Set 11 : Fix chromeos tests build. #

Patch Set 12 : Fix tests build. #

Patch Set 13 : Rebased. #

Patch Set 14 : Rebased. #

Patch Set 15 : Unit test fixed. Re-sorted methods of StateImpl and IMM. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1698 lines, -1148 lines) Patch
M chrome/browser/chromeos/accessibility/accessibility_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +5 lines, -3 lines 0 comments Download
M chrome/browser/chromeos/accessibility/accessibility_manager_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 4 chunks +5 lines, -3 lines 0 comments Download
M chrome/browser/chromeos/base/locale_util.cc View 1 2 3 2 chunks +5 lines, -3 lines 0 comments Download
M chrome/browser/chromeos/chrome_browser_main_chromeos.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +20 lines, -8 lines 0 comments Download
M chrome/browser/chromeos/extensions/input_method_api.cc View 1 2 3 3 chunks +9 lines, -7 lines 0 comments Download
M chrome/browser/chromeos/extensions/input_method_apitest_chromeos.cc View 1 2 3 2 chunks +3 lines, -2 lines 0 comments Download
M chrome/browser/chromeos/extensions/input_method_event_router.cc View 1 2 3 1 chunk +3 lines, -3 lines 0 comments Download
M chrome/browser/chromeos/input_method/accessibility.cc View 1 2 3 1 chunk +2 lines, -1 line 0 comments Download
M chrome/browser/chromeos/input_method/browser_state_monitor.h View 1 2 2 chunks +7 lines, -7 lines 0 comments Download
M chrome/browser/chromeos/input_method/browser_state_monitor.cc View 1 2 6 chunks +11 lines, -12 lines 0 comments Download
M chrome/browser/chromeos/input_method/browser_state_monitor_unittest.cc View 1 2 3 chunks +45 lines, -49 lines 0 comments Download
M chrome/browser/chromeos/input_method/component_extension_ime_manager_impl.h View 1 2 3 2 chunks +6 lines, -2 lines 0 comments Download
M chrome/browser/chromeos/input_method/component_extension_ime_manager_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +7 lines, -11 lines 0 comments Download
M chrome/browser/chromeos/input_method/input_method_configuration.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +3 lines, -3 lines 0 comments Download
M chrome/browser/chromeos/input_method/input_method_engine.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/chromeos/input_method/input_method_engine_browsertests.cc View 1 2 3 3 chunks +8 lines, -4 lines 0 comments Download
M chrome/browser/chromeos/input_method/input_method_manager_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 6 chunks +128 lines, -82 lines 0 comments Download
M chrome/browser/chromeos/input_method/input_method_manager_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 18 chunks +557 lines, -411 lines 0 comments Download
M chrome/browser/chromeos/input_method/input_method_manager_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 33 chunks +330 lines, -250 lines 0 comments Download
M chrome/browser/chromeos/input_method/input_method_persistence.h View 1 2 2 chunks +4 lines, -3 lines 0 comments Download
M chrome/browser/chromeos/input_method/input_method_persistence.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +5 lines, -5 lines 0 comments Download
M chrome/browser/chromeos/input_method/mock_input_method_manager.h View 1 2 3 4 5 6 7 8 4 chunks +65 lines, -42 lines 0 comments Download
M chrome/browser/chromeos/input_method/mock_input_method_manager.cc View 1 2 3 4 5 6 7 8 4 chunks +70 lines, -28 lines 0 comments Download
M chrome/browser/chromeos/input_method/mode_indicator_browsertest.cc View 1 2 3 6 chunks +9 lines, -9 lines 0 comments Download
M chrome/browser/chromeos/input_method/mode_indicator_controller.cc View 1 2 3 1 chunk +2 lines, -1 line 0 comments Download
M chrome/browser/chromeos/login/lock/screen_locker.h View 1 2 3 2 chunks +3 lines, -0 lines 0 comments Download
M chrome/browser/chromeos/login/lock/screen_locker.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +12 lines, -1 line 0 comments Download
M chrome/browser/chromeos/login/session/user_session_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 6 chunks +27 lines, -8 lines 0 comments Download
M chrome/browser/chromeos/login/session/user_session_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 7 chunks +40 lines, -11 lines 0 comments Download
M chrome/browser/chromeos/login/ui/login_display_host_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +3 lines, -2 lines 0 comments Download
M chrome/browser/chromeos/login/ui/webui_login_display.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/chromeos/policy/device_local_account_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 5 chunks +19 lines, -9 lines 0 comments Download
M chrome/browser/chromeos/preferences.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 4 chunks +11 lines, -3 lines 0 comments Download
M chrome/browser/chromeos/preferences.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 7 chunks +37 lines, -19 lines 0 comments Download
M chrome/browser/chromeos/preferences_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +5 lines, -3 lines 0 comments Download
M chrome/browser/chromeos/preferences_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +28 lines, -12 lines 0 comments Download
M chrome/browser/extensions/api/input_ime/input_ime_api.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +5 lines, -2 lines 0 comments Download
M chrome/browser/profiles/off_the_record_profile_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -2 lines 0 comments Download
M chrome/browser/profiles/profile_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -2 lines 0 comments Download
M chrome/browser/ui/ash/ime_controller_chromeos.cc View 1 2 3 2 chunks +4 lines, -4 lines 0 comments Download
M chrome/browser/ui/ash/system_tray_delegate_chromeos.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +8 lines, -4 lines 0 comments Download
M chrome/browser/ui/webui/chromeos/keyboard_overlay_ui.cc View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ui/webui/chromeos/login/l10n_util.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ui/webui/chromeos/login/l10n_util.cc View 1 2 3 3 chunks +8 lines, -4 lines 0 comments Download
M chrome/browser/ui/webui/chromeos/login/network_screen_handler.cc View 1 2 3 3 chunks +11 lines, -5 lines 0 comments Download
M chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +6 lines, -4 lines 0 comments Download
M chrome/browser/ui/webui/chromeos/login/terms_of_service_screen_handler.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +4 lines, -2 lines 0 comments Download
M chrome/browser/ui/webui/options/chromeos/cros_language_options_handler.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +4 lines, -3 lines 0 comments Download
M chromeos/ime/component_extension_ime_manager.h View 1 2 3 4 5 3 chunks +10 lines, -4 lines 0 comments Download
M chromeos/ime/component_extension_ime_manager.cc View 1 2 3 4 5 1 chunk +4 lines, -2 lines 0 comments Download
M chromeos/ime/component_extension_ime_manager_unittest.cc View 1 2 3 4 5 6 7 8 9 2 chunks +4 lines, -2 lines 0 comments Download
M chromeos/ime/input_method_manager.h View 1 2 3 4 5 6 7 8 7 chunks +119 lines, -84 lines 0 comments Download
M chromeos/ime/input_method_manager.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M chromeos/ime/mock_component_extension_ime_manager_delegate.h View 1 2 3 1 chunk +4 lines, -2 lines 0 comments Download
M chromeos/ime/mock_component_extension_ime_manager_delegate.cc View 1 2 3 2 chunks +4 lines, -2 lines 0 comments Download

Messages

Total messages: 31 (0 generated)
Alexander Alekseev
This CL is not finished, I need some help with it. The problem: IME doesn't ...
6 years, 5 months ago (2014-07-26 00:42:59 UTC) #1
Nikita (slow)
On 2014/07/26 00:42:59, alemate wrote: > IME doesn't have "config" object, that would completely define ...
6 years, 4 months ago (2014-07-30 19:39:28 UTC) #2
Nikita (slow)
On 2014/07/26 00:42:59, alemate wrote: > Questions: > > 2) It looks like AutoRepeat settings ...
6 years, 4 months ago (2014-07-30 19:41:49 UTC) #3
Alexander Alekseev
On 2014/07/30 19:39:28, Nikita Kostylev wrote: > On 2014/07/26 00:42:59, alemate wrote: > > IME ...
6 years, 4 months ago (2014-07-31 00:45:43 UTC) #4
Shu Chen
This cl is kind of old and needs to be rebased. Sorry for delayed review. ...
6 years, 4 months ago (2014-08-04 14:55:24 UTC) #5
Alexander Alekseev
+nona@ nona@, please review this. The long description and a list of questions to reviewers ...
6 years, 4 months ago (2014-08-06 23:39:46 UTC) #6
Shu Chen
https://codereview.chromium.org/419293002/diff/1/chrome/browser/chromeos/input_method/input_method_manager_impl.cc File chrome/browser/chromeos/input_method/input_method_manager_impl.cc (right): https://codereview.chromium.org/419293002/diff/1/chrome/browser/chromeos/input_method/input_method_manager_impl.cc#newcode125 chrome/browser/chromeos/input_method/input_method_manager_impl.cc:125: void InputMethodManagerImpl::SetState( On 2014/08/06 23:39:45, alemate wrote: > On ...
6 years, 4 months ago (2014-08-07 15:40:19 UTC) #7
Alexander Alekseev
https://codereview.chromium.org/419293002/diff/1/chrome/browser/chromeos/input_method/input_method_manager_impl.cc File chrome/browser/chromeos/input_method/input_method_manager_impl.cc (right): https://codereview.chromium.org/419293002/diff/1/chrome/browser/chromeos/input_method/input_method_manager_impl.cc#newcode125 chrome/browser/chromeos/input_method/input_method_manager_impl.cc:125: void InputMethodManagerImpl::SetState( On 2014/08/07 15:40:19, Shu Chen wrote: > ...
6 years, 4 months ago (2014-08-07 17:26:19 UTC) #8
Shu Chen
Thanks for elaboration of how user switch works. I will investigate perf issue in FindEntry(). ...
6 years, 4 months ago (2014-08-09 03:42:47 UTC) #9
Shu Chen
https://codereview.chromium.org/419293002/diff/40001/chrome/browser/chromeos/input_method/input_method_manager_impl.cc File chrome/browser/chromeos/input_method/input_method_manager_impl.cc (right): https://codereview.chromium.org/419293002/diff/40001/chrome/browser/chromeos/input_method/input_method_manager_impl.cc#newcode131 chrome/browser/chromeos/input_method/input_method_manager_impl.cc:131: ReconfigureIMFramework(); Considering user A and B. ReconfigureIMFramework() is only ...
6 years, 4 months ago (2014-08-09 15:49:22 UTC) #10
Alexander Alekseev
This CL enables modifications of IME settings for inactive users. So we do not need ...
6 years, 4 months ago (2014-08-13 10:14:16 UTC) #11
Nikita (slow)
lgtm with nits I've looked on whole CL except: chrome/browser/chromeos/input_method/* chromeos/ime/* https://codereview.chromium.org/419293002/diff/80001/chrome/browser/chromeos/input_method/input_method_manager_impl.h File chrome/browser/chromeos/input_method/input_method_manager_impl.h (right): ...
6 years, 4 months ago (2014-08-13 10:56:41 UTC) #12
Shu Chen
I have a feeling that InputMethodManagerImpl and InputMethodManagerImpl::State are coupled together too tightly. InputMethodManagerImpl and ...
6 years, 4 months ago (2014-08-13 16:15:34 UTC) #13
oshima
On 2014/08/13 10:14:16, alemate wrote: > This CL enables modifications of IME settings for inactive ...
6 years, 4 months ago (2014-08-13 22:59:19 UTC) #14
Alexander Alekseev
On 2014/08/13 16:15:34, Shu Chen wrote: > I have a feeling that InputMethodManagerImpl and InputMethodManagerImpl::State ...
6 years, 4 months ago (2014-08-13 23:29:33 UTC) #15
Alexander Alekseev
I've moved default_ime_states_ to UserSessionManager. PTAL.
6 years, 4 months ago (2014-08-14 01:59:26 UTC) #16
Shu Chen
lgtm https://codereview.chromium.org/419293002/diff/180001/chrome/browser/chromeos/input_method/input_method_manager_impl.cc File chrome/browser/chromeos/input_method/input_method_manager_impl.cc (right): https://codereview.chromium.org/419293002/diff/180001/chrome/browser/chromeos/input_method/input_method_manager_impl.cc#newcode156 chrome/browser/chromeos/input_method/input_method_manager_impl.cc:156: } nit: can you please sort the code ...
6 years, 4 months ago (2014-08-14 15:26:57 UTC) #17
Alexander Alekseev
oshima@ nona@ asargent@ - what do you think?
6 years, 4 months ago (2014-08-14 18:06:12 UTC) #18
oshima
c/b/ui/ash lgtm
6 years, 4 months ago (2014-08-14 18:09:44 UTC) #19
Nikita (slow)
Please link to https://code.google.com/p/chromium/issues/detail?id=399129
6 years, 4 months ago (2014-08-15 09:05:37 UTC) #20
Alexander Alekseev
The CQ bit was checked by alemate@chromium.org
6 years, 4 months ago (2014-08-15 16:04:33 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/alemate@chromium.org/419293002/260001
6 years, 4 months ago (2014-08-15 16:05:58 UTC) #22
Nikita (slow)
You've got a real crash in unit_test: http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_swarming/builds/4710/steps/%5Bswarming%5D%20unit_tests%20%28with%20patch%29/logs/TestUpdatePrefOnBrowserScreenDetails PreferencesTest.TestUpdatePrefOnBrowserScreenDetails (run #1): [ RUN ] PreferencesTest.TestUpdatePrefOnBrowserScreenDetails ...
6 years, 4 months ago (2014-08-15 18:07:50 UTC) #23
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: linux_chromium_chromeos_rel_swarming on tryserver.chromium.linux ...
6 years, 4 months ago (2014-08-15 18:43:47 UTC) #24
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 4 months ago (2014-08-15 19:21:08 UTC) #25
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_chromeos_rel_swarming on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_swarming/builds/4819)
6 years, 4 months ago (2014-08-15 19:21:10 UTC) #26
Alexander Alekseev
https://codereview.chromium.org/419293002/diff/180001/chrome/browser/chromeos/input_method/input_method_manager_impl.cc File chrome/browser/chromeos/input_method/input_method_manager_impl.cc (right): https://codereview.chromium.org/419293002/diff/180001/chrome/browser/chromeos/input_method/input_method_manager_impl.cc#newcode156 chrome/browser/chromeos/input_method/input_method_manager_impl.cc:156: } On 2014/08/14 15:26:57, Shu Chen wrote: > nit: ...
6 years, 4 months ago (2014-08-15 19:46:08 UTC) #27
Alexander Alekseev
On 2014/08/15 18:07:50, Nikita Kostylev wrote: > You've got a real crash in unit_test: > ...
6 years, 4 months ago (2014-08-15 19:47:00 UTC) #28
Alexander Alekseev
The CQ bit was checked by alemate@chromium.org
6 years, 4 months ago (2014-08-15 19:48:17 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/alemate@chromium.org/419293002/280001
6 years, 4 months ago (2014-08-15 19:50:57 UTC) #30
commit-bot: I haz the power
6 years, 4 months ago (2014-08-15 23:31:50 UTC) #31
Message was sent while issue was closed.
Committed patchset #15 (280001) as 290048

Powered by Google App Engine
This is Rietveld 408576698