• Yulun Wu's avatar
    Shelf dimming animation should be canceled for auto hidden shelf. · c31380ab
    Yulun Wu authored
    The hotseat widget was refactored to calculate its own opacity. As
    a result, we are seeing unintended behavior where SetDimmed() is setting
    the shelf opacity to 0 because the hotseat widget's CalculateOpacity()
    returns 0 in the auto hidden state.
    
    We are fixing this by:
    1. ignoring calls to SetDimmed when the shelf is in the hidden state. It
    doesn't make any sense to modify animate opacity of something hidden.
    
    2. setting up an auto-hide lock while setting up opacity animations.
    This prevents the auto hide state from changing during animation setup.
    
    
    3. Activating/undimming the shelf when it is no longer auto hidden.
    
    Bug: 1081835
    Change-Id: I87ccf82947d1ca98a154c718f63413ae60a03fb3
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2207976
    Commit-Queue: Yulun Wu <yulunwu@chromium.org>
    Reviewed-by: default avatarYulun Wu <yulunwu@chromium.org>
    Reviewed-by: default avatarToni Baržić <tbarzic@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#770888}
    c31380ab
shelf.cc 23.2 KB