• Cattalyya Nuengsigkapian's avatar
    desks_restore: Restore windows to their parent desks. · 8c45e308
    Cattalyya Nuengsigkapian authored
    - save a workspace in window's property.
    - trigger saving to browser session when property is updated, but
    need force saving in `WindowOpened()` for newly created window.
    - restore each window to the right desk by assigning to the right
    parent desk container in `GetDefaultParentForWindow()`.
    - resolve desk activation conflict between browser session and
    an active desk restore by checking `IsSessionRestoreInProgress()`
    in ash to avoid every single window activation during restore.
    - resolve the parent desk conflict between the first restored window
    and a blank window by stop reusing the blank window for restore
    and always create a new window during restoration.
    - resolve clobbering tab restore by passing null browser when using
    desks restore feature.
    - add browser tests checking that each window restore to the parent
    desk if DesksRestore enabled, otherwise to the first desk, which is a
    default active desk after a crash.
    
    `browser_tests --gtest_filter=*SessionRestoreTestChromeOS*`
    
    Bug: 996999
    Test: Manual test (a video in crbug comment 27) and browser tests
    Change-Id: I0f9202e10a7b861a676725e7390b15fd71a00933
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2572316
    Commit-Queue: Cattalyya Nuengsigkapian <cattalyya@chromium.org>
    Reviewed-by: default avatarAhmed Fakhry <afakhry@chromium.org>
    Reviewed-by: default avatarScott Violet <sky@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#840778}
    8c45e308
chrome_shell_delegate.h 2.25 KB