Page MenuHomePhabricator

Fix an issue where drag positions could get out of sync after scrolling
ClosedPublic

Authored by epriestley on Feb 1 2016, 8:51 PM.
Tags
None
Referenced Files
F13126189: D15157.diff
Tue, Apr 30, 2:02 PM
Unknown Object (File)
Mon, Apr 29, 4:00 PM
Unknown Object (File)
Wed, Apr 24, 11:51 PM
Unknown Object (File)
Fri, Apr 19, 4:09 PM
Unknown Object (File)
Thu, Apr 11, 8:07 AM
Unknown Object (File)
Mar 31 2024, 4:14 AM
Unknown Object (File)
Mar 28 2024, 4:05 PM
Unknown Object (File)
Mar 21 2024, 3:48 AM
Subscribers
None

Details

Summary

Ref T5240. Currently, we calculate drag positions assuming the "ghost" element is not present (it isn't, usually), then adjust them while dragging to account for the ghost.

However, this fails after scrolling: we dirty the cache, but the ghost is present. We continue adjusting for it, but essentially double-adjust. This leads to scroll positions being about 80-ish px off from where they should be.

Test Plan
  • Begin dragging a task in a long task list.
  • While dragging, use mousewheel to scroll to the bottom of the list.
  • Drag task downward through the list.
    • Before fix: ghost is off by, like, an inch or so.
    • After fix: ghost position is accurate to cursor position.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

epriestley retitled this revision from to Fix an issue where drag positions could get out of sync after scrolling.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.
chad edited edge metadata.
This revision is now accepted and ready to land.Feb 1 2016, 9:01 PM
This revision was automatically updated to reflect the committed changes.