Index: media/blink/buffered_data_source.h |
diff --git a/media/blink/buffered_data_source.h b/media/blink/buffered_data_source.h |
index fc462b84ef69cf070bb77fbe07c5e7648fcb585d..85574a1514cce1359ee125c1acb7771531584c2b 100644 |
--- a/media/blink/buffered_data_source.h |
+++ b/media/blink/buffered_data_source.h |
@@ -235,6 +235,11 @@ class MEDIA_EXPORT BufferedDataSource : public DataSource { |
// NOTE: Weak pointers must be invalidated before all other member variables. |
base::WeakPtrFactory<BufferedDataSource> weak_factory_; |
+ // Disallow rebinding WeakReference ownership to a different thread by keeping |
+ // a persistent reference. This avoids problems with the thread-safety of |
+ // reaching into this class from multiple threads to attain a WeakPtr. |
+ const base::WeakPtr<BufferedDataSource> weak_ptr_; |
+ |
DISALLOW_COPY_AND_ASSIGN(BufferedDataSource); |
}; |