| Index: components/sync/engine_impl/model_type_worker.cc
|
| diff --git a/components/sync/engine_impl/model_type_worker.cc b/components/sync/engine_impl/model_type_worker.cc
|
| index 0536334f608f55f6f445945e51593f551df706c7..b834a6871e9382abfc3b4dd5fbd1a07ee73f834e 100644
|
| --- a/components/sync/engine_impl/model_type_worker.cc
|
| +++ b/components/sync/engine_impl/model_type_worker.cc
|
| @@ -28,6 +28,7 @@ namespace syncer {
|
| ModelTypeWorker::ModelTypeWorker(
|
| ModelType type,
|
| const sync_pb::ModelTypeState& initial_state,
|
| + bool trigger_initial_sync,
|
| std::unique_ptr<Cryptographer> cryptographer,
|
| NudgeHandler* nudge_handler,
|
| std::unique_ptr<ModelTypeProcessor> model_type_processor,
|
| @@ -42,7 +43,7 @@ ModelTypeWorker::ModelTypeWorker(
|
| DCHECK(model_type_processor_);
|
|
|
| // Request an initial sync if it hasn't been completed yet.
|
| - if (!model_type_state_.initial_sync_done()) {
|
| + if (trigger_initial_sync) {
|
| nudge_handler_->NudgeForInitialDownload(type_);
|
| }
|
|
|
| @@ -312,6 +313,15 @@ void ModelTypeWorker::OnCommitResponse(CommitResponseDataList* response_list) {
|
| model_type_processor_->OnCommitCompleted(model_type_state_, *response_list);
|
| }
|
|
|
| +void ModelTypeWorker::AbortMigration() {
|
| + DCHECK(!model_type_state_.initial_sync_done());
|
| + model_type_state_ = sync_pb::ModelTypeState();
|
| + entities_.clear();
|
| + pending_updates_.clear();
|
| + has_encrypted_updates_ = false;
|
| + nudge_handler_->NudgeForInitialDownload(type_);
|
| +}
|
| +
|
| base::WeakPtr<ModelTypeWorker> ModelTypeWorker::AsWeakPtr() {
|
| return weak_ptr_factory_.GetWeakPtr();
|
| }
|
|
|