| 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 "base/keyboard_codes.h" | 5 #include "app/keyboard_codes.h" |
| 6 #include "chrome/test/automation/browser_proxy.h" | 6 #include "chrome/test/automation/browser_proxy.h" |
| 7 #include "chrome/test/automation/tab_proxy.h" | 7 #include "chrome/test/automation/tab_proxy.h" |
| 8 #include "chrome/test/automation/window_proxy.h" | 8 #include "chrome/test/automation/window_proxy.h" |
| 9 #include "chrome/test/ui/ui_test.h" | 9 #include "chrome/test/ui/ui_test.h" |
| 10 #include "googleurl/src/gurl.h" | 10 #include "googleurl/src/gurl.h" |
| 11 #include "views/event.h" | 11 #include "views/event.h" |
| 12 | 12 |
| 13 // This functionality currently works on Windows and on Linux when | 13 // This functionality currently works on Windows and on Linux when |
| 14 // toolkit_views is defined (i.e. for Chrome OS). It's not needed | 14 // toolkit_views is defined (i.e. for Chrome OS). It's not needed |
| 15 // on the Mac, and it's not yet implemented on Linux. | 15 // on the Mac, and it's not yet implemented on Linux. |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 52 // The initial tab index should be 0. | 52 // The initial tab index should be 0. |
| 53 int tab_index = -1; | 53 int tab_index = -1; |
| 54 ASSERT_TRUE(browser->GetActiveTabIndex(&tab_index)); | 54 ASSERT_TRUE(browser->GetActiveTabIndex(&tab_index)); |
| 55 ASSERT_EQ(0, tab_index); | 55 ASSERT_EQ(0, tab_index); |
| 56 | 56 |
| 57 // Get the focused view ID, then press a key to activate the | 57 // Get the focused view ID, then press a key to activate the |
| 58 // page menu, then wait until the focused view changes. | 58 // page menu, then wait until the focused view changes. |
| 59 int original_view_id = -1; | 59 int original_view_id = -1; |
| 60 ASSERT_TRUE(window->GetFocusedViewID(&original_view_id)); | 60 ASSERT_TRUE(window->GetFocusedViewID(&original_view_id)); |
| 61 | 61 |
| 62 base::KeyboardCode menu_key = | 62 app::KeyboardCode menu_key = |
| 63 alternate_key_sequence ? base::VKEY_MENU : base::VKEY_F10; | 63 alternate_key_sequence ? app::VKEY_MENU : app::VKEY_F10; |
| 64 #if defined(OS_CHROMEOS) | 64 #if defined(OS_CHROMEOS) |
| 65 // Chrome OS has different function key accelerators, so we always use the | 65 // Chrome OS has different function key accelerators, so we always use the |
| 66 // menu key there. | 66 // menu key there. |
| 67 menu_key = base::VKEY_MENU; | 67 menu_key = app::VKEY_MENU; |
| 68 #endif | 68 #endif |
| 69 ASSERT_TRUE(window->SimulateOSKeyPress(menu_key, 0)); | 69 ASSERT_TRUE(window->SimulateOSKeyPress(menu_key, 0)); |
| 70 | 70 |
| 71 int new_view_id = -1; | 71 int new_view_id = -1; |
| 72 ASSERT_TRUE(window->WaitForFocusedViewIDToChange( | 72 ASSERT_TRUE(window->WaitForFocusedViewIDToChange( |
| 73 original_view_id, &new_view_id)); | 73 original_view_id, &new_view_id)); |
| 74 | 74 |
| 75 ASSERT_TRUE(browser->StartTrackingPopupMenus()); | 75 ASSERT_TRUE(browser->StartTrackingPopupMenus()); |
| 76 | 76 |
| 77 if (alternate_key_sequence) | 77 if (alternate_key_sequence) |
| 78 ASSERT_TRUE(window->SimulateOSKeyPress(base::VKEY_DOWN, 0)); | 78 ASSERT_TRUE(window->SimulateOSKeyPress(app::VKEY_DOWN, 0)); |
| 79 else | 79 else |
| 80 ASSERT_TRUE(window->SimulateOSKeyPress(base::VKEY_RETURN, 0)); | 80 ASSERT_TRUE(window->SimulateOSKeyPress(app::VKEY_RETURN, 0)); |
| 81 | 81 |
| 82 // Wait until the popup menu actually opens. | 82 // Wait until the popup menu actually opens. |
| 83 ASSERT_TRUE(browser->WaitForPopupMenuToOpen()); | 83 ASSERT_TRUE(browser->WaitForPopupMenuToOpen()); |
| 84 | 84 |
| 85 // Press DOWN to select the first item, then RETURN to select it. | 85 // Press DOWN to select the first item, then RETURN to select it. |
| 86 ASSERT_TRUE(window->SimulateOSKeyPress(base::VKEY_DOWN, 0)); | 86 ASSERT_TRUE(window->SimulateOSKeyPress(app::VKEY_DOWN, 0)); |
| 87 ASSERT_TRUE(window->SimulateOSKeyPress(base::VKEY_RETURN, 0)); | 87 ASSERT_TRUE(window->SimulateOSKeyPress(app::VKEY_RETURN, 0)); |
| 88 | 88 |
| 89 // Wait for the new tab to appear. | 89 // Wait for the new tab to appear. |
| 90 ASSERT_TRUE(browser->WaitForTabCountToBecome(2, action_timeout_ms())); | 90 ASSERT_TRUE(browser->WaitForTabCountToBecome(2, action_timeout_ms())); |
| 91 | 91 |
| 92 // Make sure that the new tab index is 1. | 92 // Make sure that the new tab index is 1. |
| 93 ASSERT_TRUE(browser->GetActiveTabIndex(&tab_index)); | 93 ASSERT_TRUE(browser->GetActiveTabIndex(&tab_index)); |
| 94 ASSERT_EQ(1, tab_index); | 94 ASSERT_EQ(1, tab_index); |
| 95 } | 95 } |
| 96 | 96 |
| 97 TEST_F(KeyboardAccessTest, TestMenuKeyboardAccess) { | 97 TEST_F(KeyboardAccessTest, TestMenuKeyboardAccess) { |
| (...skipping 20 matching lines...) Expand all Loading... |
| 118 ASSERT_TRUE(browser->GetTabCount(&tab_count)); | 118 ASSERT_TRUE(browser->GetTabCount(&tab_count)); |
| 119 ASSERT_EQ(tab_count, 2); | 119 ASSERT_EQ(tab_count, 2); |
| 120 | 120 |
| 121 int active_tab = 0; | 121 int active_tab = 0; |
| 122 ASSERT_TRUE(browser->GetActiveTabIndex(&active_tab)); | 122 ASSERT_TRUE(browser->GetActiveTabIndex(&active_tab)); |
| 123 ASSERT_EQ(active_tab, 1); | 123 ASSERT_EQ(active_tab, 1); |
| 124 | 124 |
| 125 scoped_refptr<WindowProxy> window(browser->GetWindow()); | 125 scoped_refptr<WindowProxy> window(browser->GetWindow()); |
| 126 ASSERT_TRUE(window); | 126 ASSERT_TRUE(window); |
| 127 ASSERT_TRUE(window->SimulateOSKeyPress( | 127 ASSERT_TRUE(window->SimulateOSKeyPress( |
| 128 base::VKEY_TAB, views::Event::EF_CONTROL_DOWN)); | 128 app::VKEY_TAB, views::Event::EF_CONTROL_DOWN)); |
| 129 ASSERT_TRUE(browser->WaitForTabToBecomeActive(0, action_max_timeout_ms())); | 129 ASSERT_TRUE(browser->WaitForTabToBecomeActive(0, action_max_timeout_ms())); |
| 130 | 130 |
| 131 #if !defined(OS_MACOSX) // see BrowserWindowCocoa::GetCommandId | 131 #if !defined(OS_MACOSX) // see BrowserWindowCocoa::GetCommandId |
| 132 ASSERT_TRUE(browser->ActivateTab(1)); | 132 ASSERT_TRUE(browser->ActivateTab(1)); |
| 133 ASSERT_TRUE(window->SimulateOSKeyPress( | 133 ASSERT_TRUE(window->SimulateOSKeyPress( |
| 134 base::VKEY_F4, views::Event::EF_CONTROL_DOWN)); | 134 app::VKEY_F4, views::Event::EF_CONTROL_DOWN)); |
| 135 ASSERT_TRUE(browser->WaitForTabCountToBecome(1, action_max_timeout_ms())); | 135 ASSERT_TRUE(browser->WaitForTabCountToBecome(1, action_max_timeout_ms())); |
| 136 #endif | 136 #endif |
| 137 } | 137 } |
| 138 | 138 |
| 139 } // namespace | 139 } // namespace |
| 140 | 140 |
| 141 #endif // defined(TOOLKIT_VIEWS) | 141 #endif // defined(TOOLKIT_VIEWS) |
| OLD | NEW |