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( |