OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/base/test/ui_controls.h" | 5 #include "ui/base/test/ui_controls.h" |
6 | 6 |
7 #import <Cocoa/Cocoa.h> | 7 #import <Cocoa/Cocoa.h> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 bool command, | 72 bool command, |
73 std::vector<NSEvent*>* events) { | 73 std::vector<NSEvent*>* events) { |
74 NSEvent* event = nil; | 74 NSEvent* event = nil; |
75 NSUInteger flags = 0; | 75 NSUInteger flags = 0; |
76 if (control) { | 76 if (control) { |
77 flags |= NSControlKeyMask; | 77 flags |= NSControlKeyMask; |
78 event = SynthesizeKeyEvent(window, true, ui::VKEY_CONTROL, flags); | 78 event = SynthesizeKeyEvent(window, true, ui::VKEY_CONTROL, flags); |
79 DCHECK(event); | 79 DCHECK(event); |
80 events->push_back(event); | 80 events->push_back(event); |
81 } | 81 } |
| 82 if (command) { |
| 83 flags |= NSCommandKeyMask; |
| 84 event = SynthesizeKeyEvent(window, true, ui::VKEY_COMMAND, flags); |
| 85 DCHECK(event); |
| 86 events->push_back(event); |
| 87 } |
82 if (shift) { | 88 if (shift) { |
83 flags |= NSShiftKeyMask; | 89 flags |= NSShiftKeyMask; |
84 event = SynthesizeKeyEvent(window, true, ui::VKEY_SHIFT, flags); | 90 event = SynthesizeKeyEvent(window, true, ui::VKEY_SHIFT, flags); |
85 DCHECK(event); | 91 DCHECK(event); |
86 events->push_back(event); | 92 events->push_back(event); |
87 } | 93 } |
88 if (alt) { | 94 if (alt) { |
89 flags |= NSAlternateKeyMask; | 95 flags |= NSAlternateKeyMask; |
90 event = SynthesizeKeyEvent(window, true, ui::VKEY_MENU, flags); | 96 event = SynthesizeKeyEvent(window, true, ui::VKEY_MENU, flags); |
91 DCHECK(event); | 97 DCHECK(event); |
92 events->push_back(event); | 98 events->push_back(event); |
93 } | 99 } |
94 if (command) { | |
95 flags |= NSCommandKeyMask; | |
96 event = SynthesizeKeyEvent(window, true, ui::VKEY_COMMAND, flags); | |
97 DCHECK(event); | |
98 events->push_back(event); | |
99 } | |
100 | 100 |
101 event = SynthesizeKeyEvent(window, true, keycode, flags); | 101 event = SynthesizeKeyEvent(window, true, keycode, flags); |
102 DCHECK(event); | 102 DCHECK(event); |
103 events->push_back(event); | 103 events->push_back(event); |
104 event = SynthesizeKeyEvent(window, false, keycode, flags); | 104 event = SynthesizeKeyEvent(window, false, keycode, flags); |
105 DCHECK(event); | 105 DCHECK(event); |
106 events->push_back(event); | 106 events->push_back(event); |
107 | 107 |
108 if (command) { | |
109 flags &= ~NSCommandKeyMask; | |
110 event = SynthesizeKeyEvent(window, false, ui::VKEY_COMMAND, flags); | |
111 DCHECK(event); | |
112 events->push_back(event); | |
113 } | |
114 if (alt) { | 108 if (alt) { |
115 flags &= ~NSAlternateKeyMask; | 109 flags &= ~NSAlternateKeyMask; |
116 event = SynthesizeKeyEvent(window, false, ui::VKEY_MENU, flags); | 110 event = SynthesizeKeyEvent(window, false, ui::VKEY_MENU, flags); |
117 DCHECK(event); | 111 DCHECK(event); |
118 events->push_back(event); | 112 events->push_back(event); |
119 } | 113 } |
120 if (shift) { | 114 if (shift) { |
121 flags &= ~NSShiftKeyMask; | 115 flags &= ~NSShiftKeyMask; |
122 event = SynthesizeKeyEvent(window, false, ui::VKEY_SHIFT, flags); | 116 event = SynthesizeKeyEvent(window, false, ui::VKEY_SHIFT, flags); |
123 DCHECK(event); | 117 DCHECK(event); |
124 events->push_back(event); | 118 events->push_back(event); |
125 } | 119 } |
| 120 if (command) { |
| 121 flags &= ~NSCommandKeyMask; |
| 122 event = SynthesizeKeyEvent(window, false, ui::VKEY_COMMAND, flags); |
| 123 DCHECK(event); |
| 124 events->push_back(event); |
| 125 } |
126 if (control) { | 126 if (control) { |
127 flags &= ~NSControlKeyMask; | 127 flags &= ~NSControlKeyMask; |
128 event = SynthesizeKeyEvent(window, false, ui::VKEY_CONTROL, flags); | 128 event = SynthesizeKeyEvent(window, false, ui::VKEY_CONTROL, flags); |
129 DCHECK(event); | 129 DCHECK(event); |
130 events->push_back(event); | 130 events->push_back(event); |
131 } | 131 } |
132 } | 132 } |
133 | 133 |
134 // A helper function to watch for the event queue. The specific task will be | 134 // A helper function to watch for the event queue. The specific task will be |
135 // fired when there is no more event in the queue. | 135 // fired when there is no more event in the queue. |
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
410 void RunClosureAfterAllPendingUIEvents(const base::Closure& closure) { | 410 void RunClosureAfterAllPendingUIEvents(const base::Closure& closure) { |
411 base::ThreadTaskRunnerHandle::Get()->PostTask( | 411 base::ThreadTaskRunnerHandle::Get()->PostTask( |
412 FROM_HERE, base::Bind(&EventQueueWatcher, closure)); | 412 FROM_HERE, base::Bind(&EventQueueWatcher, closure)); |
413 } | 413 } |
414 | 414 |
415 bool IsFullKeyboardAccessEnabled() { | 415 bool IsFullKeyboardAccessEnabled() { |
416 return [NSApp isFullKeyboardAccessEnabled]; | 416 return [NSApp isFullKeyboardAccessEnabled]; |
417 } | 417 } |
418 | 418 |
419 } // namespace ui_controls | 419 } // namespace ui_controls |
OLD | NEW |