Index: base/observer_list_unittest.cc |
diff --git a/base/observer_list_unittest.cc b/base/observer_list_unittest.cc |
index d0d2001e3f8dc0465b0236a702b56b192227ba3f..4539d2e6435fb5a95679ffea4209bcda1ed04c49 100644 |
--- a/base/observer_list_unittest.cc |
+++ b/base/observer_list_unittest.cc |
@@ -357,6 +357,18 @@ TEST(ObserverListThreadSafeTest, CrossThreadNotifications) { |
ThreadSafeObserverHarness(3, true); |
} |
+TEST(ObserverListThreadSafeTest, OutlivesMessageLoop) { |
+ MessageLoop* loop = new MessageLoop; |
+ scoped_refptr<ObserverListThreadSafe<Foo> > observer_list( |
+ new ObserverListThreadSafe<Foo>); |
+ |
+ Adder a(1); |
+ observer_list->AddObserver(&a); |
+ delete loop; |
+ // Test passes if we don't crash here. |
+ observer_list->Notify(&Foo::Observe, 1); |
+} |
+ |
TEST(ObserverListTest, Existing) { |
ObserverList<Foo> observer_list(ObserverList<Foo>::NOTIFY_EXISTING_ONLY); |
Adder a(1); |