diff options
author | zea@chromium.org <zea@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-07 02:30:24 +0000 |
---|---|---|
committer | zea@chromium.org <zea@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-07 02:30:24 +0000 |
commit | 1f51ad94964af7f256ac1d762a04cfac1e9935c5 (patch) | |
tree | 621e43948dbd9825f0d1ab1f501ab0a91bbe9ede /sync/internal_api/public/sync_manager.h | |
parent | 3c372a1ae0e609691994bc74ade55175a3e2ea97 (diff) | |
download | chromium_src-1f51ad94964af7f256ac1d762a04cfac1e9935c5.zip chromium_src-1f51ad94964af7f256ac1d762a04cfac1e9935c5.tar.gz chromium_src-1f51ad94964af7f256ac1d762a04cfac1e9935c5.tar.bz2 |
[Sync] Allow enabling partial sets of types instead of blocking
Blocking the datatype manager when datatypes fail to start is a sign of
encryption issues, but is not fatal to sync. Therefore, it makes more sense
to sync what we can (particularly so we can receive birthday updates), while
marking those types with encryption problems as failed.
To accomplish this we move all automatic reconfiguration logic into the
data type manager itself, and add support for delayed association by
unapplying all types with cryptographer errors. This also lays the
groundwork for delayed association when a transaction version discrepancy
is detected.
BUG=238712
Review URL: https://chromiumcodereview.appspot.com/15013004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@204695 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sync/internal_api/public/sync_manager.h')
-rw-r--r-- | sync/internal_api/public/sync_manager.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/sync/internal_api/public/sync_manager.h b/sync/internal_api/public/sync_manager.h index d754bf0..3f961fb 100644 --- a/sync/internal_api/public/sync_manager.h +++ b/sync/internal_api/public/sync_manager.h @@ -375,16 +375,20 @@ class SYNC_EXPORT SyncManager { // syncer will remain in CONFIGURATION_MODE until StartSyncingNormally is // called. // Data whose types are not in |new_routing_info| are purged from sync - // directory. The purged data is backed up in delete journal for recovery in - // next session if its type is in |failed_types|. + // directory, unless they're part of |to_ignore|, in which case they're left + // untouched. The purged data is backed up in delete journal for recovery in + // next session if its type is in |to_journal|. If in |to_unapply| + // only the local data is removed; the server data is preserved. // |ready_task| is invoked when the configuration completes. // |retry_task| is invoked if the configuration job could not immediately // execute. |ready_task| will still be called when it eventually // does finish. virtual void ConfigureSyncer( ConfigureReason reason, - ModelTypeSet types_to_config, - ModelTypeSet failed_types, + ModelTypeSet to_download, + ModelTypeSet to_journal, + ModelTypeSet to_unapply, + ModelTypeSet to_ignore, const ModelSafeRoutingInfo& new_routing_info, const base::Closure& ready_task, const base::Closure& retry_task) = 0; |