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

Unified Diff: components/reading_list/ios/reading_list_store.h

Issue 2553143002: Create a strict order in ReadingListSpecifics (Closed)
Patch Set: rebase Created 4 years 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/reading_list/ios/reading_list_store.h
diff --git a/components/reading_list/ios/reading_list_store.h b/components/reading_list/ios/reading_list_store.h
index ab90ca43d584cee4962e813e9dbc97d72adf9a81..4dd3cfe88bc71469738958370b52dfa4afb5b842 100644
--- a/components/reading_list/ios/reading_list_store.h
+++ b/components/reading_list/ios/reading_list_store.h
@@ -72,6 +72,21 @@ class ReadingListStore : public syncer::ModelTypeSyncBridge,
std::unique_ptr<syncer::MetadataChangeList> metadata_change_list,
syncer::EntityChangeList entity_changes) override;
+ // Returns whether entries respect a strict order for sync and if |rhs| can be
+ // submitted to sync after |lhs| has been received.
+ // The order should ensure that there is no sync loop in sync and should be
+ // submitted to sync in strictly increasing order.
+ // Entries are in increasing order if all the fields respect increasing order.
+ // - URL must be the same.
+ // - title must verify rhs.title.compare(lhs.title) >= 0
+ // - rhs.creation_time_us >= lhs.creation_time_us
+ // - rhs.update_time_us >= lhs.update_time_us
+ // - if rhs.update_time_us > lhs.update_time_us, rhs.state can be anything.
+ // - if rhs.update_time_us == lhs.update_time_us, rhs.state >= lhs.state in
+ // the order UNSEEN, UNREAD, READ.
+ static bool CompareEntriesForSync(const sync_pb::ReadingListSpecifics& lhs,
+ const sync_pb::ReadingListSpecifics& rhs);
+
// Asynchronously retrieve the corresponding sync data for |storage_keys|.
void GetData(StorageKeyList storage_keys, DataCallback callback) override;
« no previous file with comments | « components/reading_list/ios/reading_list_model_impl.cc ('k') | components/reading_list/ios/reading_list_store.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698