Chromium Code Reviews| Index: chrome/browser/ui/views/tabs/tab_drag_controller_interactive_uitest.cc |
| diff --git a/chrome/browser/ui/views/tabs/tab_drag_controller_interactive_uitest.cc b/chrome/browser/ui/views/tabs/tab_drag_controller_interactive_uitest.cc |
| index e48835e286cfdb1b5759ff0a70be27e33b2a5a68..85c3e33b147288be2c35328ac37e47af0061bcf2 100644 |
| --- a/chrome/browser/ui/views/tabs/tab_drag_controller_interactive_uitest.cc |
| +++ b/chrome/browser/ui/views/tabs/tab_drag_controller_interactive_uitest.cc |
| @@ -2361,7 +2361,7 @@ IN_PROC_BROWSER_TEST_F( |
| // Drags from browser from a second display to primary and releases input. |
| IN_PROC_BROWSER_TEST_F( |
| DetachToBrowserInSeparateDisplayAndCancelTabDragControllerTest, |
| - DISABLED_CancelDragTabToWindowIn1stDisplay) { |
| + CancelDragTabToWindowIn1stDisplay) { |
| aura::Window::Windows roots = ash::Shell::GetAllRootWindows(); |
| ASSERT_EQ(2u, roots.size()); |
| @@ -2406,45 +2406,65 @@ IN_PROC_BROWSER_TEST_F( |
| } |
| namespace { |
| +void PressSecondFingerWhileDetachedStep3( |
| + DetachToBrowserTabDragControllerTest* test) { |
| + ASSERT_TRUE(TabDragController::IsActive()); |
| + ASSERT_EQ(2u, test->browser_list->size()); |
| + Browser* new_browser = test->browser_list->get(1); |
|
Peter Kasting
2017/04/11 02:15:24
Nit: Can just inline into next line (2 places)
weidongg
2017/04/11 02:57:43
Done.
|
| + ASSERT_TRUE(new_browser->window()->IsActive()); |
| + |
| + ASSERT_TRUE(test->ReleaseInput()); |
| + ASSERT_TRUE(test->ReleaseInput2()); |
| +} |
| void PressSecondFingerWhileDetachedStep2( |
| - DetachToBrowserTabDragControllerTest* test) { |
| + DetachToBrowserTabDragControllerTest* test, |
| + const gfx::Point& target_point) { |
| ASSERT_TRUE(TabDragController::IsActive()); |
| ASSERT_EQ(2u, test->browser_list->size()); |
| Browser* new_browser = test->browser_list->get(1); |
| ASSERT_TRUE(new_browser->window()->IsActive()); |
| ASSERT_TRUE(test->PressInput2()); |
| + // Continue dragging after adding a second finger. |
|
Peter Kasting
2017/04/11 02:15:24
Nit: Put comment above line above
weidongg
2017/04/11 02:57:43
Done.
|
| + ASSERT_TRUE(test->DragInputToNotifyWhenDone( |
| + target_point.x(), target_point.y(), |
| + base::Bind(&PressSecondFingerWhileDetachedStep3, test))); |
| } |
| } // namespace |
| // Detaches a tab and while detached presses a second finger. |
| IN_PROC_BROWSER_TEST_P(DetachToBrowserTabDragControllerTestTouch, |
| - DISABLED_PressSecondFingerWhileDetached) { |
| + PressSecondFingerWhileDetached) { |
| // Add another tab. |
| AddTabAndResetBrowser(browser()); |
| TabStrip* tab_strip = GetTabStripForBrowser(browser()); |
| EXPECT_EQ("0 1", IDString(browser()->tab_strip_model())); |
| // Move to the first tab and drag it enough so that it detaches. |
| - gfx::Point tab_0_center( |
| - GetCenterInScreenCoordinates(tab_strip->tab_at(0))); |
| + gfx::Point tab_0_center(GetCenterInScreenCoordinates(tab_strip->tab_at(0))); |
| ASSERT_TRUE(PressInput(tab_0_center)); |
| - ASSERT_TRUE(DragInputToDelayedNotifyWhenDone( |
|
Peter Kasting
2017/04/11 02:15:24
If you're removing this call, remove the whole fun
weidongg
2017/04/11 02:57:43
Done.
|
| - tab_0_center.x(), tab_0_center.y() + GetDetachY(tab_strip), |
| - base::Bind(&PressSecondFingerWhileDetachedStep2, this), |
| - base::TimeDelta::FromMilliseconds(60))); |
| + ASSERT_TRUE(DragInputToNotifyWhenDone( |
| + tab_0_center.x(), tab_0_center.y() + GetDetachY(tab_strip), |
| + base::Bind(&PressSecondFingerWhileDetachedStep2, this, |
| + gfx::Point(tab_0_center.x(), |
| + tab_0_center.y() + 2 * GetDetachY(tab_strip))))); |
| QuitWhenNotDragging(); |
| - // The drag should have been reverted. |
| - ASSERT_EQ(1u, browser_list->size()); |
| + // Should no longer be dragging. |
| ASSERT_FALSE(tab_strip->IsDragSessionActive()); |
| ASSERT_FALSE(TabDragController::IsActive()); |
| - EXPECT_EQ("0 1", IDString(browser()->tab_strip_model())); |
| - ASSERT_TRUE(ReleaseInput()); |
| - ASSERT_TRUE(ReleaseInput2()); |
| + // There should now be another browser. |
| + ASSERT_EQ(2u, browser_list->size()); |
| + Browser* new_browser = browser_list->get(1); |
| + ASSERT_TRUE(new_browser->window()->IsActive()); |
| + TabStrip* tab_strip2 = GetTabStripForBrowser(new_browser); |
| + ASSERT_FALSE(tab_strip2->IsDragSessionActive()); |
| + |
| + EXPECT_EQ("0", IDString(new_browser->tab_strip_model())); |
| + EXPECT_EQ("1", IDString(browser()->tab_strip_model())); |
| } |
| #endif // OS_CHROMEOS |