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

Unified Diff: chrome/browser/sync/js/js_mutation_event_observer.h

Issue 8586014: [Sync] Replace uses of ObserverListThreadSafe with WeakHandles (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 1 month 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/js/js_mutation_event_observer.h
diff --git a/chrome/browser/sync/js/js_mutation_event_observer.h b/chrome/browser/sync/js/js_mutation_event_observer.h
index ced1d91d9b35170d32c68c0a88e62ecff5e7a71b..c4d7d12ce4990890e39233938f5258b5a74959f9 100644
--- a/chrome/browser/sync/js/js_mutation_event_observer.h
+++ b/chrome/browser/sync/js/js_mutation_event_observer.h
@@ -10,6 +10,7 @@
#include "base/basictypes.h"
#include "base/compiler_specific.h"
+#include "base/memory/weak_ptr.h"
#include "base/threading/non_thread_safe.h"
#include "chrome/browser/sync/internal_api/sync_manager.h"
#include "chrome/browser/sync/syncable/transaction_observer.h"
@@ -34,6 +35,10 @@ class JsMutationEventObserver
virtual ~JsMutationEventObserver();
+ base::WeakPtr<JsMutationEventObserver> AsWeakPtr();
+
+ void InvalidateWeakPtrs();
+
void SetJsEventHandler(const WeakHandle<JsEventHandler>& event_handler);
// sync_api::SyncManager::ChangeObserver implementation.
@@ -56,6 +61,7 @@ class JsMutationEventObserver
private:
base::NonThreadSafe non_thread_safe_;
+ base::WeakPtrFactory<JsMutationEventObserver> weak_ptr_factory_;
WeakHandle<JsEventHandler> event_handler_;
void HandleJsEvent(

Powered by Google App Engine
This is Rietveld 408576698