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

Unified Diff: extensions/shell/browser/shell_desktop_controller_aura.h

Issue 2580733002: AppShell: Create input method and handle key events (Closed)
Patch Set: rebase Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_;

Powered by Google App Engine
This is Rietveld 408576698