OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "ui/views/controls/menu/menu_event_dispatcher.h" | 5 #include "ui/views/controls/menu/menu_event_dispatcher.h" |
6 | 6 |
7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "ui/aura/window.h" | 8 #include "ui/aura/window.h" |
9 #include "ui/events/event_utils.h" | 9 #include "ui/events/event_utils.h" |
10 #include "ui/events/keycodes/keyboard_code_conversion.h" | 10 #include "ui/events/keycodes/keyboard_code_conversion.h" |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 should_perform_default = false; | 51 should_perform_default = false; |
52 | 52 |
53 ui::KeyEvent* key_event = static_cast<ui::KeyEvent*>(ui_event.get()); | 53 ui::KeyEvent* key_event = static_cast<ui::KeyEvent*>(ui_event.get()); |
54 menu_controller_->OnKeyDown(key_event->key_code()); | 54 menu_controller_->OnKeyDown(key_event->key_code()); |
55 if (menu_controller_->exit_type() != MenuController::EXIT_NONE) | 55 if (menu_controller_->exit_type() != MenuController::EXIT_NONE) |
56 break; | 56 break; |
57 | 57 |
58 // Do not check mnemonics if the Alt or Ctrl modifiers are pressed. | 58 // Do not check mnemonics if the Alt or Ctrl modifiers are pressed. |
59 int flags = key_event->flags(); | 59 int flags = key_event->flags(); |
60 if ((flags & (ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN)) == 0) { | 60 if ((flags & (ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN)) == 0) { |
61 char c = ui::GetCharacterFromKeyCode(key_event->key_code(), flags); | 61 char c = ui::DomCodeToUsLayoutCharacter(key_event->code(), flags); |
62 menu_controller_->SelectByChar(c); | 62 menu_controller_->SelectByChar(c); |
63 } | 63 } |
64 break; | 64 break; |
65 } | 65 } |
66 case ui::ET_KEY_RELEASED: | 66 case ui::ET_KEY_RELEASED: |
67 should_perform_default = false; | 67 should_perform_default = false; |
68 break; | 68 break; |
69 case ui::ET_TOUCH_RELEASED: | 69 case ui::ET_TOUCH_RELEASED: |
70 case ui::ET_TOUCH_CANCELLED: | 70 case ui::ET_TOUCH_CANCELLED: |
71 // Don't allow the event copy to clear the native touch id | 71 // Don't allow the event copy to clear the native touch id |
72 // mapping, or we'll lose the mapping before the initial event | 72 // mapping, or we'll lose the mapping before the initial event |
73 // has finished being dispatched. | 73 // has finished being dispatched. |
74 static_cast<ui::TouchEvent*>(ui_event.get()) | 74 static_cast<ui::TouchEvent*>(ui_event.get()) |
75 ->set_should_remove_native_touch_id_mapping(false); | 75 ->set_should_remove_native_touch_id_mapping(false); |
76 break; | 76 break; |
77 default: | 77 default: |
78 break; | 78 break; |
79 } | 79 } |
80 } | 80 } |
81 | 81 |
82 if (menu_controller_->exit_type() != MenuController::EXIT_NONE) | 82 if (menu_controller_->exit_type() != MenuController::EXIT_NONE) |
83 menu_controller_->TerminateNestedMessageLoop(); | 83 menu_controller_->TerminateNestedMessageLoop(); |
84 | 84 |
85 return should_perform_default ? ui::POST_DISPATCH_PERFORM_DEFAULT | 85 return should_perform_default ? ui::POST_DISPATCH_PERFORM_DEFAULT |
86 : ui::POST_DISPATCH_NONE; | 86 : ui::POST_DISPATCH_NONE; |
87 } | 87 } |
88 | 88 |
89 } // namespace internal | 89 } // namespace internal |
90 } // namespace views | 90 } // namespace views |
OLD | NEW |