OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/ui/views/unhandled_keyboard_event_handler.h" | 5 #include "chrome/browser/ui/views/unhandled_keyboard_event_handler.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "views/focus/focus_manager.h" | 8 #include "views/focus/focus_manager.h" |
9 | 9 |
10 UnhandledKeyboardEventHandler::UnhandledKeyboardEventHandler() { | 10 UnhandledKeyboardEventHandler::UnhandledKeyboardEventHandler() { |
(...skipping 15 matching lines...) Expand all Loading... |
26 // cases, we discard the Char events. | 26 // cases, we discard the Char events. |
27 if (event.type == WebKit::WebInputEvent::Char && ignore_next_char_event_) { | 27 if (event.type == WebKit::WebInputEvent::Char && ignore_next_char_event_) { |
28 ignore_next_char_event_ = false; | 28 ignore_next_char_event_ = false; |
29 return; | 29 return; |
30 } | 30 } |
31 // It's necessary to reset this flag, because a RawKeyDown event may not | 31 // It's necessary to reset this flag, because a RawKeyDown event may not |
32 // always generate a Char event. | 32 // always generate a Char event. |
33 ignore_next_char_event_ = false; | 33 ignore_next_char_event_ = false; |
34 | 34 |
35 if (event.type == WebKit::WebInputEvent::RawKeyDown) { | 35 if (event.type == WebKit::WebInputEvent::RawKeyDown) { |
36 views::Accelerator accelerator( | 36 ui::Accelerator accelerator( |
37 static_cast<ui::KeyboardCode>(event.windowsKeyCode), | 37 static_cast<ui::KeyboardCode>(event.windowsKeyCode), |
38 (event.modifiers & NativeWebKeyboardEvent::ShiftKey) == | 38 (event.modifiers & NativeWebKeyboardEvent::ShiftKey) == |
39 NativeWebKeyboardEvent::ShiftKey, | 39 NativeWebKeyboardEvent::ShiftKey, |
40 (event.modifiers & NativeWebKeyboardEvent::ControlKey) == | 40 (event.modifiers & NativeWebKeyboardEvent::ControlKey) == |
41 NativeWebKeyboardEvent::ControlKey, | 41 NativeWebKeyboardEvent::ControlKey, |
42 (event.modifiers & NativeWebKeyboardEvent::AltKey) == | 42 (event.modifiers & NativeWebKeyboardEvent::AltKey) == |
43 NativeWebKeyboardEvent::AltKey); | 43 NativeWebKeyboardEvent::AltKey); |
44 | 44 |
45 // This is tricky: we want to set ignore_next_char_event_ if | 45 // This is tricky: we want to set ignore_next_char_event_ if |
46 // ProcessAccelerator returns true. But ProcessAccelerator might delete | 46 // ProcessAccelerator returns true. But ProcessAccelerator might delete |
(...skipping 10 matching lines...) Expand all Loading... |
57 ignore_next_char_event_ = false; | 57 ignore_next_char_event_ = false; |
58 } | 58 } |
59 | 59 |
60 #if defined(OS_WIN) && !defined(USE_AURA) | 60 #if defined(OS_WIN) && !defined(USE_AURA) |
61 // Any unhandled keyboard/character messages should be defproced. | 61 // Any unhandled keyboard/character messages should be defproced. |
62 // This allows stuff like F10, etc to work correctly. | 62 // This allows stuff like F10, etc to work correctly. |
63 DefWindowProc(event.os_event.hwnd, event.os_event.message, | 63 DefWindowProc(event.os_event.hwnd, event.os_event.message, |
64 event.os_event.wParam, event.os_event.lParam); | 64 event.os_event.wParam, event.os_event.lParam); |
65 #endif | 65 #endif |
66 } | 66 } |
67 | |
OLD | NEW |