Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(274)

Side by Side Diff: chrome/browser/browser_keyevents_browsertest.cc

Issue 6246001: Move app/key* to ui/base/keycodes/* (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/browser_focus_uitest.cc ('k') | chrome/browser/chromeos/login/captcha_view.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 "build/build_config.h" 5 #include "build/build_config.h"
6 6
7 #include "app/keyboard_codes.h"
8 #include "base/basictypes.h" 7 #include "base/basictypes.h"
9 #include "base/logging.h" 8 #include "base/logging.h"
10 #include "base/message_loop.h" 9 #include "base/message_loop.h"
11 #include "base/string_util.h" 10 #include "base/string_util.h"
12 #include "base/utf_string_conversions.h" 11 #include "base/utf_string_conversions.h"
13 #include "base/values.h" 12 #include "base/values.h"
14 #include "chrome/browser/dom_operation_notification_details.h" 13 #include "chrome/browser/dom_operation_notification_details.h"
15 #include "chrome/browser/renderer_host/render_view_host.h" 14 #include "chrome/browser/renderer_host/render_view_host.h"
16 #include "chrome/browser/renderer_host/render_widget_host_view.h" 15 #include "chrome/browser/renderer_host/render_widget_host_view.h"
17 #include "chrome/browser/tab_contents/tab_contents.h" 16 #include "chrome/browser/tab_contents/tab_contents.h"
18 #include "chrome/browser/tab_contents/tab_contents_view.h" 17 #include "chrome/browser/tab_contents/tab_contents_view.h"
19 #include "chrome/browser/ui/browser.h" 18 #include "chrome/browser/ui/browser.h"
20 #include "chrome/common/chrome_paths.h" 19 #include "chrome/common/chrome_paths.h"
21 #include "chrome/common/notification_registrar.h" 20 #include "chrome/common/notification_registrar.h"
22 #include "chrome/common/notification_service.h" 21 #include "chrome/common/notification_service.h"
23 #include "chrome/test/in_process_browser_test.h" 22 #include "chrome/test/in_process_browser_test.h"
24 #include "chrome/test/ui_test_utils.h" 23 #include "chrome/test/ui_test_utils.h"
25 #include "net/test/test_server.h" 24 #include "net/test/test_server.h"
25 #include "ui/base/keycodes/keyboard_codes.h"
26 26
27 namespace { 27 namespace {
28 28
29 const char kTestingPage[] = "files/keyevents_test.html"; 29 const char kTestingPage[] = "files/keyevents_test.html";
30 const wchar_t kSuppressEventJS[] = 30 const wchar_t kSuppressEventJS[] =
31 L"window.domAutomationController.send(setDefaultAction('%ls', %ls));"; 31 L"window.domAutomationController.send(setDefaultAction('%ls', %ls));";
32 const wchar_t kGetResultJS[] = 32 const wchar_t kGetResultJS[] =
33 L"window.domAutomationController.send(keyEventResult[%d]);"; 33 L"window.domAutomationController.send(keyEventResult[%d]);";
34 const wchar_t kGetResultLengthJS[] = 34 const wchar_t kGetResultLengthJS[] =
35 L"window.domAutomationController.send(keyEventResult.length);"; 35 L"window.domAutomationController.send(keyEventResult.length);";
(...skipping 18 matching lines...) Expand all
54 // the result of keydown, keypress, keyup and textInput events. 54 // the result of keydown, keypress, keyup and textInput events.
55 // For keydown, keypress and keyup events, the format of the result string is: 55 // For keydown, keypress and keyup events, the format of the result string is:
56 // <type> <keyCode> <charCode> <ctrlKey> <shiftKey> <altKey> <commandKey> 56 // <type> <keyCode> <charCode> <ctrlKey> <shiftKey> <altKey> <commandKey>
57 // where <type> may be 'D' (keydown), 'P' (keypress) or 'U' (keyup). 57 // where <type> may be 'D' (keydown), 'P' (keypress) or 'U' (keyup).
58 // <ctrlKey>, <shiftKey> <altKey> and <commandKey> are boolean value indicating 58 // <ctrlKey>, <shiftKey> <altKey> and <commandKey> are boolean value indicating
59 // the state of corresponding modifier key. 59 // the state of corresponding modifier key.
60 // For textInput event, the format is: T <text>, where <text> is the text to be 60 // For textInput event, the format is: T <text>, where <text> is the text to be
61 // input. 61 // input.
62 // Please refer to chrome/test/data/keyevents_test.html for details. 62 // Please refer to chrome/test/data/keyevents_test.html for details.
63 struct KeyEventTestData { 63 struct KeyEventTestData {
64 app::KeyboardCode key; 64 ui::KeyboardCode key;
65 bool ctrl; 65 bool ctrl;
66 bool shift; 66 bool shift;
67 bool alt; 67 bool alt;
68 bool command; 68 bool command;
69 69
70 bool suppress_keydown; 70 bool suppress_keydown;
71 bool suppress_keypress; 71 bool suppress_keypress;
72 bool suppress_keyup; 72 bool suppress_keyup;
73 bool suppress_textinput; 73 bool suppress_textinput;
74 74
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
282 desc.append(data.result[i]); 282 desc.append(data.result[i]);
283 desc.append("\n"); 283 desc.append("\n");
284 } 284 }
285 return desc; 285 return desc;
286 } 286 }
287 }; 287 };
288 288
289 IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, NormalKeyEvents) { 289 IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, NormalKeyEvents) {
290 static const KeyEventTestData kTestNoInput[] = { 290 static const KeyEventTestData kTestNoInput[] = {
291 // a 291 // a
292 { app::VKEY_A, false, false, false, false, 292 { ui::VKEY_A, false, false, false, false,
293 false, false, false, false, 3, 293 false, false, false, false, 3,
294 { "D 65 0 false false false false", 294 { "D 65 0 false false false false",
295 "P 97 97 false false false false", 295 "P 97 97 false false false false",
296 "U 65 0 false false false false" } }, 296 "U 65 0 false false false false" } },
297 // shift-a 297 // shift-a
298 { app::VKEY_A, false, true, false, false, 298 { ui::VKEY_A, false, true, false, false,
299 false, false, false, false, 5, 299 false, false, false, false, 5,
300 { "D 16 0 false true false false", 300 { "D 16 0 false true false false",
301 "D 65 0 false true false false", 301 "D 65 0 false true false false",
302 "P 65 65 false true false false", 302 "P 65 65 false true false false",
303 "U 65 0 false true false false", 303 "U 65 0 false true false false",
304 "U 16 0 false true false false" } }, 304 "U 16 0 false true false false" } },
305 // a, suppress keydown 305 // a, suppress keydown
306 { app::VKEY_A, false, false, false, false, 306 { ui::VKEY_A, false, false, false, false,
307 true, false, false, false, 2, 307 true, false, false, false, 2,
308 { "D 65 0 false false false false", 308 { "D 65 0 false false false false",
309 "U 65 0 false false false false" } }, 309 "U 65 0 false false false false" } },
310 }; 310 };
311 311
312 static const KeyEventTestData kTestWithInput[] = { 312 static const KeyEventTestData kTestWithInput[] = {
313 // a 313 // a
314 { app::VKEY_A, false, false, false, false, 314 { ui::VKEY_A, false, false, false, false,
315 false, false, false, false, 4, 315 false, false, false, false, 4,
316 { "D 65 0 false false false false", 316 { "D 65 0 false false false false",
317 "P 97 97 false false false false", 317 "P 97 97 false false false false",
318 "T a", 318 "T a",
319 "U 65 0 false false false false" } }, 319 "U 65 0 false false false false" } },
320 // shift-a 320 // shift-a
321 { app::VKEY_A, false, true, false, false, 321 { ui::VKEY_A, false, true, false, false,
322 false, false, false, false, 6, 322 false, false, false, false, 6,
323 { "D 16 0 false true false false", 323 { "D 16 0 false true false false",
324 "D 65 0 false true false false", 324 "D 65 0 false true false false",
325 "P 65 65 false true false false", 325 "P 65 65 false true false false",
326 "T A", 326 "T A",
327 "U 65 0 false true false false", 327 "U 65 0 false true false false",
328 "U 16 0 false true false false" } }, 328 "U 16 0 false true false false" } },
329 // a, suppress keydown 329 // a, suppress keydown
330 { app::VKEY_A, false, false, false, false, 330 { ui::VKEY_A, false, false, false, false,
331 true, false, false, false, 2, 331 true, false, false, false, 2,
332 { "D 65 0 false false false false", 332 { "D 65 0 false false false false",
333 "U 65 0 false false false false" } }, 333 "U 65 0 false false false false" } },
334 // a, suppress keypress 334 // a, suppress keypress
335 { app::VKEY_A, false, false, false, false, 335 { ui::VKEY_A, false, false, false, false,
336 false, true, false, false, 3, 336 false, true, false, false, 3,
337 { "D 65 0 false false false false", 337 { "D 65 0 false false false false",
338 "P 97 97 false false false false", 338 "P 97 97 false false false false",
339 "U 65 0 false false false false" } }, 339 "U 65 0 false false false false" } },
340 // a, suppress textInput 340 // a, suppress textInput
341 { app::VKEY_A, false, false, false, false, 341 { ui::VKEY_A, false, false, false, false,
342 false, false, false, true, 4, 342 false, false, false, true, 4,
343 { "D 65 0 false false false false", 343 { "D 65 0 false false false false",
344 "P 97 97 false false false false", 344 "P 97 97 false false false false",
345 "T a", 345 "T a",
346 "U 65 0 false false false false" } }, 346 "U 65 0 false false false false" } },
347 }; 347 };
348 348
349 ASSERT_TRUE(test_server()->Start()); 349 ASSERT_TRUE(test_server()->Start());
350 350
351 ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser())); 351 ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
(...skipping 25 matching lines...) Expand all
377 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestWithInput[i])) 377 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestWithInput[i]))
378 << "kTestWithInput[" << i << "] in password box failed:\n" 378 << "kTestWithInput[" << i << "] in password box failed:\n"
379 << GetTestDataDescription(kTestWithInput[i]); 379 << GetTestDataDescription(kTestWithInput[i]);
380 } 380 }
381 EXPECT_NO_FATAL_FAILURE(CheckTextBoxValue(tab_index, L"B", L"aA")); 381 EXPECT_NO_FATAL_FAILURE(CheckTextBoxValue(tab_index, L"B", L"aA"));
382 } 382 }
383 383
384 #if defined(OS_WIN) || defined(OS_LINUX) 384 #if defined(OS_WIN) || defined(OS_LINUX)
385 IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, CtrlKeyEvents) { 385 IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, CtrlKeyEvents) {
386 static const KeyEventTestData kTestCtrlF = { 386 static const KeyEventTestData kTestCtrlF = {
387 app::VKEY_F, true, false, false, false, 387 ui::VKEY_F, true, false, false, false,
388 false, false, false, false, 2, 388 false, false, false, false, 2,
389 { "D 17 0 true false false false", 389 { "D 17 0 true false false false",
390 "D 70 0 true false false false" } 390 "D 70 0 true false false false" }
391 }; 391 };
392 392
393 static const KeyEventTestData kTestCtrlFSuppressKeyDown = { 393 static const KeyEventTestData kTestCtrlFSuppressKeyDown = {
394 app::VKEY_F, true, false, false, false, 394 ui::VKEY_F, true, false, false, false,
395 true, false, false, false, 4, 395 true, false, false, false, 4,
396 { "D 17 0 true false false false", 396 { "D 17 0 true false false false",
397 "D 70 0 true false false false", 397 "D 70 0 true false false false",
398 "U 70 0 true false false false", 398 "U 70 0 true false false false",
399 "U 17 0 true false false false" } 399 "U 17 0 true false false false" }
400 }; 400 };
401 401
402 // Ctrl+Z doesn't bind to any accelerators, which then should generate a 402 // Ctrl+Z doesn't bind to any accelerators, which then should generate a
403 // keypress event with charCode=26. 403 // keypress event with charCode=26.
404 static const KeyEventTestData kTestCtrlZ = { 404 static const KeyEventTestData kTestCtrlZ = {
405 app::VKEY_Z, true, false, false, false, 405 ui::VKEY_Z, true, false, false, false,
406 false, false, false, false, 5, 406 false, false, false, false, 5,
407 { "D 17 0 true false false false", 407 { "D 17 0 true false false false",
408 "D 90 0 true false false false", 408 "D 90 0 true false false false",
409 "P 26 26 true false false false", 409 "P 26 26 true false false false",
410 "U 90 0 true false false false", 410 "U 90 0 true false false false",
411 "U 17 0 true false false false" } 411 "U 17 0 true false false false" }
412 }; 412 };
413 413
414 static const KeyEventTestData kTestCtrlZSuppressKeyDown = { 414 static const KeyEventTestData kTestCtrlZSuppressKeyDown = {
415 app::VKEY_Z, true, false, false, false, 415 ui::VKEY_Z, true, false, false, false,
416 true, false, false, false, 4, 416 true, false, false, false, 4,
417 { "D 17 0 true false false false", 417 { "D 17 0 true false false false",
418 "D 90 0 true false false false", 418 "D 90 0 true false false false",
419 "U 90 0 true false false false", 419 "U 90 0 true false false false",
420 "U 17 0 true false false false" } 420 "U 17 0 true false false false" }
421 }; 421 };
422 422
423 // Ctrl+Enter shall generate a keypress event with charCode=10 (LF). 423 // Ctrl+Enter shall generate a keypress event with charCode=10 (LF).
424 static const KeyEventTestData kTestCtrlEnter = { 424 static const KeyEventTestData kTestCtrlEnter = {
425 app::VKEY_RETURN, true, false, false, false, 425 ui::VKEY_RETURN, true, false, false, false,
426 false, false, false, false, 5, 426 false, false, false, false, 5,
427 { "D 17 0 true false false false", 427 { "D 17 0 true false false false",
428 "D 13 0 true false false false", 428 "D 13 0 true false false false",
429 "P 10 10 true false false false", 429 "P 10 10 true false false false",
430 "U 13 0 true false false false", 430 "U 13 0 true false false false",
431 "U 17 0 true false false false" } 431 "U 17 0 true false false false" }
432 }; 432 };
433 433
434 ASSERT_TRUE(test_server()->Start()); 434 ASSERT_TRUE(test_server()->Start());
435 435
436 ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser())); 436 ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
437 GURL url = test_server()->GetURL(kTestingPage); 437 GURL url = test_server()->GetURL(kTestingPage);
438 ui_test_utils::NavigateToURL(browser(), url); 438 ui_test_utils::NavigateToURL(browser(), url);
439 439
440 ASSERT_NO_FATAL_FAILURE(ClickOnView(VIEW_ID_TAB_CONTAINER)); 440 ASSERT_NO_FATAL_FAILURE(ClickOnView(VIEW_ID_TAB_CONTAINER));
441 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW)); 441 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW));
442 442
443 int tab_index = browser()->selected_index(); 443 int tab_index = browser()->selected_index();
444 // Press Ctrl+F, which will make the Find box open and request focus. 444 // Press Ctrl+F, which will make the Find box open and request focus.
445 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCtrlF)); 445 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCtrlF));
446 EXPECT_TRUE(IsViewFocused(VIEW_ID_FIND_IN_PAGE_TEXT_FIELD)); 446 EXPECT_TRUE(IsViewFocused(VIEW_ID_FIND_IN_PAGE_TEXT_FIELD));
447 447
448 // Press Escape to close the Find box and move the focus back to the web page. 448 // Press Escape to close the Find box and move the focus back to the web page.
449 ASSERT_TRUE(ui_test_utils::SendKeyPressSync( 449 ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
450 browser(), app::VKEY_ESCAPE, false, false, false, false)); 450 browser(), ui::VKEY_ESCAPE, false, false, false, false));
451 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW)); 451 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW));
452 452
453 // Press Ctrl+F with keydown suppressed shall not open the find box. 453 // Press Ctrl+F with keydown suppressed shall not open the find box.
454 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCtrlFSuppressKeyDown)); 454 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCtrlFSuppressKeyDown));
455 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW)); 455 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW));
456 456
457 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCtrlZ)); 457 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCtrlZ));
458 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCtrlZSuppressKeyDown)); 458 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCtrlZSuppressKeyDown));
459 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCtrlEnter)); 459 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCtrlEnter));
460 } 460 }
461 #elif defined(OS_MACOSX) 461 #elif defined(OS_MACOSX)
462 IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, CommandKeyEvents) { 462 IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, CommandKeyEvents) {
463 static const KeyEventTestData kTestCmdF = { 463 static const KeyEventTestData kTestCmdF = {
464 app::VKEY_F, false, false, false, true, 464 ui::VKEY_F, false, false, false, true,
465 false, false, false, false, 2, 465 false, false, false, false, 2,
466 { "D 91 0 false false false true", 466 { "D 91 0 false false false true",
467 "D 70 0 false false false true" } 467 "D 70 0 false false false true" }
468 }; 468 };
469 469
470 // On Mac we don't send key up events when command modifier is down. 470 // On Mac we don't send key up events when command modifier is down.
471 static const KeyEventTestData kTestCmdFSuppressKeyDown = { 471 static const KeyEventTestData kTestCmdFSuppressKeyDown = {
472 app::VKEY_F, false, false, false, true, 472 ui::VKEY_F, false, false, false, true,
473 true, false, false, false, 3, 473 true, false, false, false, 3,
474 { "D 91 0 false false false true", 474 { "D 91 0 false false false true",
475 "D 70 0 false false false true", 475 "D 70 0 false false false true",
476 "U 91 0 false false false true" } 476 "U 91 0 false false false true" }
477 }; 477 };
478 478
479 ASSERT_TRUE(test_server()->Start()); 479 ASSERT_TRUE(test_server()->Start());
480 480
481 ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser())); 481 ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
482 GURL url = test_server()->GetURL(kTestingPage); 482 GURL url = test_server()->GetURL(kTestingPage);
483 ui_test_utils::NavigateToURL(browser(), url); 483 ui_test_utils::NavigateToURL(browser(), url);
484 484
485 ASSERT_NO_FATAL_FAILURE(ClickOnView(VIEW_ID_TAB_CONTAINER)); 485 ASSERT_NO_FATAL_FAILURE(ClickOnView(VIEW_ID_TAB_CONTAINER));
486 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW)); 486 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW));
487 487
488 int tab_index = browser()->selected_index(); 488 int tab_index = browser()->selected_index();
489 // Press Cmd+F, which will make the Find box open and request focus. 489 // Press Cmd+F, which will make the Find box open and request focus.
490 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCmdF)); 490 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCmdF));
491 EXPECT_TRUE(IsViewFocused(VIEW_ID_FIND_IN_PAGE_TEXT_FIELD)); 491 EXPECT_TRUE(IsViewFocused(VIEW_ID_FIND_IN_PAGE_TEXT_FIELD));
492 492
493 // Press Escape to close the Find box and move the focus back to the web page. 493 // Press Escape to close the Find box and move the focus back to the web page.
494 ASSERT_TRUE(ui_test_utils::SendKeyPressSync( 494 ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
495 browser(), app::VKEY_ESCAPE, false, false, false, false)); 495 browser(), ui::VKEY_ESCAPE, false, false, false, false));
496 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW)); 496 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW));
497 497
498 // Press Cmd+F with keydown suppressed shall not open the find box. 498 // Press Cmd+F with keydown suppressed shall not open the find box.
499 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCmdFSuppressKeyDown)); 499 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCmdFSuppressKeyDown));
500 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW)); 500 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW));
501 } 501 }
502 #endif 502 #endif
503 503
504 IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, AccessKeys) { 504 IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, AccessKeys) {
505 #if defined(OS_MACOSX) 505 #if defined(OS_MACOSX)
506 // On Mac, access keys use ctrl+alt modifiers. 506 // On Mac, access keys use ctrl+alt modifiers.
507 static const KeyEventTestData kTestAccessA = { 507 static const KeyEventTestData kTestAccessA = {
508 app::VKEY_A, true, false, true, false, 508 ui::VKEY_A, true, false, true, false,
509 false, false, false, false, 6, 509 false, false, false, false, 6,
510 { "D 17 0 true false false false", 510 { "D 17 0 true false false false",
511 "D 18 0 true false true false", 511 "D 18 0 true false true false",
512 "D 65 0 true false true false", 512 "D 65 0 true false true false",
513 "U 65 0 true false true false", 513 "U 65 0 true false true false",
514 "U 18 0 true false true false", 514 "U 18 0 true false true false",
515 "U 17 0 true false false false" } 515 "U 17 0 true false false false" }
516 }; 516 };
517 517
518 static const KeyEventTestData kTestAccessDSuppress = { 518 static const KeyEventTestData kTestAccessDSuppress = {
519 app::VKEY_D, true, false, true, false, 519 ui::VKEY_D, true, false, true, false,
520 true, true, true, false, 6, 520 true, true, true, false, 6,
521 { "D 17 0 true false false false", 521 { "D 17 0 true false false false",
522 "D 18 0 true false true false", 522 "D 18 0 true false true false",
523 "D 68 0 true false true false", 523 "D 68 0 true false true false",
524 "U 68 0 true false true false", 524 "U 68 0 true false true false",
525 "U 18 0 true false true false", 525 "U 18 0 true false true false",
526 "U 17 0 true false false false" } 526 "U 17 0 true false false false" }
527 }; 527 };
528 528
529 static const KeyEventTestData kTestAccess1 = { 529 static const KeyEventTestData kTestAccess1 = {
530 app::VKEY_1, true, false, true, false, 530 ui::VKEY_1, true, false, true, false,
531 false, false, false, false, 6, 531 false, false, false, false, 6,
532 { "D 17 0 true false false false", 532 { "D 17 0 true false false false",
533 "D 18 0 true false true false", 533 "D 18 0 true false true false",
534 "D 49 0 true false true false", 534 "D 49 0 true false true false",
535 "U 49 0 true false true false", 535 "U 49 0 true false true false",
536 "U 18 0 true false true false", 536 "U 18 0 true false true false",
537 "U 17 0 true false false false" } 537 "U 17 0 true false false false" }
538 }; 538 };
539 #else 539 #else
540 static const KeyEventTestData kTestAccessA = { 540 static const KeyEventTestData kTestAccessA = {
541 app::VKEY_A, false, false, true, false, 541 ui::VKEY_A, false, false, true, false,
542 false, false, false, false, 4, 542 false, false, false, false, 4,
543 { "D 18 0 false false true false", 543 { "D 18 0 false false true false",
544 "D 65 0 false false true false", 544 "D 65 0 false false true false",
545 "U 65 0 false false true false", 545 "U 65 0 false false true false",
546 "U 18 0 false false true false" } 546 "U 18 0 false false true false" }
547 }; 547 };
548 548
549 static const KeyEventTestData kTestAccessD = { 549 static const KeyEventTestData kTestAccessD = {
550 app::VKEY_D, false, false, true, false, 550 ui::VKEY_D, false, false, true, false,
551 false, false, false, false, 2, 551 false, false, false, false, 2,
552 { "D 18 0 false false true false", 552 { "D 18 0 false false true false",
553 "D 68 0 false false true false" } 553 "D 68 0 false false true false" }
554 }; 554 };
555 555
556 static const KeyEventTestData kTestAccessDSuppress = { 556 static const KeyEventTestData kTestAccessDSuppress = {
557 app::VKEY_D, false, false, true, false, 557 ui::VKEY_D, false, false, true, false,
558 true, true, true, false, 4, 558 true, true, true, false, 4,
559 { "D 18 0 false false true false", 559 { "D 18 0 false false true false",
560 "D 68 0 false false true false", 560 "D 68 0 false false true false",
561 "U 68 0 false false true false", 561 "U 68 0 false false true false",
562 "U 18 0 false false true false" } 562 "U 18 0 false false true false" }
563 }; 563 };
564 564
565 static const KeyEventTestData kTestAccess1 = { 565 static const KeyEventTestData kTestAccess1 = {
566 app::VKEY_1, false, false, true, false, 566 ui::VKEY_1, false, false, true, false,
567 false, false, false, false, 4, 567 false, false, false, false, 4,
568 { "D 18 0 false false true false", 568 { "D 18 0 false false true false",
569 "D 49 0 false false true false", 569 "D 49 0 false false true false",
570 "U 49 0 false false true false", 570 "U 49 0 false false true false",
571 "U 18 0 false false true false" } 571 "U 18 0 false false true false" }
572 }; 572 };
573 #endif 573 #endif
574 574
575 ASSERT_TRUE(test_server()->Start()); 575 ASSERT_TRUE(test_server()->Start());
576 576
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
644 GURL url = test_server()->GetURL(kTestingPage); 644 GURL url = test_server()->GetURL(kTestingPage);
645 ui_test_utils::NavigateToURL(browser(), url); 645 ui_test_utils::NavigateToURL(browser(), url);
646 646
647 ASSERT_NO_FATAL_FAILURE(ClickOnView(VIEW_ID_TAB_CONTAINER)); 647 ASSERT_NO_FATAL_FAILURE(ClickOnView(VIEW_ID_TAB_CONTAINER));
648 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW)); 648 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW));
649 649
650 ASSERT_EQ(1, browser()->tab_count()); 650 ASSERT_EQ(1, browser()->tab_count());
651 651
652 static const KeyEventTestData kTestCtrlOrCmdT = { 652 static const KeyEventTestData kTestCtrlOrCmdT = {
653 #if defined(OS_MACOSX) 653 #if defined(OS_MACOSX)
654 app::VKEY_T, false, false, false, true, 654 ui::VKEY_T, false, false, false, true,
655 true, false, false, false, 1, 655 true, false, false, false, 1,
656 { "D 91 0 false false false true" } 656 { "D 91 0 false false false true" }
657 #else 657 #else
658 app::VKEY_T, true, false, false, false, 658 ui::VKEY_T, true, false, false, false,
659 true, false, false, false, 1, 659 true, false, false, false, 1,
660 { "D 17 0 true false false false" } 660 { "D 17 0 true false false false" }
661 #endif 661 #endif
662 }; 662 };
663 663
664 ui_test_utils::WindowedNotificationObserver wait_for_new_tab( 664 ui_test_utils::WindowedNotificationObserver wait_for_new_tab(
665 NotificationType::TAB_PARENTED, 665 NotificationType::TAB_PARENTED,
666 NotificationService::AllSources()); 666 NotificationService::AllSources());
667 667
668 // Press Ctrl/Cmd+T, which will open a new tab. It cannot be suppressed. 668 // Press Ctrl/Cmd+T, which will open a new tab. It cannot be suppressed.
(...skipping 22 matching lines...) Expand all
691 // Reserved accelerators can't be suppressed. 691 // Reserved accelerators can't be suppressed.
692 ASSERT_NO_FATAL_FAILURE(SuppressAllEvents(1, true)); 692 ASSERT_NO_FATAL_FAILURE(SuppressAllEvents(1, true));
693 693
694 ui_test_utils::WindowedNotificationObserver wait_for_tab_closed( 694 ui_test_utils::WindowedNotificationObserver wait_for_tab_closed(
695 NotificationType::TAB_CLOSED, Source<NavigationController>( 695 NotificationType::TAB_CLOSED, Source<NavigationController>(
696 &browser()->GetTabContentsAt(1)->controller())); 696 &browser()->GetTabContentsAt(1)->controller()));
697 697
698 // Press Ctrl/Cmd+W, which will close the tab. 698 // Press Ctrl/Cmd+W, which will close the tab.
699 #if defined(OS_MACOSX) 699 #if defined(OS_MACOSX)
700 ASSERT_TRUE(ui_test_utils::SendKeyPressSync( 700 ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
701 browser(), app::VKEY_W, false, false, false, true)); 701 browser(), ui::VKEY_W, false, false, false, true));
702 #else 702 #else
703 ASSERT_TRUE(ui_test_utils::SendKeyPressSync( 703 ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
704 browser(), app::VKEY_W, true, false, false, false)); 704 browser(), ui::VKEY_W, true, false, false, false));
705 #endif 705 #endif
706 706
707 ASSERT_NO_FATAL_FAILURE(wait_for_tab_closed.Wait()); 707 ASSERT_NO_FATAL_FAILURE(wait_for_tab_closed.Wait());
708 708
709 EXPECT_EQ(1, browser()->tab_count()); 709 EXPECT_EQ(1, browser()->tab_count());
710 } 710 }
711 711
712 #if defined(OS_MACOSX) 712 #if defined(OS_MACOSX)
713 IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, EditorKeyBindings) { 713 IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, EditorKeyBindings) {
714 static const KeyEventTestData kTestCtrlA = { 714 static const KeyEventTestData kTestCtrlA = {
715 app::VKEY_A, true, false, false, false, 715 ui::VKEY_A, true, false, false, false,
716 false, false, false, false, 4, 716 false, false, false, false, 4,
717 { "D 17 0 true false false false", 717 { "D 17 0 true false false false",
718 "D 65 0 true false false false", 718 "D 65 0 true false false false",
719 "U 65 0 true false false false", 719 "U 65 0 true false false false",
720 "U 17 0 true false false false" } 720 "U 17 0 true false false false" }
721 }; 721 };
722 722
723 static const KeyEventTestData kTestCtrlF = { 723 static const KeyEventTestData kTestCtrlF = {
724 app::VKEY_F, true, false, false, false, 724 ui::VKEY_F, true, false, false, false,
725 false, false, false, false, 4, 725 false, false, false, false, 4,
726 { "D 17 0 true false false false", 726 { "D 17 0 true false false false",
727 "D 70 0 true false false false", 727 "D 70 0 true false false false",
728 "U 70 0 true false false false", 728 "U 70 0 true false false false",
729 "U 17 0 true false false false" } 729 "U 17 0 true false false false" }
730 }; 730 };
731 731
732 static const KeyEventTestData kTestCtrlK = { 732 static const KeyEventTestData kTestCtrlK = {
733 app::VKEY_K, true, false, false, false, 733 ui::VKEY_K, true, false, false, false,
734 false, false, false, false, 4, 734 false, false, false, false, 4,
735 { "D 17 0 true false false false", 735 { "D 17 0 true false false false",
736 "D 75 0 true false false false", 736 "D 75 0 true false false false",
737 "U 75 0 true false false false", 737 "U 75 0 true false false false",
738 "U 17 0 true false false false" } 738 "U 17 0 true false false false" }
739 }; 739 };
740 740
741 ASSERT_TRUE(test_server()->Start()); 741 ASSERT_TRUE(test_server()->Start());
742 742
743 ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser())); 743 ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
(...skipping 11 matching lines...) Expand all
755 // Forward one character 755 // Forward one character
756 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCtrlF)); 756 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCtrlF));
757 // Delete to the end of the line. 757 // Delete to the end of the line.
758 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCtrlK)); 758 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCtrlK));
759 EXPECT_NO_FATAL_FAILURE(CheckTextBoxValue(tab_index, L"A", L"H")); 759 EXPECT_NO_FATAL_FAILURE(CheckTextBoxValue(tab_index, L"A", L"H"));
760 } 760 }
761 #endif 761 #endif
762 762
763 IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, PageUpDownKeys) { 763 IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, PageUpDownKeys) {
764 static const KeyEventTestData kTestPageUp = { 764 static const KeyEventTestData kTestPageUp = {
765 app::VKEY_PRIOR, false, false, false, false, 765 ui::VKEY_PRIOR, false, false, false, false,
766 false, false, false, false, 2, 766 false, false, false, false, 2,
767 { "D 33 0 false false false false", 767 { "D 33 0 false false false false",
768 "U 33 0 false false false false" } 768 "U 33 0 false false false false" }
769 }; 769 };
770 770
771 static const KeyEventTestData kTestPageDown = { 771 static const KeyEventTestData kTestPageDown = {
772 app::VKEY_NEXT, false, false, false, false, 772 ui::VKEY_NEXT, false, false, false, false,
773 false, false, false, false, 2, 773 false, false, false, false, 2,
774 { "D 34 0 false false false false", 774 { "D 34 0 false false false false",
775 "U 34 0 false false false false" } 775 "U 34 0 false false false false" }
776 }; 776 };
777 777
778 ASSERT_TRUE(test_server()->Start()); 778 ASSERT_TRUE(test_server()->Start());
779 779
780 ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser())); 780 ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
781 GURL url = test_server()->GetURL(kTestingPage); 781 GURL url = test_server()->GetURL(kTestingPage);
782 ui_test_utils::NavigateToURL(browser(), url); 782 ui_test_utils::NavigateToURL(browser(), url);
783 783
784 ASSERT_NO_FATAL_FAILURE(ClickOnView(VIEW_ID_TAB_CONTAINER)); 784 ASSERT_NO_FATAL_FAILURE(ClickOnView(VIEW_ID_TAB_CONTAINER));
785 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW)); 785 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW));
786 786
787 int tab_index = browser()->selected_index(); 787 int tab_index = browser()->selected_index();
788 ASSERT_NO_FATAL_FAILURE(SetFocusedElement(tab_index, L"A")); 788 ASSERT_NO_FATAL_FAILURE(SetFocusedElement(tab_index, L"A"));
789 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestPageUp)); 789 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestPageUp));
790 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestPageDown)); 790 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestPageDown));
791 EXPECT_NO_FATAL_FAILURE(CheckTextBoxValue(tab_index, L"A", L"")); 791 EXPECT_NO_FATAL_FAILURE(CheckTextBoxValue(tab_index, L"A", L""));
792 } 792 }
793 793
794 #if defined(OS_WIN) || defined(TOOLKIT_VIEWS) 794 #if defined(OS_WIN) || defined(TOOLKIT_VIEWS)
795 IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, FocusMenuBarByAltKey) { 795 IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, FocusMenuBarByAltKey) {
796 static const KeyEventTestData kTestAltKey = { 796 static const KeyEventTestData kTestAltKey = {
797 app::VKEY_MENU, false, false, false, false, 797 ui::VKEY_MENU, false, false, false, false,
798 false, false, false, false, 2, 798 false, false, false, false, 2,
799 { "D 18 0 false false true false", 799 { "D 18 0 false false true false",
800 "U 18 0 false false true false" } 800 "U 18 0 false false true false" }
801 }; 801 };
802 802
803 static const KeyEventTestData kTestAltKeySuppress = { 803 static const KeyEventTestData kTestAltKeySuppress = {
804 app::VKEY_MENU, false, false, false, false, 804 ui::VKEY_MENU, false, false, false, false,
805 true, false, false, false, 2, 805 true, false, false, false, 2,
806 { "D 18 0 false false true false", 806 { "D 18 0 false false true false",
807 "U 18 0 false false true false" } 807 "U 18 0 false false true false" }
808 }; 808 };
809 809
810 static const KeyEventTestData kTestCtrlAltKey = { 810 static const KeyEventTestData kTestCtrlAltKey = {
811 app::VKEY_MENU, true, false, false, false, 811 ui::VKEY_MENU, true, false, false, false,
812 false, false, false, false, 4, 812 false, false, false, false, 4,
813 { "D 17 0 true false false false", 813 { "D 17 0 true false false false",
814 "D 18 0 true false true false", 814 "D 18 0 true false true false",
815 "U 18 0 true false true false", 815 "U 18 0 true false true false",
816 "U 17 0 true false false false" } 816 "U 17 0 true false false false" }
817 }; 817 };
818 818
819 ASSERT_TRUE(test_server()->Start()); 819 ASSERT_TRUE(test_server()->Start());
820 820
821 ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser())); 821 ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
(...skipping 15 matching lines...) Expand all
837 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestAltKeySuppress)); 837 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestAltKeySuppress));
838 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW)); 838 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW));
839 839
840 // Ctrl+Alt should have no effect. 840 // Ctrl+Alt should have no effect.
841 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCtrlAltKey)); 841 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCtrlAltKey));
842 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW)); 842 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW));
843 } 843 }
844 #endif 844 #endif
845 845
846 } // namespace 846 } // namespace
OLDNEW
« no previous file with comments | « chrome/browser/browser_focus_uitest.cc ('k') | chrome/browser/chromeos/login/captcha_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698