OLD | NEW |
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 "base/basictypes.h" | 7 #include "base/basictypes.h" |
8 #include "base/keyboard_codes.h" | 8 #include "base/keyboard_codes.h" |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/message_loop.h" | 10 #include "base/message_loop.h" |
(...skipping 514 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
525 ASSERT_NO_FATAL_FAILURE( | 525 ASSERT_NO_FATAL_FAILURE( |
526 SendKey(base::VKEY_ESCAPE, false, false, false, false)); | 526 SendKey(base::VKEY_ESCAPE, false, false, false, false)); |
527 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW)); | 527 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW)); |
528 | 528 |
529 // Press Cmd+F with keydown suppressed shall not open the find box. | 529 // Press Cmd+F with keydown suppressed shall not open the find box. |
530 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCmdFSuppressKeyDown)); | 530 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCmdFSuppressKeyDown)); |
531 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW)); | 531 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW)); |
532 } | 532 } |
533 #endif | 533 #endif |
534 | 534 |
535 #if defined(TOOLKIT_VIEWS) && defined(OS_LINUX) | 535 IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, AccessKeys) { |
536 // See http://crbug.com/40037 for details. | |
537 #define MAYBE_AccessKeys DISABLED_AccessKeys | |
538 #else | |
539 #define MAYBE_AccessKeys AccessKeys | |
540 #endif | |
541 | |
542 IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, MAYBE_AccessKeys) { | |
543 #if defined(OS_MACOSX) | 536 #if defined(OS_MACOSX) |
544 // On Mac, access keys use ctrl+alt modifiers. | 537 // On Mac, access keys use ctrl+alt modifiers. |
545 static const KeyEventTestData kTestAccessA = { | 538 static const KeyEventTestData kTestAccessA = { |
546 base::VKEY_A, true, false, true, false, | 539 base::VKEY_A, true, false, true, false, |
547 false, false, false, false, 6, | 540 false, false, false, false, 6, |
548 { "D 17 0 true false false false", | 541 { "D 17 0 true false false false", |
549 "D 18 0 true false true false", | 542 "D 18 0 true false true false", |
550 "D 65 0 true false true false", | 543 "D 65 0 true false true false", |
551 "U 65 0 true false true false", | 544 "U 65 0 true false true false", |
552 "U 18 0 true false true false", | 545 "U 18 0 true false true false", |
(...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
884 ASSERT_NO_FATAL_FAILURE(ClickOnView(VIEW_ID_TAB_CONTAINER)); | 877 ASSERT_NO_FATAL_FAILURE(ClickOnView(VIEW_ID_TAB_CONTAINER)); |
885 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW)); | 878 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW)); |
886 | 879 |
887 int tab_index = browser()->selected_index(); | 880 int tab_index = browser()->selected_index(); |
888 ASSERT_NO_FATAL_FAILURE(SetFocusedElement(tab_index, L"A")); | 881 ASSERT_NO_FATAL_FAILURE(SetFocusedElement(tab_index, L"A")); |
889 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestPageUp)); | 882 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestPageUp)); |
890 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestPageDown)); | 883 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestPageDown)); |
891 EXPECT_NO_FATAL_FAILURE(CheckTextBoxValue(tab_index, L"A", L"")); | 884 EXPECT_NO_FATAL_FAILURE(CheckTextBoxValue(tab_index, L"A", L"")); |
892 } | 885 } |
893 | 886 |
| 887 #if defined(OS_WIN) || defined(TOOLKIT_VIEWS) |
| 888 IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, FocusMenuBarByAltKey) { |
| 889 static const KeyEventTestData kTestAltKey = { |
| 890 base::VKEY_MENU, false, false, false, false, |
| 891 false, false, false, false, 2, |
| 892 { "D 18 0 false false true false", |
| 893 "U 18 0 false false true false" } |
| 894 }; |
| 895 |
| 896 static const KeyEventTestData kTestAltKeySuppress = { |
| 897 base::VKEY_MENU, false, false, false, false, |
| 898 true, false, false, false, 2, |
| 899 { "D 18 0 false false true false", |
| 900 "U 18 0 false false true false" } |
| 901 }; |
| 902 |
| 903 static const KeyEventTestData kTestCtrlAltKey = { |
| 904 base::VKEY_MENU, true, false, false, false, |
| 905 false, false, false, false, 4, |
| 906 { "D 17 0 true false false false", |
| 907 "D 18 0 true false true false", |
| 908 "U 18 0 true false true false", |
| 909 "U 17 0 true false false false" } |
| 910 }; |
| 911 |
| 912 net::HTTPTestServer* server = StartHTTPServer(); |
| 913 ASSERT_TRUE(server); |
| 914 |
| 915 BringBrowserWindowToFront(); |
| 916 GURL url = server->TestServerPage(kTestingPage); |
| 917 ui_test_utils::NavigateToURL(browser(), url); |
| 918 |
| 919 ASSERT_NO_FATAL_FAILURE(ClickOnView(VIEW_ID_TAB_CONTAINER)); |
| 920 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW)); |
| 921 |
| 922 int tab_index = browser()->selected_index(); |
| 923 // Press and release Alt key to focus wrench menu button. |
| 924 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestAltKey)); |
| 925 EXPECT_TRUE(IsViewFocused(VIEW_ID_APP_MENU)); |
| 926 |
| 927 ASSERT_NO_FATAL_FAILURE(ClickOnView(VIEW_ID_TAB_CONTAINER)); |
| 928 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW)); |
| 929 |
| 930 // Alt key can be suppressed. |
| 931 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestAltKeySuppress)); |
| 932 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW)); |
| 933 |
| 934 // Ctrl+Alt should have no effect. |
| 935 EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCtrlAltKey)); |
| 936 ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW)); |
| 937 } |
| 938 #endif |
| 939 |
894 } // namespace | 940 } // namespace |
OLD | NEW |