Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(273)

Unified Diff: components/sync_driver/fake_data_type_controller.cc

Issue 585643003: [Sync] Fix error handling during startup scenarios (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix test Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/sync_driver/fake_data_type_controller.cc
diff --git a/components/sync_driver/fake_data_type_controller.cc b/components/sync_driver/fake_data_type_controller.cc
index 3fb646c51644427a010f8dce3d750c9db04ff6ef..74af3b3b235e52ac3c494756140c11ff42d41d4d 100644
--- a/components/sync_driver/fake_data_type_controller.cc
+++ b/components/sync_driver/fake_data_type_controller.cc
@@ -24,6 +24,7 @@ FakeDataTypeController::~FakeDataTypeController() {
// NOT_RUNNING ->MODEL_LOADED |MODEL_STARTING.
void FakeDataTypeController::LoadModels(
const ModelLoadCallback& model_load_callback) {
+ model_load_callback_ = model_load_callback;
if (state_ != NOT_RUNNING) {
ADD_FAILURE();
return;
@@ -36,7 +37,6 @@ void FakeDataTypeController::LoadModels(
state_ = MODEL_LOADED;
model_load_callback.Run(type(), load_error_);
} else {
- model_load_callback_ = model_load_callback;
state_ = MODEL_STARTING;
}
}
@@ -126,10 +126,8 @@ DataTypeController::State FakeDataTypeController::state() const {
void FakeDataTypeController::OnSingleDataTypeUnrecoverableError(
const syncer::SyncError& error) {
- syncer::SyncMergeResult local_merge_result(type());
- local_merge_result.set_error(error);
- last_start_callback_.Run(
- RUNTIME_ERROR, local_merge_result, syncer::SyncMergeResult(type_));
+ if (!model_load_callback_.is_null())
+ model_load_callback_.Run(type(), error);
}
bool FakeDataTypeController::ReadyForStart() const {
@@ -145,9 +143,7 @@ void FakeDataTypeController::SetModelLoadError(syncer::SyncError error) {
}
void FakeDataTypeController::SimulateModelLoadFinishing() {
- ModelLoadCallback model_load_callback = model_load_callback_;
- model_load_callback.Run(type(), load_error_);
- model_load_callback_.Reset();
+ model_load_callback_.Run(type(), load_error_);
}
void FakeDataTypeController::SetReadyForStart(bool ready) {
« no previous file with comments | « components/sync_driver/data_type_manager_impl_unittest.cc ('k') | components/sync_driver/model_association_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698