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

Unified Diff: ui/aura/window_event_dispatcher.cc

Issue 2872343003: Remove InputMethodEventHandler. (Closed)
Patch Set: Add a unittest. Created 3 years, 7 months 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: ui/aura/window_event_dispatcher.cc
diff --git a/ui/aura/window_event_dispatcher.cc b/ui/aura/window_event_dispatcher.cc
index 589529ea6c0889e70fdec7f5694377455cf2d70a..d815f26b364e4dcd4f06d722b7d5674e9b856125 100644
--- a/ui/aura/window_event_dispatcher.cc
+++ b/ui/aura/window_event_dispatcher.cc
@@ -25,6 +25,7 @@
#include "ui/aura/window_tracker.h"
#include "ui/aura/window_tree_host.h"
#include "ui/base/hit_test.h"
+#include "ui/base/ime/input_method.h"
#include "ui/compositor/dip_util.h"
#include "ui/events/event.h"
#include "ui/events/event_utils.h"
@@ -519,6 +520,8 @@ ui::EventDispatchDetails WindowEventDispatcher::PreDispatchEvent(
details = PreDispatchLocatedEvent(target_window, event->AsScrollEvent());
} else if (event->IsTouchEvent()) {
details = PreDispatchTouchEvent(target_window, event->AsTouchEvent());
+ } else if (event->IsKeyEvent()) {
+ details = PreDispatchKeyEvent(event->AsKeyEvent());
}
if (details.dispatcher_destroyed || details.target_destroyed)
return details;
@@ -929,4 +932,14 @@ DispatchDetails WindowEventDispatcher::PreDispatchTouchEvent(
return PreDispatchLocatedEvent(target, event);
}
+ui::EventDispatchDetails WindowEventDispatcher::PreDispatchKeyEvent(
+ ui::KeyEvent* event) {
+ if (!host_->has_input_method() || event->should_skip_ime() ||
+ (event->flags() & ui::EF_IS_SYNTHESIZED))
+ return ui::EventDispatchDetails();
+ host_->GetInputMethod()->DispatchKeyEvent(event);
+ event->StopPropagation();
+ return ui::EventDispatchDetails();
+}
+
} // namespace aura

Powered by Google App Engine
This is Rietveld 408576698