• Dana Fried's avatar
    Refresh tab group visuals after selection change. · 0d47b3c2
    Dana Fried authored
    When the selected tab in a tab group changes, the length of the group
    underline may need to change. This was not happening, resulting in the
    attached bug.
    
    This CL refactors TabStrip::SetSelection() in a handful of small ways:
    - makes old selected tab and new selected tab explicit local variables
    - simplifies conditional logic slightly
    - makes an implicit assumption that new selected tab is valid explicit
      * there had been a check in one place for an invalid index
      * however, it just blindly dereferences it later in the function which
        would have caused a crash
    - when active tab changes, if either tab was in a group, recalculates
      group underline and highlight bounds via UpdateTabGroupVisuals()
    
    Fixed: 1098392
    Change-Id: Ib4b41bd8ce3e7c601d0329cef9d96b8d5846d7b9
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2261166
    Commit-Queue: Dana Fried <dfried@chromium.org>
    Commit-Queue: Connie Wan <connily@chromium.org>
    Auto-Submit: Dana Fried <dfried@chromium.org>
    Reviewed-by: default avatarConnie Wan <connily@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#781533}
    0d47b3c2
tab_strip.cc 130 KB