• Toni Barzic's avatar
    Prepare shelf layout manager for shutdown earlier · 97dfeb90
    Toni Barzic authored
    Starts shelf layout manager shutdown earlier at the beginning of shell
    shutdown sequence (during OnShellDestroying call issued to shell
    observers when the shell tear down starts).
    
    The main goal is to prevent shelf state updates that might happen during
    shutdown. For example, tablet mode controller destruction, and overview
    controller destruction might cause window stacking changes, that in
    turn can cause shelf state updates - both of which happen before
    Shell::CloseAllRootWindowChildWindows(), which is from where
    ShelfLayoutManager::PrepareForShutdown is currently called (with some
    indirection).
    
    NOTE: Calls to start shelf shutdown issued from
    RootWindowController::CloseChildWindows() are kept around to handle root
    window controller shutdowns that happen outside shell shutdown.
    
    BUG=1033343
    
    Change-Id: I86211392b45bdafd5f095bd60c774fe88e8accce
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2015358Reviewed-by: default avatarXiyuan Xia <xiyuan@chromium.org>
    Commit-Queue: Toni Baržić <tbarzic@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#734253}
    97dfeb90
shelf_layout_manager.h 27.4 KB