desks_restore: Restore windows to their parent desks.
- 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:Ahmed Fakhry <afakhry@chromium.org> Reviewed-by:
Scott Violet <sky@chromium.org> Cr-Commit-Position: refs/heads/master@{#840778}
Showing
This diff is collapsed.
Please register or sign in to comment