Index: ash/mus/ash_window_tree_host_mus.cc |
diff --git a/ash/mus/ash_window_tree_host_mus.cc b/ash/mus/ash_window_tree_host_mus.cc |
index b5c2deaad92134708631acc2ca13a74c68a0d57d..7c10818a2cb53502302e5b63d78e7964aa72d2ac 100644 |
--- a/ash/mus/ash_window_tree_host_mus.cc |
+++ b/ash/mus/ash_window_tree_host_mus.cc |
@@ -6,6 +6,7 @@ |
#include "ash/host/root_window_transformer.h" |
#include "ash/host/transformer_helper.h" |
+#include "ash/ime/input_method_event_handler.h" |
#include "base/memory/ptr_util.h" |
#include "ui/aura/mus/window_tree_host_mus_init_params.h" |
#include "ui/aura/window.h" |
@@ -85,4 +86,15 @@ |
transformer_helper_->UpdateWindowSize(host_size_in_pixels); |
} |
+ui::EventDispatchDetails AshWindowTreeHostMus::DispatchKeyEventPostIME( |
+ ui::KeyEvent* event) { |
+ // input_method_handler() can be null when using IME service with --mus. |
+ if (input_method_handler()) |
+ input_method_handler()->SetPostIME(true); |
+ ui::EventDispatchDetails details = SendEventToSink(event); |
+ if (input_method_handler() && !details.dispatcher_destroyed) |
+ input_method_handler()->SetPostIME(false); |
+ return details; |
+} |
+ |
} // namespace ash |