Description[Sync] Restore previous session if no tabbed windows present
First, adds logic to support restoring the in-memory representation of the local
session based on the previous synced version of that session. This involves
updating rewriting SessionIds and updating the SyncedSessionTracker on each
startup.
Second, adds logic to include the previously synced session as part of
reassociation if the current session have at least one tabbed window. This
addresses the issue in Android where a custom tab can be opened without the
original Chrome for Android session being restored. We still want to sync the
custom tab's data, but don't want to lose the old session.
Lastly, this fixes an issue where the default value for Sync ids that are
persisted outside of sync (e.g. in the Android Tab state) were being initialized
to 0. 0 Is a valid sync id, so initialize them to -1.
BUG=639009
Review-Url: https://codereview.chromium.org/2791183003
Cr-Commit-Position: refs/heads/master@{#465156}
Committed: https://chromium.googlesource.com/chromium/src/+/92d4a108882a01897d144d810bc22bcce20e9b46
Patch Set 1 #Patch Set 2 : Fix logging and android sync id #Patch Set 3 : Self review #
Total comments: 14
Patch Set 4 : Address comments #Patch Set 5 : Fix android compile #Patch Set 6 : Fix ios compile #
Total comments: 4
Patch Set 7 : Address missing TabNodeId references #Patch Set 8 : Fix android compile #Messages
Total messages: 31 (22 generated)
|