Index: extensions/shell/browser/shell_desktop_controller_aura.h |
diff --git a/extensions/shell/browser/shell_desktop_controller_aura.h b/extensions/shell/browser/shell_desktop_controller_aura.h |
index 8a83179fe28e9e551cd0577989eef591df8e9d42..d2372e3c9b652a0b39ae449e9740bec9173b2888 100644 |
--- a/extensions/shell/browser/shell_desktop_controller_aura.h |
+++ b/extensions/shell/browser/shell_desktop_controller_aura.h |
@@ -14,6 +14,7 @@ |
#include "extensions/shell/browser/desktop_controller.h" |
#include "ui/aura/client/window_parenting_client.h" |
#include "ui/aura/window_tree_host_observer.h" |
+#include "ui/base/ime/input_method_delegate.h" |
#if defined(OS_CHROMEOS) |
#include "chromeos/dbus/power_manager_client.h" |
@@ -52,6 +53,7 @@ class CursorManager; |
namespace extensions { |
class AppWindowClient; |
class Extension; |
+class InputMethodEventHandler; |
class ShellScreen; |
// Handles desktop-related tasks for app_shell. |
@@ -62,7 +64,8 @@ class ShellDesktopControllerAura |
public chromeos::PowerManagerClient::Observer, |
public ui::DisplayConfigurator::Observer, |
#endif |
- public aura::WindowTreeHostObserver { |
+ public aura::WindowTreeHostObserver, |
+ public ui::internal::InputMethodDelegate { |
public: |
ShellDesktopControllerAura(); |
~ShellDesktopControllerAura() override; |
@@ -93,6 +96,10 @@ class ShellDesktopControllerAura |
// aura::WindowTreeHostObserver overrides: |
void OnHostCloseRequested(const aura::WindowTreeHost* host) override; |
+ // ui::internal::InputMethodDelegate overrides: |
+ ui::EventDispatchDetails DispatchKeyEventPostIME( |
+ ui::KeyEvent* key_event) override; |
+ |
protected: |
// Creates and sets the aura clients and window manager stuff. Subclass may |
// initialize different sets of the clients. |
@@ -119,6 +126,8 @@ class ShellDesktopControllerAura |
std::unique_ptr<wm::CompoundEventFilter> root_window_event_filter_; |
+ std::unique_ptr<InputMethodEventHandler> input_method_event_handler_; |
+ |
std::unique_ptr<aura::client::DefaultCaptureClient> capture_client_; |
std::unique_ptr<aura::client::FocusClient> focus_client_; |