| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "base/basictypes.h" | 5 #include "base/basictypes.h" |
| 6 #include "base/bind.h" | 6 #include "base/bind.h" |
| 7 #include "base/callback.h" | 7 #include "base/callback.h" |
| 8 #include "base/memory/shared_memory.h" | 8 #include "base/memory/shared_memory.h" |
| 9 #include "base/strings/string_util.h" | 9 #include "base/strings/string_util.h" |
| 10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
| (...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 228 ui::KeyEvent event1(xevent); | 228 ui::KeyEvent event1(xevent); |
| 229 NativeWebKeyboardEvent keydown_event(&event1); | 229 NativeWebKeyboardEvent keydown_event(&event1); |
| 230 SendNativeKeyEvent(keydown_event); | 230 SendNativeKeyEvent(keydown_event); |
| 231 | 231 |
| 232 // X11 doesn't actually have native character events, but give the test | 232 // X11 doesn't actually have native character events, but give the test |
| 233 // what it wants. | 233 // what it wants. |
| 234 xevent.InitKeyEvent(ui::ET_KEY_PRESSED, | 234 xevent.InitKeyEvent(ui::ET_KEY_PRESSED, |
| 235 static_cast<ui::KeyboardCode>(key_code), | 235 static_cast<ui::KeyboardCode>(key_code), |
| 236 flags); | 236 flags); |
| 237 ui::KeyEvent event2(xevent); | 237 ui::KeyEvent event2(xevent); |
| 238 event2.set_character(GetCharacterFromKeyCode(event2.key_code(), |
| 239 event2.flags())); |
| 238 ui::KeyEventTestApi test_event2(&event2); | 240 ui::KeyEventTestApi test_event2(&event2); |
| 239 test_event2.set_is_char(true); | 241 test_event2.set_is_char(true); |
| 240 NativeWebKeyboardEvent char_event(&event2); | 242 NativeWebKeyboardEvent char_event(&event2); |
| 241 SendNativeKeyEvent(char_event); | 243 SendNativeKeyEvent(char_event); |
| 242 | 244 |
| 243 xevent.InitKeyEvent(ui::ET_KEY_RELEASED, | 245 xevent.InitKeyEvent(ui::ET_KEY_RELEASED, |
| 244 static_cast<ui::KeyboardCode>(key_code), | 246 static_cast<ui::KeyboardCode>(key_code), |
| 245 flags); | 247 flags); |
| 246 ui::KeyEvent event3(xevent); | 248 ui::KeyEvent event3(xevent); |
| 247 NativeWebKeyboardEvent keyup_event(&event3); | 249 NativeWebKeyboardEvent keyup_event(&event3); |
| 248 SendNativeKeyEvent(keyup_event); | 250 SendNativeKeyEvent(keyup_event); |
| 249 | 251 |
| 250 long c = GetCharacterFromKeyCode(static_cast<ui::KeyboardCode>(key_code), | 252 long c = GetCharacterFromKeyCode(static_cast<ui::KeyboardCode>(key_code), |
| 251 flags); | 253 flags); |
| 252 output->assign(1, static_cast<base::char16>(c)); | 254 output->assign(1, static_cast<base::char16>(c)); |
| 253 return 1; | 255 return 1; |
| 254 #elif defined(USE_OZONE) | 256 #elif defined(USE_OZONE) |
| 255 const int flags = ConvertMockKeyboardModifier(modifiers); | 257 const int flags = ConvertMockKeyboardModifier(modifiers); |
| 256 | 258 |
| 257 // Ozone's native events are ui::Events. So first create the "native" event, | 259 ui::KeyEvent keydown_event(ui::ET_KEY_PRESSED, |
| 258 // then create the actual ui::KeyEvent with the native event. | 260 static_cast<ui::KeyboardCode>(key_code), |
| 259 ui::KeyEvent keydown_native_event(ui::ET_KEY_PRESSED, | 261 flags); |
| 260 static_cast<ui::KeyboardCode>(key_code), | |
| 261 flags); | |
| 262 ui::KeyEvent keydown_event(&keydown_native_event); | |
| 263 NativeWebKeyboardEvent keydown_web_event(&keydown_event); | 262 NativeWebKeyboardEvent keydown_web_event(&keydown_event); |
| 264 SendNativeKeyEvent(keydown_web_event); | 263 SendNativeKeyEvent(keydown_web_event); |
| 265 | 264 |
| 266 ui::KeyEvent char_native_event(static_cast<base::char16>(key_code), | 265 ui::KeyEvent char_event(keydown_event.GetCharacter(), |
| 267 static_cast<ui::KeyboardCode>(key_code), | 266 static_cast<ui::KeyboardCode>(key_code), |
| 268 flags); | 267 flags); |
| 269 ui::KeyEvent char_event(&char_native_event); | |
| 270 NativeWebKeyboardEvent char_web_event(&char_event); | 268 NativeWebKeyboardEvent char_web_event(&char_event); |
| 271 SendNativeKeyEvent(char_web_event); | 269 SendNativeKeyEvent(char_web_event); |
| 272 | 270 |
| 273 ui::KeyEvent keyup_native_event(ui::ET_KEY_RELEASED, | 271 ui::KeyEvent keyup_event(ui::ET_KEY_RELEASED, |
| 274 static_cast<ui::KeyboardCode>(key_code), | 272 static_cast<ui::KeyboardCode>(key_code), |
| 275 flags); | 273 flags); |
| 276 ui::KeyEvent keyup_event(&keyup_native_event); | |
| 277 NativeWebKeyboardEvent keyup_web_event(&keyup_event); | 274 NativeWebKeyboardEvent keyup_web_event(&keyup_event); |
| 278 SendNativeKeyEvent(keyup_web_event); | 275 SendNativeKeyEvent(keyup_web_event); |
| 279 | 276 |
| 280 long c = GetCharacterFromKeyCode(static_cast<ui::KeyboardCode>(key_code), | 277 long c = GetCharacterFromKeyCode(static_cast<ui::KeyboardCode>(key_code), |
| 281 flags); | 278 flags); |
| 282 output->assign(1, static_cast<base::char16>(c)); | 279 output->assign(1, static_cast<base::char16>(c)); |
| 283 return 1; | 280 return 1; |
| 284 #else | 281 #else |
| 285 NOTIMPLEMENTED(); | 282 NOTIMPLEMENTED(); |
| 286 return L'\0'; | 283 return L'\0'; |
| (...skipping 2143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2430 ProcessPendingMessages(); | 2427 ProcessPendingMessages(); |
| 2431 base::Time after_navigation = | 2428 base::Time after_navigation = |
| 2432 base::Time::Now() + base::TimeDelta::FromDays(1); | 2429 base::Time::Now() + base::TimeDelta::FromDays(1); |
| 2433 | 2430 |
| 2434 base::Time late_nav_reported_start = | 2431 base::Time late_nav_reported_start = |
| 2435 base::Time::FromDoubleT(GetMainFrame()->performance().navigationStart()); | 2432 base::Time::FromDoubleT(GetMainFrame()->performance().navigationStart()); |
| 2436 EXPECT_LE(late_nav_reported_start, after_navigation); | 2433 EXPECT_LE(late_nav_reported_start, after_navigation); |
| 2437 } | 2434 } |
| 2438 | 2435 |
| 2439 } // namespace content | 2436 } // namespace content |
| OLD | NEW |