| 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 "app/keyboard_codes.h" | |
| 6 #include "chrome/test/automation/browser_proxy.h" | 5 #include "chrome/test/automation/browser_proxy.h" |
| 7 #include "chrome/test/automation/tab_proxy.h" | 6 #include "chrome/test/automation/tab_proxy.h" |
| 8 #include "chrome/test/automation/window_proxy.h" | 7 #include "chrome/test/automation/window_proxy.h" |
| 9 #include "chrome/test/ui/ui_test.h" | 8 #include "chrome/test/ui/ui_test.h" |
| 10 #include "googleurl/src/gurl.h" | 9 #include "googleurl/src/gurl.h" |
| 10 #include "ui/base/keycodes/keyboard_codes.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. |
| 16 #if defined(TOOLKIT_VIEWS) | 16 #if defined(TOOLKIT_VIEWS) |
| 17 | 17 |
| 18 namespace { | 18 namespace { |
| 19 | 19 |
| 20 class KeyboardAccessTest : public UITest { | 20 class KeyboardAccessTest : public UITest { |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 53 // The initial tab index should be 0. | 53 // The initial tab index should be 0. |
| 54 int tab_index = -1; | 54 int tab_index = -1; |
| 55 ASSERT_TRUE(browser->GetActiveTabIndex(&tab_index)); | 55 ASSERT_TRUE(browser->GetActiveTabIndex(&tab_index)); |
| 56 ASSERT_EQ(0, tab_index); | 56 ASSERT_EQ(0, tab_index); |
| 57 | 57 |
| 58 // Get the focused view ID, then press a key to activate the | 58 // Get the focused view ID, then press a key to activate the |
| 59 // page menu, then wait until the focused view changes. | 59 // page menu, then wait until the focused view changes. |
| 60 int original_view_id = -1; | 60 int original_view_id = -1; |
| 61 ASSERT_TRUE(window->GetFocusedViewID(&original_view_id)); | 61 ASSERT_TRUE(window->GetFocusedViewID(&original_view_id)); |
| 62 | 62 |
| 63 app::KeyboardCode menu_key = | 63 ui::KeyboardCode menu_key = |
| 64 alternate_key_sequence ? app::VKEY_MENU : app::VKEY_F10; | 64 alternate_key_sequence ? ui::VKEY_MENU : ui::VKEY_F10; |
| 65 #if defined(OS_CHROMEOS) | 65 #if defined(OS_CHROMEOS) |
| 66 // Chrome OS has different function key accelerators, so we always use the | 66 // Chrome OS has different function key accelerators, so we always use the |
| 67 // menu key there. | 67 // menu key there. |
| 68 menu_key = app::VKEY_MENU; | 68 menu_key = ui::VKEY_MENU; |
| 69 #endif | 69 #endif |
| 70 ASSERT_TRUE(window->SimulateOSKeyPress(menu_key, modifiers)); | 70 ASSERT_TRUE(window->SimulateOSKeyPress(menu_key, modifiers)); |
| 71 | 71 |
| 72 if (modifiers) { | 72 if (modifiers) { |
| 73 // Verify Chrome does not move the view focus. We should not move the view | 73 // Verify Chrome does not move the view focus. We should not move the view |
| 74 // focus when typing a menu key with modifier keys, such as shift keys or | 74 // focus when typing a menu key with modifier keys, such as shift keys or |
| 75 // control keys. | 75 // control keys. |
| 76 int new_view_id = -1; | 76 int new_view_id = -1; |
| 77 ASSERT_TRUE(window->GetFocusedViewID(&new_view_id)); | 77 ASSERT_TRUE(window->GetFocusedViewID(&new_view_id)); |
| 78 ASSERT_EQ(original_view_id, new_view_id); | 78 ASSERT_EQ(original_view_id, new_view_id); |
| 79 return; | 79 return; |
| 80 } | 80 } |
| 81 | 81 |
| 82 int new_view_id = -1; | 82 int new_view_id = -1; |
| 83 ASSERT_TRUE(window->WaitForFocusedViewIDToChange( | 83 ASSERT_TRUE(window->WaitForFocusedViewIDToChange( |
| 84 original_view_id, &new_view_id)); | 84 original_view_id, &new_view_id)); |
| 85 | 85 |
| 86 ASSERT_TRUE(browser->StartTrackingPopupMenus()); | 86 ASSERT_TRUE(browser->StartTrackingPopupMenus()); |
| 87 | 87 |
| 88 if (alternate_key_sequence) | 88 if (alternate_key_sequence) |
| 89 ASSERT_TRUE(window->SimulateOSKeyPress(app::VKEY_DOWN, 0)); | 89 ASSERT_TRUE(window->SimulateOSKeyPress(ui::VKEY_DOWN, 0)); |
| 90 else | 90 else |
| 91 ASSERT_TRUE(window->SimulateOSKeyPress(app::VKEY_RETURN, 0)); | 91 ASSERT_TRUE(window->SimulateOSKeyPress(ui::VKEY_RETURN, 0)); |
| 92 | 92 |
| 93 // Wait until the popup menu actually opens. | 93 // Wait until the popup menu actually opens. |
| 94 ASSERT_TRUE(browser->WaitForPopupMenuToOpen()); | 94 ASSERT_TRUE(browser->WaitForPopupMenuToOpen()); |
| 95 | 95 |
| 96 // Press DOWN to select the first item, then RETURN to select it. | 96 // Press DOWN to select the first item, then RETURN to select it. |
| 97 ASSERT_TRUE(window->SimulateOSKeyPress(app::VKEY_DOWN, 0)); | 97 ASSERT_TRUE(window->SimulateOSKeyPress(ui::VKEY_DOWN, 0)); |
| 98 ASSERT_TRUE(window->SimulateOSKeyPress(app::VKEY_RETURN, 0)); | 98 ASSERT_TRUE(window->SimulateOSKeyPress(ui::VKEY_RETURN, 0)); |
| 99 | 99 |
| 100 // Wait for the new tab to appear. | 100 // Wait for the new tab to appear. |
| 101 ASSERT_TRUE(browser->WaitForTabCountToBecome(2)); | 101 ASSERT_TRUE(browser->WaitForTabCountToBecome(2)); |
| 102 | 102 |
| 103 // Make sure that the new tab index is 1. | 103 // Make sure that the new tab index is 1. |
| 104 ASSERT_TRUE(browser->GetActiveTabIndex(&tab_index)); | 104 ASSERT_TRUE(browser->GetActiveTabIndex(&tab_index)); |
| 105 ASSERT_EQ(1, tab_index); | 105 ASSERT_EQ(1, tab_index); |
| 106 } | 106 } |
| 107 | 107 |
| 108 // Disabled, http://crbug.com/62310. | 108 // Disabled, http://crbug.com/62310. |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 146 ASSERT_TRUE(browser->GetTabCount(&tab_count)); | 146 ASSERT_TRUE(browser->GetTabCount(&tab_count)); |
| 147 ASSERT_EQ(tab_count, 2); | 147 ASSERT_EQ(tab_count, 2); |
| 148 | 148 |
| 149 int active_tab = 0; | 149 int active_tab = 0; |
| 150 ASSERT_TRUE(browser->GetActiveTabIndex(&active_tab)); | 150 ASSERT_TRUE(browser->GetActiveTabIndex(&active_tab)); |
| 151 ASSERT_EQ(active_tab, 1); | 151 ASSERT_EQ(active_tab, 1); |
| 152 | 152 |
| 153 scoped_refptr<WindowProxy> window(browser->GetWindow()); | 153 scoped_refptr<WindowProxy> window(browser->GetWindow()); |
| 154 ASSERT_TRUE(window); | 154 ASSERT_TRUE(window); |
| 155 ASSERT_TRUE(window->SimulateOSKeyPress( | 155 ASSERT_TRUE(window->SimulateOSKeyPress( |
| 156 app::VKEY_TAB, views::Event::EF_CONTROL_DOWN)); | 156 ui::VKEY_TAB, views::Event::EF_CONTROL_DOWN)); |
| 157 ASSERT_TRUE(browser->WaitForTabToBecomeActive(0, action_max_timeout_ms())); | 157 ASSERT_TRUE(browser->WaitForTabToBecomeActive(0, action_max_timeout_ms())); |
| 158 | 158 |
| 159 #if !defined(OS_MACOSX) // see BrowserWindowCocoa::GetCommandId | 159 #if !defined(OS_MACOSX) // see BrowserWindowCocoa::GetCommandId |
| 160 ASSERT_TRUE(browser->ActivateTab(1)); | 160 ASSERT_TRUE(browser->ActivateTab(1)); |
| 161 ASSERT_TRUE(window->SimulateOSKeyPress( | 161 ASSERT_TRUE(window->SimulateOSKeyPress( |
| 162 app::VKEY_F4, views::Event::EF_CONTROL_DOWN)); | 162 ui::VKEY_F4, views::Event::EF_CONTROL_DOWN)); |
| 163 ASSERT_TRUE(browser->WaitForTabCountToBecome(1)); | 163 ASSERT_TRUE(browser->WaitForTabCountToBecome(1)); |
| 164 #endif | 164 #endif |
| 165 } | 165 } |
| 166 | 166 |
| 167 } // namespace | 167 } // namespace |
| 168 | 168 |
| 169 #endif // defined(TOOLKIT_VIEWS) | 169 #endif // defined(TOOLKIT_VIEWS) |
| OLD | NEW |