OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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/keyboard/keyboard_util.h" | 5 #include "ui/keyboard/keyboard_util.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 20 matching lines...) Expand all Loading... |
31 #include "url/gurl.h" | 31 #include "url/gurl.h" |
32 | 32 |
33 namespace { | 33 namespace { |
34 | 34 |
35 const char kKeyDown[] ="keydown"; | 35 const char kKeyDown[] ="keydown"; |
36 const char kKeyUp[] = "keyup"; | 36 const char kKeyUp[] = "keyup"; |
37 | 37 |
38 void SendProcessKeyEvent(ui::EventType type, | 38 void SendProcessKeyEvent(ui::EventType type, |
39 aura::WindowTreeHost* host) { | 39 aura::WindowTreeHost* host) { |
40 ui::KeyEvent event(type, ui::VKEY_PROCESSKEY, ui::DomCode::NONE, | 40 ui::KeyEvent event(type, ui::VKEY_PROCESSKEY, ui::DomCode::NONE, |
41 ui::EF_IS_SYNTHESIZED, ui::DomKey::PROCESS, 0, | 41 ui::EF_IS_SYNTHESIZED, ui::DomKey::PROCESS, |
42 ui::EventTimeForNow()); | 42 ui::EventTimeForNow()); |
43 ui::EventDispatchDetails details = | 43 ui::EventDispatchDetails details = |
44 host->event_processor()->OnEventFromSource(&event); | 44 host->event_processor()->OnEventFromSource(&event); |
45 CHECK(!details.dispatcher_destroyed); | 45 CHECK(!details.dispatcher_destroyed); |
46 } | 46 } |
47 | 47 |
48 base::LazyInstance<base::Time> g_keyboard_load_time_start = | 48 base::LazyInstance<base::Time> g_keyboard_load_time_start = |
49 LAZY_INSTANCE_INITIALIZER; | 49 LAZY_INSTANCE_INITIALIZER; |
50 | 50 |
51 bool g_accessibility_keyboard_enabled = false; | 51 bool g_accessibility_keyboard_enabled = false; |
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
246 | 246 |
247 if (swipe_direction & kCursorMoveUp) | 247 if (swipe_direction & kCursorMoveUp) |
248 domcodey = ui::DomCode::ARROW_UP; | 248 domcodey = ui::DomCode::ARROW_UP; |
249 else if (swipe_direction & kCursorMoveDown) | 249 else if (swipe_direction & kCursorMoveDown) |
250 domcodey = ui::DomCode::ARROW_DOWN; | 250 domcodey = ui::DomCode::ARROW_DOWN; |
251 | 251 |
252 // First deal with the x movement. | 252 // First deal with the x movement. |
253 if (domcodex != ui::DomCode::NONE) { | 253 if (domcodex != ui::DomCode::NONE) { |
254 ui::KeyboardCode codex = ui::VKEY_UNKNOWN; | 254 ui::KeyboardCode codex = ui::VKEY_UNKNOWN; |
255 ui::DomKey domkeyx = ui::DomKey::NONE; | 255 ui::DomKey domkeyx = ui::DomKey::NONE; |
256 base::char16 cx; | 256 ignore_result(DomCodeToUsLayoutDomKey(domcodex, ui::EF_NONE, &domkeyx, |
257 ignore_result(DomCodeToUsLayoutMeaning(domcodex, ui::EF_NONE, &domkeyx, | 257 &codex)); |
258 &cx, &codex)); | |
259 ui::KeyEvent press_event(ui::ET_KEY_PRESSED, codex, domcodex, | 258 ui::KeyEvent press_event(ui::ET_KEY_PRESSED, codex, domcodex, |
260 modifier_flags, domkeyx, cx, | 259 modifier_flags, domkeyx, |
261 ui::EventTimeForNow()); | 260 ui::EventTimeForNow()); |
262 ui::EventDispatchDetails details = | 261 ui::EventDispatchDetails details = |
263 host->event_processor()->OnEventFromSource(&press_event); | 262 host->event_processor()->OnEventFromSource(&press_event); |
264 CHECK(!details.dispatcher_destroyed); | 263 CHECK(!details.dispatcher_destroyed); |
265 ui::KeyEvent release_event(ui::ET_KEY_RELEASED, codex, domcodex, | 264 ui::KeyEvent release_event(ui::ET_KEY_RELEASED, codex, domcodex, |
266 modifier_flags, domkeyx, cx, | 265 modifier_flags, domkeyx, |
267 ui::EventTimeForNow()); | 266 ui::EventTimeForNow()); |
268 details = host->event_processor()->OnEventFromSource(&release_event); | 267 details = host->event_processor()->OnEventFromSource(&release_event); |
269 CHECK(!details.dispatcher_destroyed); | 268 CHECK(!details.dispatcher_destroyed); |
270 } | 269 } |
271 | 270 |
272 // Then deal with the y movement. | 271 // Then deal with the y movement. |
273 if (domcodey != ui::DomCode::NONE) { | 272 if (domcodey != ui::DomCode::NONE) { |
274 ui::KeyboardCode codey = ui::VKEY_UNKNOWN; | 273 ui::KeyboardCode codey = ui::VKEY_UNKNOWN; |
275 ui::DomKey domkeyy = ui::DomKey::NONE; | 274 ui::DomKey domkeyy = ui::DomKey::NONE; |
276 base::char16 cy; | 275 ignore_result(DomCodeToUsLayoutDomKey(domcodey, ui::EF_NONE, &domkeyy, |
277 ignore_result(DomCodeToUsLayoutMeaning(domcodey, ui::EF_NONE, &domkeyy, | 276 &codey)); |
278 &cy, &codey)); | |
279 ui::KeyEvent press_event(ui::ET_KEY_PRESSED, codey, domcodey, | 277 ui::KeyEvent press_event(ui::ET_KEY_PRESSED, codey, domcodey, |
280 modifier_flags, domkeyy, cy, | 278 modifier_flags, domkeyy, |
281 ui::EventTimeForNow()); | 279 ui::EventTimeForNow()); |
282 ui::EventDispatchDetails details = | 280 ui::EventDispatchDetails details = |
283 host->event_processor()->OnEventFromSource(&press_event); | 281 host->event_processor()->OnEventFromSource(&press_event); |
284 CHECK(!details.dispatcher_destroyed); | 282 CHECK(!details.dispatcher_destroyed); |
285 ui::KeyEvent release_event(ui::ET_KEY_RELEASED, codey, domcodey, | 283 ui::KeyEvent release_event(ui::ET_KEY_RELEASED, codey, domcodey, |
286 modifier_flags, domkeyy, cy, | 284 modifier_flags, domkeyy, |
287 ui::EventTimeForNow()); | 285 ui::EventTimeForNow()); |
288 details = host->event_processor()->OnEventFromSource(&release_event); | 286 details = host->event_processor()->OnEventFromSource(&release_event); |
289 CHECK(!details.dispatcher_destroyed); | 287 CHECK(!details.dispatcher_destroyed); |
290 } | 288 } |
291 return true; | 289 return true; |
292 } | 290 } |
293 | 291 |
294 bool SendKeyEvent(const std::string type, | 292 bool SendKeyEvent(const std::string type, |
295 int key_value, | 293 int key_value, |
296 int key_code, | 294 int key_code, |
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
475 } | 473 } |
476 | 474 |
477 void LogKeyboardControlEvent(KeyboardControlEvent event) { | 475 void LogKeyboardControlEvent(KeyboardControlEvent event) { |
478 UMA_HISTOGRAM_ENUMERATION( | 476 UMA_HISTOGRAM_ENUMERATION( |
479 "VirtualKeyboard.KeyboardControlEvent", | 477 "VirtualKeyboard.KeyboardControlEvent", |
480 event, | 478 event, |
481 keyboard::KEYBOARD_CONTROL_MAX); | 479 keyboard::KEYBOARD_CONTROL_MAX); |
482 } | 480 } |
483 | 481 |
484 } // namespace keyboard | 482 } // namespace keyboard |
OLD | NEW |