| Index: chrome/browser/browser_keyevents_browsertest.cc
|
| diff --git a/chrome/browser/browser_keyevents_browsertest.cc b/chrome/browser/browser_keyevents_browsertest.cc
|
| index e943befb5b460066df06435dbc9a46ee551d2bdf..0c4bd37dbefa64adf1b6eb1a76963b25be70d70d 100644
|
| --- a/chrome/browser/browser_keyevents_browsertest.cc
|
| +++ b/chrome/browser/browser_keyevents_browsertest.cc
|
| @@ -532,14 +532,7 @@ IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, CommandKeyEvents) {
|
| }
|
| #endif
|
|
|
| -#if defined(TOOLKIT_VIEWS) && defined(OS_LINUX)
|
| -// See http://crbug.com/40037 for details.
|
| -#define MAYBE_AccessKeys DISABLED_AccessKeys
|
| -#else
|
| -#define MAYBE_AccessKeys AccessKeys
|
| -#endif
|
| -
|
| -IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, MAYBE_AccessKeys) {
|
| +IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, AccessKeys) {
|
| #if defined(OS_MACOSX)
|
| // On Mac, access keys use ctrl+alt modifiers.
|
| static const KeyEventTestData kTestAccessA = {
|
| @@ -891,4 +884,57 @@ IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, PageUpDownKeys) {
|
| EXPECT_NO_FATAL_FAILURE(CheckTextBoxValue(tab_index, L"A", L""));
|
| }
|
|
|
| +#if defined(OS_WIN) || defined(TOOLKIT_VIEWS)
|
| +IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, FocusMenuBarByAltKey) {
|
| + static const KeyEventTestData kTestAltKey = {
|
| + base::VKEY_MENU, false, false, false, false,
|
| + false, false, false, false, 2,
|
| + { "D 18 0 false false true false",
|
| + "U 18 0 false false true false" }
|
| + };
|
| +
|
| + static const KeyEventTestData kTestAltKeySuppress = {
|
| + base::VKEY_MENU, false, false, false, false,
|
| + true, false, false, false, 2,
|
| + { "D 18 0 false false true false",
|
| + "U 18 0 false false true false" }
|
| + };
|
| +
|
| + static const KeyEventTestData kTestCtrlAltKey = {
|
| + base::VKEY_MENU, true, false, false, false,
|
| + false, false, false, false, 4,
|
| + { "D 17 0 true false false false",
|
| + "D 18 0 true false true false",
|
| + "U 18 0 true false true false",
|
| + "U 17 0 true false false false" }
|
| + };
|
| +
|
| + net::HTTPTestServer* server = StartHTTPServer();
|
| + ASSERT_TRUE(server);
|
| +
|
| + BringBrowserWindowToFront();
|
| + GURL url = server->TestServerPage(kTestingPage);
|
| + ui_test_utils::NavigateToURL(browser(), url);
|
| +
|
| + ASSERT_NO_FATAL_FAILURE(ClickOnView(VIEW_ID_TAB_CONTAINER));
|
| + ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW));
|
| +
|
| + int tab_index = browser()->selected_index();
|
| + // Press and release Alt key to focus wrench menu button.
|
| + EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestAltKey));
|
| + EXPECT_TRUE(IsViewFocused(VIEW_ID_APP_MENU));
|
| +
|
| + ASSERT_NO_FATAL_FAILURE(ClickOnView(VIEW_ID_TAB_CONTAINER));
|
| + ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW));
|
| +
|
| + // Alt key can be suppressed.
|
| + EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestAltKeySuppress));
|
| + ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW));
|
| +
|
| + // Ctrl+Alt should have no effect.
|
| + EXPECT_NO_FATAL_FAILURE(TestKeyEvent(tab_index, kTestCtrlAltKey));
|
| + ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW));
|
| +}
|
| +#endif
|
| +
|
| } // namespace
|
|
|