DescriptionPrepare SyncController to replace a downstream component.
SyncController handles the coordination of sync state
between the invalidation controller, the Android sync
settings, and the native sync code. Sync state can be
changed from four places:
- The Chrome UI, which will call SyncController directly.
- Native sync, which can disable it via a dashboard stop
and clear.
- Android's Chrome sync setting.
- Android's master sync setting.
SyncController implements listeners for the last three
cases. When master sync is disabled, we are careful to not
change the Android Chrome sync setting so we know whether
to turn sync back on when it is re-enabled.
BUG=428882
Committed: https://crrev.com/0a04eaa8dcaaad67cbcfa41d40bc994cbc89ce0b
Cr-Commit-Position: refs/heads/master@{#312533}
Patch Set 1 #Patch Set 2 : Fix imports and fix the state change listener. #Patch Set 3 : Fix test crash. #Patch Set 4 : Rebase. #
Total comments: 10
Patch Set 5 : Address comments. #Patch Set 6 : Only disable Android's Chrome sync setting if master sync is enabled. #Patch Set 7 : Try to upload the whole patch. #
Total comments: 4
Patch Set 8 : Move setupSessionSyncId to ChromeShell and fix re-enabling master sync. #Patch Set 9 : Fix chrome shell build. #
Total comments: 4
Patch Set 10 : Add better comment for syncStateChanged(). #Patch Set 11 : Add better class comment. #
Total comments: 2
Patch Set 12 : Remove first line of SyncController comment. #
Messages
Total messages: 15 (2 generated)
|