Index: ash/host/ash_window_tree_host_x11.cc |
diff --git a/ash/host/ash_window_tree_host_x11.cc b/ash/host/ash_window_tree_host_x11.cc |
index 73efb44b96602b3f7322edb05423962a757f9193..6733d78f82ab8d4f494435ff6685c7c73c2b342e 100644 |
--- a/ash/host/ash_window_tree_host_x11.cc |
+++ b/ash/host/ash_window_tree_host_x11.cc |
@@ -15,6 +15,7 @@ |
#include "ash/host/ash_window_tree_host_init_params.h" |
#include "ash/host/ash_window_tree_host_unified.h" |
#include "ash/host/root_window_transformer.h" |
+#include "ash/ime/input_method_event_handler.h" |
#include "base/sys_info.h" |
#include "ui/aura/env.h" |
#include "ui/aura/window.h" |
@@ -212,6 +213,15 @@ |
SendEventToSink(event); |
} |
+ui::EventDispatchDetails AshWindowTreeHostX11::DispatchKeyEventPostIME( |
+ ui::KeyEvent* event) { |
+ input_method_handler()->SetPostIME(true); |
+ ui::EventDispatchDetails details = event_sink()->OnEventFromSource(event); |
+ if (!details.dispatcher_destroyed) |
+ input_method_handler()->SetPostIME(false); |
+ return details; |
+} |
+ |
void AshWindowTreeHostX11::SetCrOSTapPaused(bool state) { |
if (!ui::IsXInput2Available()) |
return; |