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

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

Issue 2580733002: AppShell: Create input method and handle key events (Closed)
Patch Set: nits 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..c73faa22519d27b0713734db1a115200cb4dfc25 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,9 +53,11 @@ class CursorManager;
namespace extensions {
class AppWindowClient;
class Extension;
+class InputMethodEventHandler;
class ShellScreen;
-// Handles desktop-related tasks for app_shell.
+// Simple desktop controller for app_shell. Sets up a root Aura window for the
+// primary display.
class ShellDesktopControllerAura
: public DesktopController,
public aura::client::WindowParentingClient,
@@ -62,7 +65,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,12 +97,18 @@ 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.
virtual void InitWindowManager();
private:
+ FRIEND_TEST_ALL_PREFIXES(ShellDesktopControllerAuraTest, InputEvents);
+
// Creates the window that hosts the app.
void CreateRootWindow();
@@ -119,6 +129,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_;
« no previous file with comments | « extensions/shell/browser/input_method_event_handler.cc ('k') | extensions/shell/browser/shell_desktop_controller_aura.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698