• Peter Kasting's avatar
    Fix several issues with tab opening/closing animations. · bebd497e
    Peter Kasting authored
    * During tab closure, don't modify whether the favicon is centered.  This
      prevents the favicon from appearing to slide left at the very end of tab
      closure.
    * When closing a tab, keep its left edge pinned to the right edge of the
      previous tab (to the degree currently possible; this goes awry when closing
      multiple tabs, see comments in code), instead of closing it wherever it is.
    * When opening or closing a tab, make the narrowest width the overlap width
      instead of zero.  This ensures the opened/closed tab animates its bounds at
      the same speed as the surrounding tabs.
    * When opening a tab, start with its left edge at the current right edge of the
      previous tab, instead of the ideal right edge.  This way when a tab is opened
      to the right of an existing tab that's shrinking to give it room, the new tab
      appears to expand into the available space instead of being overlapped in a
      strange way.
    * In AnimateToIdealBounds(), skip any views already animating to their updated
      ideal bounds.  This prevents hitches and discontiguous appearance when e.g.
      moving the mouse out of the strip while animating.
    
    Bug: none
    Change-Id: I8f87c9585dda778fafc53b8f38a7a475c107059b
    Reviewed-on: https://chromium-review.googlesource.com/1121793
    Commit-Queue: Peter Kasting <pkasting@chromium.org>
    Reviewed-by: default avatarAllen Bauer <kylixrd@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#572020}
    bebd497e
tab.cc 60.8 KB