| Index: sync/internal_api/sync_rollback_manager.cc
|
| diff --git a/sync/internal_api/sync_rollback_manager.cc b/sync/internal_api/sync_rollback_manager.cc
|
| index 240218d488f0f00a0b5ad2fb4e05f18a9fa2300a..84367b082b05de7e085b09c50c696c68d4935966 100644
|
| --- a/sync/internal_api/sync_rollback_manager.cc
|
| +++ b/sync/internal_api/sync_rollback_manager.cc
|
| @@ -67,8 +67,12 @@ void SyncRollbackManager::Init(
|
|
|
| void SyncRollbackManager::StartSyncingNormally(
|
| const ModelSafeRoutingInfo& routing_info){
|
| - std::map<ModelType, syncable::Directory::Metahandles> to_delete;
|
| + if (rollback_ready_types_.Empty()) {
|
| + NotifyRollbackDone();
|
| + return;
|
| + }
|
|
|
| + std::map<ModelType, syncable::Directory::Metahandles> to_delete;
|
| {
|
| WriteTransaction trans(FROM_HERE, GetUserShare());
|
| syncable::Directory::Metahandles unsynced;
|
| @@ -100,6 +104,8 @@ void SyncRollbackManager::StartSyncingNormally(
|
| base::Unretained(this),
|
| it->first, it->second));
|
| }
|
| +
|
| + NotifyRollbackDone();
|
| }
|
|
|
| SyncerError SyncRollbackManager::DeleteOnWorkerThread(
|
| @@ -130,4 +136,11 @@ SyncerError SyncRollbackManager::DeleteOnWorkerThread(
|
| return SYNCER_OK;
|
| }
|
|
|
| +void SyncRollbackManager::NotifyRollbackDone() {
|
| + SyncProtocolError error;
|
| + error.action = ROLLBACK_DONE;
|
| + FOR_EACH_OBSERVER(SyncManager::Observer, *GetObservers(),
|
| + OnActionableError(error));
|
| +}
|
| +
|
| } // namespace syncer
|
|
|