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

Unified Diff: chrome/browser/sync/glue/sync_backend_host.cc

Issue 23754021: Invalidation trickles mega-patch (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 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/glue/sync_backend_host.cc
diff --git a/chrome/browser/sync/glue/sync_backend_host.cc b/chrome/browser/sync/glue/sync_backend_host.cc
index 2f91728d69096ca2a55838b0e751a67550093421..e1eabe0e96df453874d67e92a618b8fdfe8ea579 100644
--- a/chrome/browser/sync/glue/sync_backend_host.cc
+++ b/chrome/browser/sync/glue/sync_backend_host.cc
@@ -20,8 +20,8 @@
#include "base/tracked_objects.h"
#include "build/build_config.h"
#include "chrome/browser/invalidation/invalidation_service.h"
-#include "chrome/browser/invalidation/invalidation_service_factory.h"
#include "chrome/browser/chrome_notification_types.h"
+#include "chrome/browser/invalidation/invalidation_service_factory.h"
#include "chrome/browser/net/network_time_tracker.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/signin/token_service.h"
@@ -52,6 +52,7 @@
#include "sync/internal_api/public/sync_manager_factory.h"
#include "sync/internal_api/public/util/experiments.h"
#include "sync/internal_api/public/util/sync_string_conversions.h"
+#include "sync/notifier/object_id_invalidation_map.h"
#include "sync/protocol/encryption.pb.h"
#include "sync/protocol/sync.pb.h"
#include "sync/util/nigori.h"
@@ -1494,15 +1495,9 @@ void SyncBackendHost::OnInvalidatorStateChange(syncer::InvalidatorState state) {
void SyncBackendHost::OnIncomingInvalidation(
const syncer::ObjectIdInvalidationMap& invalidation_map) {
- // TODO(dcheng): Acknowledge immediately for now. Fix this once the
- // invalidator doesn't repeatedly ping for unacknowledged invaliations, since
- // it conflicts with the sync scheduler's internal backoff algorithm.
- // See http://crbug.com/124149 for more information.
- for (syncer::ObjectIdInvalidationMap::const_iterator it =
- invalidation_map.begin(); it != invalidation_map.end(); ++it) {
- invalidator_->AcknowledgeInvalidation(it->first, it->second.ack_handle);
- }
-
+ // TODO(rlarocque): Acknowledge these invalidations only after the syncer has
+ // acted on them and saved the results to disk.
+ invalidation_map.AcknowledgeAll();
registrar_->sync_thread()->message_loop()->PostTask(
FROM_HERE,
base::Bind(&SyncBackendHost::Core::DoOnIncomingInvalidation,
« no previous file with comments | « chrome/browser/sync/glue/sync_backend_host.h ('k') | chrome/browser/sync/glue/sync_backend_host_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698