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

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

Issue 2246913002: Re-eanble browser_keyevents_browsertest. Base URL: https://chromium.googlesource.com/chromium/src.git@fixit_2
Patch Set: Rebase Created 3 years, 10 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
« no previous file with comments | « no previous file | no next file » | 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) 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 "build/build_config.h" 5 #include "build/build_config.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after
287 data.suppress_textinput, data.result_length); 287 data.suppress_textinput, data.result_length);
288 for (int i = 0; i < data.result_length; ++i) { 288 for (int i = 0; i < data.result_length; ++i) {
289 desc.append(" "); 289 desc.append(" ");
290 desc.append(data.result[i]); 290 desc.append(data.result[i]);
291 desc.append("\n"); 291 desc.append("\n");
292 } 292 }
293 return desc; 293 return desc;
294 } 294 }
295 }; 295 };
296 296
297 // Flaky: http://crbug.com/129235, http://crbug.com/81451. 297 IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, NormalKeyEvents) {
298 IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, DISABLED_NormalKeyEvents) {
299 static const KeyEventTestData kTestNoInput[] = { 298 static const KeyEventTestData kTestNoInput[] = {
300 // a 299 // a
301 { ui::VKEY_A, false, false, false, false, 300 { ui::VKEY_A, false, false, false, false,
302 false, false, false, false, 3, 301 false, false, false, false, 3,
303 { "D 65 0 false false false false", 302 { "D 65 0 false false false false",
304 "P 97 97 false false false false", 303 "P 97 97 false false false false",
305 "U 65 0 false false false false" } }, 304 "U 65 0 false false false false" } },
306 // shift-a 305 // shift-a
307 { ui::VKEY_A, false, true, false, false, 306 { ui::VKEY_A, false, true, false, false,
308 false, false, false, false, 5, 307 false, false, false, false, 5,
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
385 for (size_t i = 0; i < arraysize(kTestWithInput); ++i) { 384 for (size_t i = 0; i < arraysize(kTestWithInput); ++i) {
386 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestWithInput[i])) 385 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestWithInput[i]))
387 << "kTestWithInput[" << i << "] in password box failed:\n" 386 << "kTestWithInput[" << i << "] in password box failed:\n"
388 << GetTestDataDescription(kTestWithInput[i]); 387 << GetTestDataDescription(kTestWithInput[i]);
389 } 388 }
390 EXPECT_NO_FATAL_FAILURE(CheckTextBoxValue(tab_index, L"B", L"aA")); 389 EXPECT_NO_FATAL_FAILURE(CheckTextBoxValue(tab_index, L"B", L"aA"));
391 } 390 }
392 391
393 #if defined(OS_WIN) || defined(OS_LINUX) 392 #if defined(OS_WIN) || defined(OS_LINUX)
394 393
395 #if defined(OS_LINUX) || defined(OS_WIN) 394 IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, CtrlKeyEvents) {
396 // Linux: http://crbug.com/129235
397 // Win: crbug.com/269564
398 #define MAYBE_CtrlKeyEvents DISABLED_CtrlKeyEvents
399 #else
400 #define MAYBE_CtrlKeyEvents CtrlKeyEvents
401 #endif
402
403 IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, MAYBE_CtrlKeyEvents) {
404 static const KeyEventTestData kTestCtrlF = { 395 static const KeyEventTestData kTestCtrlF = {
405 ui::VKEY_F, true, false, false, false, 396 ui::VKEY_F, true, false, false, false,
406 false, false, false, false, 2, 397 false, false, false, false, 2,
407 { "D 17 0 true false false false", 398 { "D 17 0 true false false false",
408 "D 70 0 true false false false" } 399 "D 70 0 true false false false" }
409 }; 400 };
410 401
411 static const KeyEventTestData kTestCtrlFSuppressKeyDown = { 402 static const KeyEventTestData kTestCtrlFSuppressKeyDown = {
412 ui::VKEY_F, true, false, false, false, 403 ui::VKEY_F, true, false, false, false,
413 true, false, false, false, 4, 404 true, false, false, false, 4,
(...skipping 28 matching lines...) Expand all
442 static const KeyEventTestData kTestCtrlEnter = { 433 static const KeyEventTestData kTestCtrlEnter = {
443 ui::VKEY_RETURN, true, false, false, false, 434 ui::VKEY_RETURN, true, false, false, false,
444 false, false, false, false, 5, 435 false, false, false, false, 5,
445 { "D 17 0 true false false false", 436 { "D 17 0 true false false false",
446 "D 13 0 true false false false", 437 "D 13 0 true false false false",
447 "P 10 10 true false false false", 438 "P 10 10 true false false false",
448 "U 13 0 true false false false", 439 "U 13 0 true false false false",
449 "U 17 0 true false false false" } 440 "U 17 0 true false false false" }
450 }; 441 };
451 442
443 static const KeyEventTestData kTestEscape = {
444 ui::VKEY_ESCAPE, false, false, false, false,
445 false, false, false, false, 0,
446 {}
447 };
448
452 ASSERT_TRUE(embedded_test_server()->Start()); 449 ASSERT_TRUE(embedded_test_server()->Start());
453 450
454 ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser())); 451 ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
455 GURL url = embedded_test_server()->GetURL(kTestingPage); 452 GURL url = embedded_test_server()->GetURL(kTestingPage);
456 ui_test_utils::NavigateToURL(browser(), url); 453 ui_test_utils::NavigateToURL(browser(), url);
457 454
458 ASSERT_NO_FATAL_FAILURE(ClickOnView(VIEW_ID_TAB_CONTAINER)); 455 ASSERT_NO_FATAL_FAILURE(ClickOnView(VIEW_ID_TAB_CONTAINER));
459 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER)); 456 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER));
460 457
461 int tab_index = browser()->tab_strip_model()->active_index(); 458 int tab_index = browser()->tab_strip_model()->active_index();
462 // Press Ctrl+F, which will make the Find box open and request focus. 459 // Press Ctrl+F, which will make the Find box open and request focus.
463 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCtrlF)); 460 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCtrlF));
464 EXPECT_TRUE(IsViewFocused(VIEW_ID_FIND_IN_PAGE_TEXT_FIELD)); 461 EXPECT_TRUE(IsViewFocused(VIEW_ID_FIND_IN_PAGE_TEXT_FIELD));
465 462
466 // Press Escape to close the Find box and move the focus back to the web page. 463 // Press Escape to close the Find box and move the focus back to the web page.
467 ASSERT_TRUE(ui_test_utils::SendKeyPressSync( 464 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestEscape));
468 browser(), ui::VKEY_ESCAPE, false, false, false, false));
469 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER)); 465 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER));
470 466
471 // Press Ctrl+F with keydown suppressed shall not open the find box. 467 // Press Ctrl+F with keydown suppressed shall not open the find box.
472 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCtrlFSuppressKeyDown)); 468 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCtrlFSuppressKeyDown));
473 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER)); 469 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER));
474 470
475 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCtrlZ)); 471 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCtrlZ));
476 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCtrlZSuppressKeyDown)); 472 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCtrlZSuppressKeyDown));
477 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCtrlEnter)); 473 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCtrlEnter));
478 } 474 }
479 #elif defined(OS_MACOSX) 475 #elif defined(OS_MACOSX)
480 // http://crbug.com/81451 476 // http://crbug.com/81451
481 IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, DISABLED_CommandKeyEvents) { 477 IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, CommandKeyEvents) {
482 static const KeyEventTestData kTestCmdF = { 478 static const KeyEventTestData kTestCmdF = {
483 ui::VKEY_F, false, false, false, true, 479 ui::VKEY_F, false, false, false, true,
484 false, false, false, false, 2, 480 false, false, false, false, 2,
485 { "D 91 0 false false false true", 481 { "D 91 0 false false false true",
486 "D 70 0 false false false true" } 482 "D 70 0 false false false true" }
487 }; 483 };
488 484
489 // On Mac we don't send key up events when command modifier is down. 485 // On Mac we don't send key up events when command modifier is down.
490 static const KeyEventTestData kTestCmdFSuppressKeyDown = { 486 static const KeyEventTestData kTestCmdFSuppressKeyDown = {
491 ui::VKEY_F, false, false, false, true, 487 ui::VKEY_F, false, false, false, true,
(...skipping 21 matching lines...) Expand all
513 ASSERT_TRUE(ui_test_utils::SendKeyPressSync( 509 ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
514 browser(), ui::VKEY_ESCAPE, false, false, false, false)); 510 browser(), ui::VKEY_ESCAPE, false, false, false, false));
515 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER)); 511 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER));
516 512
517 // Press Cmd+F with keydown suppressed shall not open the find box. 513 // Press Cmd+F with keydown suppressed shall not open the find box.
518 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCmdFSuppressKeyDown)); 514 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCmdFSuppressKeyDown));
519 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER)); 515 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER));
520 } 516 }
521 #endif 517 #endif
522 518
523 // Flaky: http://crbug.com/81451 , http://crbug.com/129235 , 519 IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, AccessKeys) {
524 // also fails on Windows.
525 IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, DISABLED_AccessKeys) {
526 #if defined(OS_MACOSX) 520 #if defined(OS_MACOSX)
527 // On Mac, access keys use ctrl+alt modifiers. 521 // On Mac, access keys use ctrl+alt modifiers.
528 static const KeyEventTestData kTestAccessA = { 522 static const KeyEventTestData kTestAccessA = {
529 ui::VKEY_A, true, false, true, false, 523 ui::VKEY_A, true, false, true, false,
530 false, false, false, false, 6, 524 false, false, false, false, 6,
531 { "D 17 0 true false false false", 525 { "D 17 0 true false false false",
532 "D 18 0 true false true false", 526 "D 18 0 true false true false",
533 "D 65 0 true false true false", 527 "D 65 0 true false true false",
534 "U 65 0 true false true false", 528 "U 65 0 true false true false",
535 "U 18 0 true false true false", 529 "U 18 0 true false true false",
536 "U 17 0 true false false false" } 530 "U 17 0 true false false false" }
537 }; 531 };
538 532
539 static const KeyEventTestData kTestAccessDSuppress = { 533 static const KeyEventTestData kTestAccessDSuppress = {
540 ui::VKEY_D, true, false, true, false, 534 ui::VKEY_D, true, false, true, false,
541 true, true, true, false, 6, 535 true, true, true, false, 6,
542 { "D 17 0 true false false false", 536 { "D 17 0 true false false false",
543 "D 18 0 true false true false", 537 "D 18 0 true false true false",
544 "D 68 0 true false true false", 538 "D 68 0 true false true false",
545 "U 68 0 true false true false", 539 "U 68 0 true false true false",
546 "U 18 0 true false true false", 540 "U 18 0 true false true false",
547 "U 17 0 true false false false" } 541 "U 17 0 true false false false" }
548 }; 542 };
549
550 static const KeyEventTestData kTestAccess1 = {
551 ui::VKEY_1, true, false, true, false,
552 false, false, false, false, 6,
553 { "D 17 0 true false false false",
554 "D 18 0 true false true false",
555 "D 49 0 true false true false",
556 "U 49 0 true false true false",
557 "U 18 0 true false true false",
558 "U 17 0 true false false false" }
559 };
560 #else 543 #else
561 static const KeyEventTestData kTestAccessA = { 544 static const KeyEventTestData kTestAccessA = {
562 ui::VKEY_A, false, false, true, false, 545 ui::VKEY_A, false, false, true, false,
563 false, false, false, false, 4, 546 false, false, false, false, 4,
564 { "D 18 0 false false true false", 547 { "D 18 0 false false true false",
565 "D 65 0 false false true false", 548 "D 65 0 false false true false",
566 "U 65 0 false false true false", 549 "U 65 0 false false true false",
567 "U 18 0 false false true false" } 550 "U 18 0 false false true false" }
568 }; 551 };
569 552
570 static const KeyEventTestData kTestAccessD = { 553 static const KeyEventTestData kTestAccessD = {
571 ui::VKEY_D, false, false, true, false, 554 ui::VKEY_D, false, false, true, false,
572 false, false, false, false, 2, 555 false, false, false, false, 2,
573 { "D 18 0 false false true false", 556 { "D 18 0 false false true false",
574 "D 68 0 false false true false" } 557 "D 68 0 false false true false" }
575 }; 558 };
576 559
577 static const KeyEventTestData kTestAccessDSuppress = { 560 static const KeyEventTestData kTestAccessDSuppress = {
578 ui::VKEY_D, false, false, true, false, 561 ui::VKEY_D, false, false, true, false,
579 true, true, true, false, 4, 562 true, true, true, false, 4,
580 { "D 18 0 false false true false", 563 { "D 18 0 false false true false",
581 "D 68 0 false false true false", 564 "D 68 0 false false true false",
582 "U 68 0 false false true false", 565 "U 68 0 false false true false",
583 "U 18 0 false false true false" } 566 "U 18 0 false false true false" }
584 }; 567 };
585 568
586 #if !defined(USE_ASH)
587 static const KeyEventTestData kTestAccess1 = {
588 ui::VKEY_1, false, false, true, false,
589 false, false, false, false, 4,
590 { "D 18 0 false false true false",
591 "D 49 0 false false true false",
592 "U 49 0 false false true false",
593 "U 18 0 false false true false" }
594 };
595 #endif
596 #endif 569 #endif
597 570
598 ASSERT_TRUE(embedded_test_server()->Start()); 571 ASSERT_TRUE(embedded_test_server()->Start());
599 572
600 ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser())); 573 ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
601 GURL url = embedded_test_server()->GetURL(kTestingPage); 574 GURL url = embedded_test_server()->GetURL(kTestingPage);
602 ui_test_utils::NavigateToURL(browser(), url); 575 ui_test_utils::NavigateToURL(browser(), url);
603 576
604 content::RunAllPendingInMessageLoop(); 577 content::RunAllPendingInMessageLoop();
605 ASSERT_NO_FATAL_FAILURE(ClickOnView(VIEW_ID_TAB_CONTAINER)); 578 ASSERT_NO_FATAL_FAILURE(ClickOnView(VIEW_ID_TAB_CONTAINER));
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
641 // a part of the default action of the key event, so it should not be 614 // a part of the default action of the key event, so it should not be
642 // suppressed at all. 615 // suppressed at all.
643 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestAccessDSuppress)); 616 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestAccessDSuppress));
644 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER)); 617 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER));
645 EXPECT_NO_FATAL_FAILURE(CheckFocusedElement(tab_index, L"D")); 618 EXPECT_NO_FATAL_FAILURE(CheckFocusedElement(tab_index, L"D"));
646 619
647 // Blur the focused element. 620 // Blur the focused element.
648 EXPECT_NO_FATAL_FAILURE(SetFocusedElement(tab_index, L"")); 621 EXPECT_NO_FATAL_FAILURE(SetFocusedElement(tab_index, L""));
649 // Make sure no element is focused. 622 // Make sure no element is focused.
650 EXPECT_NO_FATAL_FAILURE(CheckFocusedElement(tab_index, L"")); 623 EXPECT_NO_FATAL_FAILURE(CheckFocusedElement(tab_index, L""));
651 #if !defined(USE_ASH)
652 // On Ash, alt-1..9 are assigned as window selection global accelerators, so
653 // they can not be used as accesskeys.
654 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestAccess1));
655 EXPECT_NO_FATAL_FAILURE(CheckFocusedElement(tab_index, L"1"));
656 #endif
657 } 624 }
658 625
659 // Flaky, http://crbug.com/69475. 626 // Flaky, http://crbug.com/69475.
660 #if defined(OS_LINUX) || defined(OS_WIN) 627 #if defined(OS_LINUX) || defined(OS_WIN)
661 #define MAYBE_ReservedAccelerators DISABLED_ReservedAccelerators 628 #define MAYBE_ReservedAccelerators DISABLED_ReservedAccelerators
662 #else 629 #else
663 #define MAYBE_ReservedAccelerators ReservedAccelerators 630 #define MAYBE_ReservedAccelerators ReservedAccelerators
664 #endif 631 #endif
665 IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, MAYBE_ReservedAccelerators) { 632 IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, MAYBE_ReservedAccelerators) {
666 ASSERT_TRUE(embedded_test_server()->Start()); 633 ASSERT_TRUE(embedded_test_server()->Start());
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
865 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestAltKeySuppress)); 832 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestAltKeySuppress));
866 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER)); 833 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER));
867 834
868 // Ctrl+Alt should have no effect. 835 // Ctrl+Alt should have no effect.
869 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCtrlAltKey)); 836 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCtrlAltKey));
870 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER)); 837 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER));
871 } 838 }
872 #endif 839 #endif
873 840
874 } // namespace 841 } // namespace
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698