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

Unified Diff: ui/aura/remote_root_window_host_win.h

Issue 83233002: Enable basic IME functionality under Ash on Windows (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix warnings (that are treated as an error) on 64-bit build Created 7 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
« no previous file with comments | « no previous file | ui/aura/remote_root_window_host_win.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/aura/remote_root_window_host_win.h
diff --git a/ui/aura/remote_root_window_host_win.h b/ui/aura/remote_root_window_host_win.h
index b7d9148d3330834e762fb9343c918207b95a9e6b..92788da5d160a61b67887aa968c28ec1971ddacd 100644
--- a/ui/aura/remote_root_window_host_win.h
+++ b/ui/aura/remote_root_window_host_win.h
@@ -11,15 +11,18 @@
#include "base/compiler_specific.h"
#include "base/strings/string16.h"
#include "ui/aura/window_tree_host.h"
+#include "ui/base/ime/remote_input_method_delegate_win.h"
#include "ui/events/event.h"
#include "ui/events/event_constants.h"
#include "ui/gfx/native_widget_types.h"
+#include "ui/metro_viewer/ime_types.h"
namespace base {
class FilePath;
}
namespace ui {
+class RemoteInputMethodPrivateWin;
class ViewProp;
}
@@ -92,7 +95,9 @@ AURA_EXPORT void HandleActivateDesktop(
// RootWindowHost implementaton that receives events from a different
// process. In the case of Windows this is the Windows 8 (aka Metro)
// frontend process, which forwards input events to this class.
-class AURA_EXPORT RemoteRootWindowHostWin : public RootWindowHost {
+class AURA_EXPORT RemoteRootWindowHostWin
+ : public RootWindowHost,
+ public ui::internal::RemoteInputMethodDelegateWin {
public:
// Returns the only RemoteRootWindowHostWin, if this is the first time
// this function is called, it will call Create() wiht empty bounds.
@@ -185,6 +190,15 @@ class AURA_EXPORT RemoteRootWindowHostWin : public RootWindowHost {
void OnSetCursorPosAck();
void OnDesktopActivated();
+ // For Input Method support:
+ ui::RemoteInputMethodPrivateWin* GetRemoteInputMethodPrivate();
+ void OnImeCompositionChanged(
+ const string16& text,
+ int32 selection_start,
+ int32 selection_end,
+ const std::vector<metro_viewer::UnderlineInfo>& underlines);
+ void OnImeTextCommitted(const string16& text);
+
// RootWindowHost overrides:
virtual RootWindow* GetRootWindow() OVERRIDE;
virtual gfx::AcceleratedWidget GetAcceleratedWidget() OVERRIDE;
@@ -208,6 +222,12 @@ class AURA_EXPORT RemoteRootWindowHostWin : public RootWindowHost {
virtual void OnDeviceScaleFactorChanged(float device_scale_factor) OVERRIDE;
virtual void PrepareForShutdown() OVERRIDE;
+ // ui::internal::RemoteInputMethodDelegateWin overrides:
+ virtual void CancelComposition() OVERRIDE;
+ virtual void OnTextInputClientUpdated(
+ const std::vector<int32>& input_scopes,
+ const std::vector<gfx::Rect>& composition_character_bounds) OVERRIDE;
+
// Helper function to dispatch a keyboard message to the desired target.
// The default target is the RootWindowHostDelegate. For nested message loop
// invocations we post a synthetic keyboard message directly into the message
« no previous file with comments | « no previous file | ui/aura/remote_root_window_host_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698