Chromium Code Reviews| Index: chrome/browser/browser_keyevents_browsertest.cc |
| diff --git a/chrome/browser/browser_keyevents_browsertest.cc b/chrome/browser/browser_keyevents_browsertest.cc |
| index 021104bf071c6f72fc3b840f17d9c9d76bbe5919..78bea5ee893623e7cc72661028dd3c4bf4b4e9c9 100644 |
| --- a/chrome/browser/browser_keyevents_browsertest.cc |
| +++ b/chrome/browser/browser_keyevents_browsertest.cc |
| @@ -636,14 +636,7 @@ IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, AccessKeys) { |
| #endif |
| } |
| -#if defined(OS_MACOSX) |
| -// See http://crbug.com/50447 for details. |
| -#define MAYBE_ReservedAccelerators FLAKY_ReservedAccelerators |
| -#else |
| -#define MAYBE_ReservedAccelerators ReservedAccelerators |
| -#endif |
| - |
| -IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, MAYBE_ReservedAccelerators) { |
| +IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, ReservedAccelerators) { |
| ASSERT_TRUE(test_server()->Start()); |
| ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser())); |
| @@ -671,6 +664,8 @@ IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, MAYBE_ReservedAccelerators) { |
| ASSERT_NO_FATAL_FAILURE(GetResultLength(0, &result_length)); |
| EXPECT_EQ(1, result_length); |
| + ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW)); |
| + |
| // Reserved accelerators can't be suppressed. |
| ASSERT_NO_FATAL_FAILURE(SuppressAllEvents(0, true)); |
| // Press Ctrl+W, which will close the tab. |
| @@ -685,18 +680,36 @@ IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, MAYBE_ReservedAccelerators) { |
| }; |
| ASSERT_EQ(1, browser()->tab_count()); |
| - // Press Cmd+T, which will open a new tab. |
| + |
| + ui_test_utils::WindowedNotificationObserver wait_for_new_tab( |
| + NotificationType::TAB_PARENTED, |
| + NotificationService::AllSources()); |
| + |
| + // Press Cmd+T, which will open a new tab, it can not be suppressed. |
|
Ilya Sherman
2010/12/04 02:31:00
nit: The added part would be better as ". It canno
James Su
2010/12/04 03:21:11
Done.
|
| EXPECT_NO_FATAL_FAILURE(TestKeyEvent(0, kTestCmdT)); |
| - EXPECT_EQ(2, browser()->tab_count()); |
| - browser()->SelectNumberedTab(0); |
| - ASSERT_EQ(0, browser()->selected_index()); |
| + |
| + wait_for_new_tab.WaitFor(Source<NavigationController>( |
| + &browser()->GetTabContentsAt(1)->controller())); |
| int result_length; |
| ASSERT_NO_FATAL_FAILURE(GetResultLength(0, &result_length)); |
| EXPECT_EQ(1, result_length); |
| + EXPECT_EQ(2, browser()->tab_count()); |
| + ASSERT_EQ(1, browser()->selected_index()); |
| + |
| + // Because of issue http://crbug.com/65375, switching back to the first tab |
| + // may cause the focus to be grabbed by omnibox. So instead, we load our |
| + // testing page in the newly created tab and try Cmd-W here. |
| + ui_test_utils::NavigateToURL(browser(), url); |
| + |
| + // Make sure the focus is in the testing page. |
| + ASSERT_NO_FATAL_FAILURE(ClickOnView(VIEW_ID_TAB_CONTAINER)); |
| + ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW)); |
| + |
| // Reserved accelerators can't be suppressed. |
| - ASSERT_NO_FATAL_FAILURE(SuppressAllEvents(0, true)); |
| + ASSERT_NO_FATAL_FAILURE(SuppressAllEvents(1, true)); |
| + |
| // Press Cmd+W, which will close the tab. |
| ASSERT_TRUE(ui_test_utils::SendKeyPressSync( |
| browser(), app::VKEY_W, false, false, false, true)); |
| @@ -751,6 +764,7 @@ IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, MAYBE_ReservedAccelerators) { |
| ASSERT_EQ(1, browser()->selected_index()); |
| browser()->SelectNumberedTab(0); |
| ASSERT_EQ(0, browser()->selected_index()); |
| + ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW)); |
| // Ctrl+PageDown and Ctrl+Tab switches to the next tab. |
| EXPECT_NO_FATAL_FAILURE(TestKeyEvent(0, kTestCtrlPageDown)); |
| @@ -758,12 +772,16 @@ IN_PROC_BROWSER_TEST_F(BrowserKeyEventsTest, MAYBE_ReservedAccelerators) { |
| browser()->SelectNumberedTab(0); |
| ASSERT_EQ(0, browser()->selected_index()); |
| + ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW)); |
| + |
| EXPECT_NO_FATAL_FAILURE(TestKeyEvent(0, kTestCtrlTab)); |
| ASSERT_EQ(1, browser()->selected_index()); |
| // Ctrl+W should be blockable. |
| browser()->SelectNumberedTab(0); |
| ASSERT_EQ(0, browser()->selected_index()); |
| + ASSERT_TRUE(IsViewFocused(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW)); |
| + |
| EXPECT_NO_FATAL_FAILURE(TestKeyEvent(0, kTestCtrlWBlocked)); |
| ASSERT_EQ(2, browser()->tab_count()); |