summaryrefslogtreecommitdiffstats
path: root/sync/internal_api/public
diff options
context:
space:
mode:
authorhaitaol@chromium.org <haitaol@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-26 03:37:09 +0000
committerhaitaol@chromium.org <haitaol@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-26 03:37:09 +0000
commitdd67d4d2bc64f51837cd7faed95ded8a967e6cd0 (patch)
tree026481c92bad74a37451339814edb05932822c0b /sync/internal_api/public
parent8939915f067628c1fecad626dd506b0d8f2b1a0b (diff)
downloadchromium_src-dd67d4d2bc64f51837cd7faed95ded8a967e6cd0.zip
chromium_src-dd67d4d2bc64f51837cd7faed95ded8a967e6cd0.tar.gz
chromium_src-dd67d4d2bc64f51837cd7faed95ded8a967e6cd0.tar.bz2
Copy entries of broken (having unrecoverable error) data types to delete journals before purging.
BUG=121928 Review URL: https://chromiumcodereview.appspot.com/11578017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@179003 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sync/internal_api/public')
-rw-r--r--sync/internal_api/public/sync_manager.h4
-rw-r--r--sync/internal_api/public/test/fake_sync_manager.h1
2 files changed, 5 insertions, 0 deletions
diff --git a/sync/internal_api/public/sync_manager.h b/sync/internal_api/public/sync_manager.h
index 9ae1940..d7a5ce2 100644
--- a/sync/internal_api/public/sync_manager.h
+++ b/sync/internal_api/public/sync_manager.h
@@ -362,6 +362,9 @@ class SYNC_EXPORT SyncManager {
// any configuration tasks needed as determined by the params. Once complete,
// 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|.
// |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
@@ -369,6 +372,7 @@ class SYNC_EXPORT SyncManager {
virtual void ConfigureSyncer(
ConfigureReason reason,
ModelTypeSet types_to_config,
+ ModelTypeSet failed_types,
const ModelSafeRoutingInfo& new_routing_info,
const base::Closure& ready_task,
const base::Closure& retry_task) = 0;
diff --git a/sync/internal_api/public/test/fake_sync_manager.h b/sync/internal_api/public/test/fake_sync_manager.h
index 88e6360..ecbf3be 100644
--- a/sync/internal_api/public/test/fake_sync_manager.h
+++ b/sync/internal_api/public/test/fake_sync_manager.h
@@ -105,6 +105,7 @@ class FakeSyncManager : public SyncManager {
virtual void ConfigureSyncer(
ConfigureReason reason,
ModelTypeSet types_to_config,
+ ModelTypeSet failed_types,
const ModelSafeRoutingInfo& new_routing_info,
const base::Closure& ready_task,
const base::Closure& retry_task) OVERRIDE;