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

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

Issue 3046041: [Linux Views] Refactor accelerator handler related code. (Closed) Base URL: http://src.chromium.org/git/chromium.git
Patch Set: Prevent ctrl+alt. Created 10 years, 4 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
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 "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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698