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

Unified Diff: chrome/browser/sync/engine/syncer_util.cc

Issue 8366030: Introduce the plumbing necessary to report Unrecoverable error from model safe workers. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: For a high level review. Created 9 years, 2 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: chrome/browser/sync/engine/syncer_util.cc
diff --git a/chrome/browser/sync/engine/syncer_util.cc b/chrome/browser/sync/engine/syncer_util.cc
index 8b8e5eff80bb41bf5fe99f6fe5bc01ec9de7d5d2..6efaf0c4c6513ba4da7f313d2467b6c662af4ab7 100644
--- a/chrome/browser/sync/engine/syncer_util.cc
+++ b/chrome/browser/sync/engine/syncer_util.cc
@@ -362,7 +362,8 @@ UpdateAttemptResponse SyncerUtil::AttemptToUpdateEntry(
}
}
- SyncerUtil::UpdateLocalDataFromServerData(trans, entry);
+ if (!SyncerUtil::UpdateLocalDataFromServerData(trans, entry))
+ return FAILED_UPDATE;
return SUCCESS;
}
@@ -554,7 +555,7 @@ void SyncerUtil::SplitServerInformationIntoNewEntry(
// This function is called on an entry when we can update the user-facing data
// from the server data.
// static
-void SyncerUtil::UpdateLocalDataFromServerData(
+bool SyncerUtil::UpdateLocalDataFromServerData(
syncable::WriteTransaction* trans,
syncable::MutableEntry* entry) {
DCHECK(!entry->Get(IS_UNSYNCED));
@@ -572,11 +573,12 @@ void SyncerUtil::UpdateLocalDataFromServerData(
} else {
entry->Put(NON_UNIQUE_NAME, entry->Get(SERVER_NON_UNIQUE_NAME));
entry->Put(PARENT_ID, entry->Get(SERVER_PARENT_ID));
- CHECK(entry->Put(IS_DEL, false));
+ if (!entry->Put(IS_DEL, false))
+ return false;
Id new_predecessor =
entry->ComputePrevIdFromServerPosition(entry->Get(SERVER_PARENT_ID));
- CHECK(entry->PutPredecessor(new_predecessor))
- << " Illegal predecessor after converting from server position.";
+ if (!entry->PutPredecessor(new_predecessor))
+ return false;
}
entry->Put(CTIME, entry->Get(SERVER_CTIME));
@@ -584,6 +586,8 @@ void SyncerUtil::UpdateLocalDataFromServerData(
entry->Put(BASE_VERSION, entry->Get(SERVER_VERSION));
entry->Put(IS_DEL, entry->Get(SERVER_IS_DEL));
entry->Put(IS_UNAPPLIED_UPDATE, false);
+
+ return true;
}
// static

Powered by Google App Engine
This is Rietveld 408576698