| Index: base/message_loop/message_pump_win.cc
|
| diff --git a/base/message_loop/message_pump_win.cc b/base/message_loop/message_pump_win.cc
|
| index 10e308aa9dc3406ad5d1f02c5edca8e6a83573c9..e141c7cdb1b11236d5c56ee338364249bbf9bf49 100644
|
| --- a/base/message_loop/message_pump_win.cc
|
| +++ b/base/message_loop/message_pump_win.cc
|
| @@ -400,10 +400,12 @@ bool MessagePumpForUI::ProcessMessageHelper(const MSG& msg) {
|
| }
|
| if (action & MessagePumpDispatcher::POST_DISPATCH_QUIT_LOOP)
|
| state_->should_quit = true;
|
| - if (action & MessagePumpDispatcher::POST_DISPATCH_PERFORM_DEFAULT) {
|
| - TranslateMessage(&msg);
|
| + // Don't call TranslateMessage() here but call TranslateMessage() in
|
| + // InputMethodWin, so that the WM_KEYDOWN/WM_KEYUP & WM_CHAR can be combined
|
| + // for key event flow. The combination of key events is required for Chrome
|
| + // IMEs, which can do IME related actions based on the single key event.
|
| + if (action & MessagePumpDispatcher::POST_DISPATCH_PERFORM_DEFAULT)
|
| DispatchMessage(&msg);
|
| - }
|
|
|
| return true;
|
| }
|
|
|