cros: Make chrome push information about IMEs into ash for system tray

Desktop / Chromium - James Cook [chromium.org] - 15 June 2017 12:59 EDT

Patch 3 of the mojo conversion of system tray IME. Having chrome push the data into ash::ImeController means that ash UI code can synchronously query the data. This makes the final conversion to mojo easier.

Convert ImeController from an interface to a concrete object created and owned by ash. Use it to store the IME data model. Stop caching IME info in the UI view classes (TrayIME, ImeMenuTray).

Introduce an explicit SetImesManagedByPolicy() rather than inferring that information from an "allowed list" being empty.

Bug: 724305 Test: ash_unittests, chrome unit_tests Change-Id: Id388e1ad39d2ade15c948f54dfd3118aaca43cea Reviewed-on: https://chromium-review.googlesource.com/531444

f0c78fc cros: Make chrome push information about IMEs into ash for system tray
ash/BUILD.gn | 1 +
ash/ime/ime_controller.cc | 26 ++--
ash/ime/ime_controller.h | 48 ++++---
ash/ime/ime_controller_unittest.cc | 86 +++++++++++++
ash/mus/shell_delegate_mus.cc | 4 -
ash/mus/shell_delegate_mus.h | 3 -
ash/shell.cc | 3 +-
ash/shell.h | 4 +-
ash/shell/shell_delegate_impl.cc | 4 -
ash/shell/shell_delegate_impl.h | 4 -
ash/shell_delegate.h | 4 -
ash/system/ime/tray_ime_chromeos.cc | 34 +++--
ash/system/ime/tray_ime_chromeos.h | 5 +-
ash/system/ime/tray_ime_chromeos_unittest.cc | 63 ++++------
ash/system/ime_menu/ime_list_view.cc | 7 +-
ash/system/ime_menu/ime_menu_tray.cc | 18 ++-
ash/system/ime_menu/ime_menu_tray.h | 1 -
ash/system/ime_menu/ime_menu_tray_unittest.cc | 84 ++++---------
ash/test/test_shell_delegate.cc | 4 -
ash/test/test_shell_delegate.h | 3 -
.../input_method/input_method_manager_impl.cc | 75 -----------
.../input_method/input_method_manager_impl.h | 11 --
.../input_method_manager_impl_unittest.cc | 51 ++++++++
.../input_method/mock_input_method_manager_impl.cc | 26 ++--
.../input_method/mock_input_method_manager_impl.h | 13 +-
chrome/browser/chromeos/login/lock_screen_utils.cc | 11 ++
chrome/browser/chromeos/login/lock_screen_utils.h | 3 +
chrome/browser/ui/BUILD.gn | 2 +
chrome/browser/ui/ash/chrome_shell_delegate.cc | 6 -
chrome/browser/ui/ash/chrome_shell_delegate.h | 1 -
chrome/browser/ui/ash/ime_controller_client.cc | 138 +++++++++++++++++++++
chrome/browser/ui/ash/ime_controller_client.h | 64 ++++++++++
.../ui/ash/ime_controller_client_unittest.cc | 30 +++++
.../ui/ash/system_tray_delegate_chromeos.cc | 31 -----
.../browser/ui/ash/system_tray_delegate_chromeos.h | 24 +---
.../ash/chrome_browser_main_extra_parts_ash.cc | 8 ++
.../ash/chrome_browser_main_extra_parts_ash.h | 2 +
.../webui/chromeos/login/signin_screen_handler.cc | 10 +-
chrome/test/BUILD.gn | 1 +
39 files changed, 549 insertions(+), 364 deletions(-)

Upstream: git.chromium.org


  • Share