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

Unified Diff: chrome/browser/sync/invalidations/invalidator_storage.cc

Issue 10824140: Add InvalidationStateTracker::Forget() to erase an entry from storage. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix sync_client target Created 8 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: chrome/browser/sync/invalidations/invalidator_storage.cc
diff --git a/chrome/browser/sync/invalidations/invalidator_storage.cc b/chrome/browser/sync/invalidations/invalidator_storage.cc
index 5e2f8617871237bddcfef0edcbe6c561df749953..1dff6e795112075babf35b0294d3e9c0d6f084ef 100644
--- a/chrome/browser/sync/invalidations/invalidator_storage.cc
+++ b/chrome/browser/sync/invalidations/invalidator_storage.cc
@@ -116,6 +116,21 @@ void InvalidatorStorage::SetMaxVersion(const invalidation::ObjectId& id,
max_versions_list);
}
+void InvalidatorStorage::Forget(const syncer::ObjectIdSet& ids) {
+ DCHECK(thread_checker_.CalledOnValidThread());
+ CHECK(pref_service_);
+ InvalidationVersionMap max_versions = GetAllMaxVersions();
+ for (syncer::ObjectIdSet::const_iterator it = ids.begin(); it != ids.end();
+ ++it) {
+ max_versions.erase(*it);
+ }
+
+ base::ListValue max_versions_list;
+ SerializeToList(max_versions, &max_versions_list);
+ pref_service_->Set(prefs::kInvalidatorMaxInvalidationVersions,
+ max_versions_list);
+}
+
// static
void InvalidatorStorage::DeserializeFromList(
const base::ListValue& max_versions_list,

Powered by Google App Engine
This is Rietveld 408576698