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

Unified Diff: sync/notifier/non_blocking_invalidation_notifier.cc

Issue 10824252: Revert 150990 - [Sync] Avoid unregistering object IDs on shutdown (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 4 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: sync/notifier/non_blocking_invalidation_notifier.cc
===================================================================
--- sync/notifier/non_blocking_invalidation_notifier.cc (revision 150991)
+++ sync/notifier/non_blocking_invalidation_notifier.cc (working copy)
@@ -4,8 +4,6 @@
#include "sync/notifier/non_blocking_invalidation_notifier.h"
-#include <cstddef>
-
#include "base/location.h"
#include "base/logging.h"
#include "base/memory/scoped_ptr.h"
@@ -91,12 +89,12 @@
initial_invalidation_state,
invalidation_state_tracker,
client_info));
- invalidation_notifier_->RegisterHandler(this);
}
+
void NonBlockingInvalidationNotifier::Core::Teardown() {
DCHECK(network_task_runner_->BelongsToCurrentThread());
- invalidation_notifier_->UnregisterHandler(this);
+ invalidation_notifier_->UpdateRegisteredIds(this, ObjectIdSet());
invalidation_notifier_.reset();
network_task_runner_ = NULL;
}
@@ -185,33 +183,21 @@
}
}
-void NonBlockingInvalidationNotifier::RegisterHandler(
- SyncNotifierObserver* handler) {
- DCHECK(parent_task_runner_->BelongsToCurrentThread());
- registrar_.RegisterHandler(handler);
-}
-
void NonBlockingInvalidationNotifier::UpdateRegisteredIds(
- SyncNotifierObserver* handler,
- const ObjectIdSet& ids) {
+ SyncNotifierObserver* handler, const ObjectIdSet& ids) {
DCHECK(parent_task_runner_->BelongsToCurrentThread());
- registrar_.UpdateRegisteredIds(handler, ids);
+ const ObjectIdSet& all_registered_ids =
+ helper_.UpdateRegisteredIds(handler, ids);
if (!network_task_runner_->PostTask(
FROM_HERE,
base::Bind(
&NonBlockingInvalidationNotifier::Core::UpdateRegisteredIds,
core_.get(),
- registrar_.GetAllRegisteredIds()))) {
+ all_registered_ids))) {
NOTREACHED();
}
}
-void NonBlockingInvalidationNotifier::UnregisterHandler(
- SyncNotifierObserver* handler) {
- DCHECK(parent_task_runner_->BelongsToCurrentThread());
- registrar_.UnregisterHandler(handler);
-}
-
void NonBlockingInvalidationNotifier::SetUniqueId(
const std::string& unique_id) {
DCHECK(parent_task_runner_->BelongsToCurrentThread());
@@ -255,20 +241,20 @@
void NonBlockingInvalidationNotifier::OnNotificationsEnabled() {
DCHECK(parent_task_runner_->BelongsToCurrentThread());
- registrar_.EmitOnNotificationsEnabled();
+ helper_.EmitOnNotificationsEnabled();
}
void NonBlockingInvalidationNotifier::OnNotificationsDisabled(
NotificationsDisabledReason reason) {
DCHECK(parent_task_runner_->BelongsToCurrentThread());
- registrar_.EmitOnNotificationsDisabled(reason);
+ helper_.EmitOnNotificationsDisabled(reason);
}
void NonBlockingInvalidationNotifier::OnIncomingNotification(
const ObjectIdPayloadMap& id_payloads,
IncomingNotificationSource source) {
DCHECK(parent_task_runner_->BelongsToCurrentThread());
- registrar_.DispatchInvalidationsToHandlers(id_payloads, source);
+ helper_.DispatchInvalidationsToHandlers(id_payloads, source);
}
} // namespace syncer
« no previous file with comments | « sync/notifier/non_blocking_invalidation_notifier.h ('k') | sync/notifier/non_blocking_invalidation_notifier_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698