| Index: views/controls/textfield/native_textfield_win.cc
|
| diff --git a/views/controls/textfield/native_textfield_win.cc b/views/controls/textfield/native_textfield_win.cc
|
| index d5595920eda6ef717f1d17ce0ca4b135a82bbd40..7380602561df7b42581c0463a88aa73e82a7f70d 100644
|
| --- a/views/controls/textfield/native_textfield_win.cc
|
| +++ b/views/controls/textfield/native_textfield_win.cc
|
| @@ -9,6 +9,7 @@
|
| #include "app/clipboard/clipboard.h"
|
| #include "app/clipboard/scoped_clipboard_writer.h"
|
| #include "app/keyboard_codes.h"
|
| +#include "app/keyboard_code_conversion_win.h"
|
| #include "app/l10n_util.h"
|
| #include "app/l10n_util_win.h"
|
| #include "app/win_util.h"
|
| @@ -876,8 +877,26 @@ void NativeTextfieldWin::HandleKeystroke(UINT message,
|
| Textfield::Controller* controller = textfield_->GetController();
|
| bool handled = false;
|
| if (controller) {
|
| - handled = controller->HandleKeystroke(textfield_,
|
| - Textfield::Keystroke(message, key, repeat_count, flags));
|
| + Event::EventType type;
|
| + switch (message) {
|
| + case WM_KEYDOWN:
|
| + case WM_CHAR:
|
| + type = Event::ET_KEY_PRESSED;
|
| + break;
|
| + case WM_KEYUP:
|
| + type = Event::ET_KEY_RELEASED;
|
| + break;
|
| + default:
|
| + NOTREACHED() << "Unknown key event";
|
| + type = Event::ET_KEY_PRESSED;
|
| + }
|
| + KeyEvent key_event(type,
|
| + app::KeyboardCodeForWindowsKeyCode(key),
|
| + KeyEvent::GetKeyStateFlags(),
|
| + repeat_count,
|
| + flags,
|
| + message);
|
| + handled = controller->HandleKeyEvent(textfield_, key_event);
|
| }
|
|
|
| if (!handled) {
|
|
|