| 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 18 matching lines...) Expand all Loading... |
| 29 #include "url/gurl.h" | 29 #include "url/gurl.h" |
| 30 | 30 |
| 31 namespace { | 31 namespace { |
| 32 | 32 |
| 33 const char kKeyDown[] ="keydown"; | 33 const char kKeyDown[] ="keydown"; |
| 34 const char kKeyUp[] = "keyup"; | 34 const char kKeyUp[] = "keyup"; |
| 35 | 35 |
| 36 void SendProcessKeyEvent(ui::EventType type, | 36 void SendProcessKeyEvent(ui::EventType type, |
| 37 aura::WindowTreeHost* host) { | 37 aura::WindowTreeHost* host) { |
| 38 ui::KeyEvent event(type, ui::VKEY_PROCESSKEY, ui::DomCode::NONE, | 38 ui::KeyEvent event(type, ui::VKEY_PROCESSKEY, ui::DomCode::NONE, |
| 39 ui::EF_IS_SYNTHESIZED, ui::DomKey::PROCESS, 0, | 39 ui::EF_IS_SYNTHESIZED, ui::DomKey::PROCESS, |
| 40 ui::EventTimeForNow()); | 40 ui::EventTimeForNow()); |
| 41 ui::EventDispatchDetails details = | 41 ui::EventDispatchDetails details = |
| 42 host->event_processor()->OnEventFromSource(&event); | 42 host->event_processor()->OnEventFromSource(&event); |
| 43 CHECK(!details.dispatcher_destroyed); | 43 CHECK(!details.dispatcher_destroyed); |
| 44 } | 44 } |
| 45 | 45 |
| 46 base::LazyInstance<base::Time> g_keyboard_load_time_start = | 46 base::LazyInstance<base::Time> g_keyboard_load_time_start = |
| 47 LAZY_INSTANCE_INITIALIZER; | 47 LAZY_INSTANCE_INITIALIZER; |
| 48 | 48 |
| 49 bool g_accessibility_keyboard_enabled = false; | 49 bool g_accessibility_keyboard_enabled = false; |
| (...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 224 | 224 |
| 225 if (swipe_direction & kCursorMoveUp) | 225 if (swipe_direction & kCursorMoveUp) |
| 226 domcodey = ui::DomCode::ARROW_UP; | 226 domcodey = ui::DomCode::ARROW_UP; |
| 227 else if (swipe_direction & kCursorMoveDown) | 227 else if (swipe_direction & kCursorMoveDown) |
| 228 domcodey = ui::DomCode::ARROW_DOWN; | 228 domcodey = ui::DomCode::ARROW_DOWN; |
| 229 | 229 |
| 230 // First deal with the x movement. | 230 // First deal with the x movement. |
| 231 if (domcodex != ui::DomCode::NONE) { | 231 if (domcodex != ui::DomCode::NONE) { |
| 232 ui::KeyboardCode codex = ui::VKEY_UNKNOWN; | 232 ui::KeyboardCode codex = ui::VKEY_UNKNOWN; |
| 233 ui::DomKey domkeyx = ui::DomKey::NONE; | 233 ui::DomKey domkeyx = ui::DomKey::NONE; |
| 234 base::char16 cx; | 234 ignore_result(DomCodeToUsLayoutDomKey(domcodex, ui::EF_NONE, &domkeyx, |
| 235 ignore_result(DomCodeToUsLayoutMeaning(domcodex, ui::EF_NONE, &domkeyx, | 235 &codex)); |
| 236 &cx, &codex)); | |
| 237 ui::KeyEvent press_event(ui::ET_KEY_PRESSED, codex, domcodex, | 236 ui::KeyEvent press_event(ui::ET_KEY_PRESSED, codex, domcodex, |
| 238 modifier_flags, domkeyx, cx, | 237 modifier_flags, domkeyx, |
| 239 ui::EventTimeForNow()); | 238 ui::EventTimeForNow()); |
| 240 ui::EventDispatchDetails details = | 239 ui::EventDispatchDetails details = |
| 241 host->event_processor()->OnEventFromSource(&press_event); | 240 host->event_processor()->OnEventFromSource(&press_event); |
| 242 CHECK(!details.dispatcher_destroyed); | 241 CHECK(!details.dispatcher_destroyed); |
| 243 ui::KeyEvent release_event(ui::ET_KEY_RELEASED, codex, domcodex, | 242 ui::KeyEvent release_event(ui::ET_KEY_RELEASED, codex, domcodex, |
| 244 modifier_flags, domkeyx, cx, | 243 modifier_flags, domkeyx, |
| 245 ui::EventTimeForNow()); | 244 ui::EventTimeForNow()); |
| 246 details = host->event_processor()->OnEventFromSource(&release_event); | 245 details = host->event_processor()->OnEventFromSource(&release_event); |
| 247 CHECK(!details.dispatcher_destroyed); | 246 CHECK(!details.dispatcher_destroyed); |
| 248 } | 247 } |
| 249 | 248 |
| 250 // Then deal with the y movement. | 249 // Then deal with the y movement. |
| 251 if (domcodey != ui::DomCode::NONE) { | 250 if (domcodey != ui::DomCode::NONE) { |
| 252 ui::KeyboardCode codey = ui::VKEY_UNKNOWN; | 251 ui::KeyboardCode codey = ui::VKEY_UNKNOWN; |
| 253 ui::DomKey domkeyy = ui::DomKey::NONE; | 252 ui::DomKey domkeyy = ui::DomKey::NONE; |
| 254 base::char16 cy; | 253 ignore_result(DomCodeToUsLayoutDomKey(domcodey, ui::EF_NONE, &domkeyy, |
| 255 ignore_result(DomCodeToUsLayoutMeaning(domcodey, ui::EF_NONE, &domkeyy, | 254 &codey)); |
| 256 &cy, &codey)); | |
| 257 ui::KeyEvent press_event(ui::ET_KEY_PRESSED, codey, domcodey, | 255 ui::KeyEvent press_event(ui::ET_KEY_PRESSED, codey, domcodey, |
| 258 modifier_flags, domkeyy, cy, | 256 modifier_flags, domkeyy, |
| 259 ui::EventTimeForNow()); | 257 ui::EventTimeForNow()); |
| 260 ui::EventDispatchDetails details = | 258 ui::EventDispatchDetails details = |
| 261 host->event_processor()->OnEventFromSource(&press_event); | 259 host->event_processor()->OnEventFromSource(&press_event); |
| 262 CHECK(!details.dispatcher_destroyed); | 260 CHECK(!details.dispatcher_destroyed); |
| 263 ui::KeyEvent release_event(ui::ET_KEY_RELEASED, codey, domcodey, | 261 ui::KeyEvent release_event(ui::ET_KEY_RELEASED, codey, domcodey, |
| 264 modifier_flags, domkeyy, cy, | 262 modifier_flags, domkeyy, |
| 265 ui::EventTimeForNow()); | 263 ui::EventTimeForNow()); |
| 266 details = host->event_processor()->OnEventFromSource(&release_event); | 264 details = host->event_processor()->OnEventFromSource(&release_event); |
| 267 CHECK(!details.dispatcher_destroyed); | 265 CHECK(!details.dispatcher_destroyed); |
| 268 } | 266 } |
| 269 return true; | 267 return true; |
| 270 } | 268 } |
| 271 | 269 |
| 272 bool SendKeyEvent(const std::string type, | 270 bool SendKeyEvent(const std::string type, |
| 273 int key_value, | 271 int key_value, |
| 274 int key_code, | 272 int key_code, |
| (...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 453 } | 451 } |
| 454 | 452 |
| 455 void LogKeyboardControlEvent(KeyboardControlEvent event) { | 453 void LogKeyboardControlEvent(KeyboardControlEvent event) { |
| 456 UMA_HISTOGRAM_ENUMERATION( | 454 UMA_HISTOGRAM_ENUMERATION( |
| 457 "VirtualKeyboard.KeyboardControlEvent", | 455 "VirtualKeyboard.KeyboardControlEvent", |
| 458 event, | 456 event, |
| 459 keyboard::KEYBOARD_CONTROL_MAX); | 457 keyboard::KEYBOARD_CONTROL_MAX); |
| 460 } | 458 } |
| 461 | 459 |
| 462 } // namespace keyboard | 460 } // namespace keyboard |
| OLD | NEW |