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

Unified Diff: sync/notifier/non_blocking_invalidator.h

Issue 221963003: Reduce dependency of TiclInvalidationService on Profile (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Made InvalidationStateTracker not vend WeakPtrs. Created 6 years, 8 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_invalidator.h
diff --git a/sync/notifier/non_blocking_invalidator.h b/sync/notifier/non_blocking_invalidator.h
index 47bd216f9d2a82a75c54f76839b3ec848f2d31bd..a0410c20d2c9cae502c333dd3d8b824f8871853e 100644
--- a/sync/notifier/non_blocking_invalidator.h
+++ b/sync/notifier/non_blocking_invalidator.h
@@ -17,7 +17,6 @@
#include "base/memory/weak_ptr.h"
#include "jingle/notifier/base/notifier_options.h"
#include "sync/base/sync_export.h"
-#include "sync/internal_api/public/util/weak_handle.h"
#include "sync/notifier/invalidation_handler.h"
#include "sync/notifier/invalidation_state_tracker.h"
#include "sync/notifier/invalidator.h"
@@ -41,14 +40,13 @@ class SYNC_EXPORT_PRIVATE NonBlockingInvalidator
// InvalidationHandler to "observe" our Core via WeakHandle.
public InvalidationHandler {
public:
- // |invalidation_state_tracker| must be initialized.
+ // |invalidation_state_tracker| must be initialized and must outlive |this|.
NonBlockingInvalidator(
NetworkChannelCreator network_channel_creator,
const std::string& invalidator_client_id,
const UnackedInvalidationsMap& saved_invalidations,
const std::string& invalidation_bootstrap_data,
- const WeakHandle<InvalidationStateTracker>&
- invalidation_state_tracker,
+ InvalidationStateTracker* invalidation_state_tracker,
const std::string& client_info,
const scoped_refptr<net::URLRequestContextGetter>&
request_context_getter);
@@ -94,6 +92,8 @@ class SYNC_EXPORT_PRIVATE NonBlockingInvalidator
scoped_refptr<base::SingleThreadTaskRunner> parent_task_runner_;
scoped_refptr<base::SingleThreadTaskRunner> network_task_runner_;
+ base::WeakPtrFactory<InvalidationStateTracker>
+ invalidation_state_tracker_weak_ptr_factory_;
base::WeakPtrFactory<NonBlockingInvalidator> weak_ptr_factory_;
DISALLOW_COPY_AND_ASSIGN(NonBlockingInvalidator);

Powered by Google App Engine
This is Rietveld 408576698