Index: chrome/browser/ui/views/tabs/tab_drag_controller.cc |
diff --git a/chrome/browser/ui/views/tabs/tab_drag_controller.cc b/chrome/browser/ui/views/tabs/tab_drag_controller.cc |
index 54ba502b9b330e857db0b1c5e67eb5c1709ae642..3300ecf95230268695dcb184d8a75beb29db0680 100644 |
--- a/chrome/browser/ui/views/tabs/tab_drag_controller.cc |
+++ b/chrome/browser/ui/views/tabs/tab_drag_controller.cc |
@@ -382,7 +382,10 @@ void TabDragController::Drag(const gfx::Point& point_in_screen) { |
&drag_bounds); |
widget->SetVisibilityChangedAnimationsEnabled(true); |
} |
- RunMoveLoop(GetWindowOffset(point_in_screen)); |
+ // Use the start point to initialize the move loop, otherwise the point |
+ // under the cursor will be offset by the drag threshold from where the |
+ // user originally clicked, which could be entirely off the window. |
+ RunMoveLoop(GetWindowOffset(start_point_in_screen_)); |
return; |
} |
} |