Changing ideal bounds while tab bounds are animating causes glitches |
|||
Issue descriptionThis is tricky to repro without slowing down animations internally. (1) Add enough tabs that inactive tabs are narrower than active ones (2) Select one or more tabs, drag to the right edge of the strip, let go so they snap back into position (3) While this animation is occurring, change the ideal bounds of the tabs by hitting ctrl-1 to select the first tab in the strip (or any other tab; the tab selected doesn't matter as long as the bounds change) At this point the animating tabs continue to animate to their current target bounds, but the rest of the tabs get new bounds, so the tabs end up drawn overlapping until e.g. the strip is resized or some other action updates all the tab bounds. +CC sangwoo108 who's done work on other tab bounds layout glitches and might care about this.
,
May 31 2018
I know we can't clear the dragging bit while that animation back is happening or something bad happens (but I forget what).
,
Jun 6 2018
,
Jun 8 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a0d1989ee45f551651ad4f5f6189114da4c906b4 commit a0d1989ee45f551651ad4f5f6189114da4c906b4 Author: sangwoo.ko <sangwoo108@chromium.org> Date: Fri Jun 08 06:07:01 2018 Reset animation for dragged tabs. When dragging ends, an animation for tabs runs. If ideal bounds for tabs changes when the animation is running, We should restart animation with newly calculated bounds. Bug: 848016 Change-Id: I1b5fff8d3bcd02fbe2d39f847c77e9c5df3c01c2 Reviewed-on: https://chromium-review.googlesource.com/1084521 Commit-Queue: Sang Woo Ko <sangwoo108@chromium.org> Reviewed-by: Peter Kasting <pkasting@chromium.org> Cr-Commit-Position: refs/heads/master@{#565567} [modify] https://crrev.com/a0d1989ee45f551651ad4f5f6189114da4c906b4/chrome/browser/ui/views/tabs/tab_strip.cc [modify] https://crrev.com/a0d1989ee45f551651ad4f5f6189114da4c906b4/chrome/browser/ui/views/tabs/tab_strip_unittest.cc
,
Jun 8 2018
FYI, the bad thing from #2 is that new tab button can be painted atop previously dragged tabs when we clear the dragging bit during or before the animation. |
|||
►
Sign in to add a comment |
|||
Comment 1 by sangwoo108@chromium.org
, May 31 2018