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

Unified Diff: ui/aura/mus/input_method_mus.cc

Issue 2957173004: Make DispatchKeyEventPostIME() asynchronous.
Patch Set: cleanup. Created 3 years, 5 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/mus/input_method_mus.cc
diff --git a/ui/aura/mus/input_method_mus.cc b/ui/aura/mus/input_method_mus.cc
index 0292c97b8169af501e43c1bdaac029f0aba4530d..c99f7e6e796c85a325e960db715ac52de337e7c9 100644
--- a/ui/aura/mus/input_method_mus.cc
+++ b/ui/aura/mus/input_method_mus.cc
@@ -151,7 +151,8 @@ void InputMethodMus::OnDidChangeFocusedClient(
if (!focused)
return;
- text_input_client_ = base::MakeUnique<TextInputClientImpl>(focused);
+ text_input_client_ =
+ base::MakeUnique<TextInputClientImpl>(focused, delegate_);
// We are about to close the pipe with pending callbacks. Closing the pipe
// results in none of the callbacks being run. We have to run the callbacks
@@ -203,23 +204,12 @@ void InputMethodMus::ProcessKeyEventCallback(
std::unique_ptr<EventResultCallback> ack_callback =
std::move(pending_callbacks_.front());
pending_callbacks_.pop_front();
- EventResult event_result;
- if (!handled) {
- // If not handled by IME, try dispatching the event to delegate to see if
- // any client-side post-ime processing needs to be done. This includes cases
- // like backspace, return key, etc.
- std::unique_ptr<ui::Event> event_clone = ui::Event::Clone(event);
- ignore_result(DispatchKeyEventPostIME(event_clone->AsKeyEvent()));
- event_result =
- event_clone->handled() ? EventResult::HANDLED : EventResult::UNHANDLED;
- } else {
- event_result = EventResult::HANDLED;
- }
+
// |ack_callback| can be null if the standard form of DispatchKeyEvent() is
// called instead of the version which provides a callback. In mus+ash we
// use the version with callback, but some unittests use the standard form.
if (ack_callback)
- ack_callback->Run(event_result);
+ ack_callback->Run(handled ? EventResult::HANDLED : EventResult::UNHANDLED);
}
} // namespace aura

Powered by Google App Engine
This is Rietveld 408576698