Index: ash/system/ime/tray_ime_chromeos.h |
diff --git a/ash/system/ime/tray_ime_chromeos.h b/ash/system/ime/tray_ime_chromeos.h |
index 46674e0c6efd52029f7d29f8cecba1b200077654..ebc14bc030a22fc7f8cdc6f5bf6f22d06a96b61d 100644 |
--- a/ash/system/ime/tray_ime_chromeos.h |
+++ b/ash/system/ime/tray_ime_chromeos.h |
@@ -8,12 +8,13 @@ |
#include <stddef.h> |
#include "ash/system/accessibility_observer.h" |
-#include "ash/system/ime/ime_observer.h" |
#include "ash/system/ime_menu/ime_list_view.h" |
#include "ash/system/tray/ime_info.h" |
#include "ash/system/tray/system_tray_item.h" |
#include "ash/system/virtual_keyboard/virtual_keyboard_observer.h" |
#include "base/macros.h" |
+#include "ui/base/ime/chromeos/input_method_manager.h" |
+#include "ui/chromeos/ime/input_method_menu_manager.h" |
namespace ash { |
@@ -27,10 +28,13 @@ class TrayItemView; |
// Controller for IME options in the system menu. Note this is separate from |
// the "opt-in" IME menu which can appear as a button in the system tray |
// area; that is controlled by ImeMenuTray. |
-class ASH_EXPORT TrayIME : public SystemTrayItem, |
- public IMEObserver, |
- public AccessibilityObserver, |
- public VirtualKeyboardObserver { |
+class ASH_EXPORT TrayIME |
+ : public SystemTrayItem, |
+ public AccessibilityObserver, |
+ public VirtualKeyboardObserver, |
+ public chromeos::input_method::InputMethodManager::Observer, |
+ public chromeos::input_method::InputMethodManager::ImeMenuObserver, |
+ public ui::ime::InputMethodMenuManager::Observer { |
public: |
explicit TrayIME(SystemTray* system_tray); |
~TrayIME() override; |
@@ -63,9 +67,24 @@ class ASH_EXPORT TrayIME : public SystemTrayItem, |
void DestroyDefaultView() override; |
void DestroyDetailedView() override; |
- // Overridden from IMEObserver. |
- void OnIMERefresh() override; |
- void OnIMEMenuActivationChanged(bool is_active) override; |
+ void RefreshCurrentIme(); |
+ |
+ // chromeos::input_method::InputMethodManager::Observer: |
+ void InputMethodChanged(chromeos::input_method::InputMethodManager* manager, |
+ Profile* profile, |
+ bool show_message) override; |
+ |
+ // chromeos::input_method::InputMethodManager::ImeMenuObserver: |
+ void ImeMenuActivationChanged(bool is_active) override; |
+ void ImeMenuListChanged() override; |
+ void ImeMenuItemsChanged( |
+ const std::string& engine_id, |
+ const std::vector<chromeos::input_method::InputMethodManager::MenuItem>& |
+ items) override; |
+ |
+ // ui::ime::InputMethodMenuManager::Observer: |
+ void InputMethodMenuItemChanged( |
+ ui::ime::InputMethodMenuManager* manager) override; |
// Returns true input methods are managed by policy. |
bool IsIMEManaged(); |
@@ -75,6 +94,7 @@ class ASH_EXPORT TrayIME : public SystemTrayItem, |
// Decides if a tray icon should be shown. |
bool ShouldShowImeTrayItem(size_t ime_count); |
+ |
// Mandates behavior for the single IME case for the detailed IME list |
// sub-view. |
ImeListView::SingleImeBehavior GetSingleImeBehavior(); |