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 cc8e272a46a9d2ff07d447a846d00f41465985a5..1cb5ce2b4fb98031a347b212f798c7b658cfd76b 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; |
} |
} |