| Index: base/trace_event/memory_dump_manager_unittest.cc
|
| diff --git a/base/trace_event/memory_dump_manager_unittest.cc b/base/trace_event/memory_dump_manager_unittest.cc
|
| index 0da230a7ec2038c0537cb2311f63d710ade76843..e8c33af3e06b935a80911bf049ff3d6e8c3c4b01 100644
|
| --- a/base/trace_event/memory_dump_manager_unittest.cc
|
| +++ b/base/trace_event/memory_dump_manager_unittest.cc
|
| @@ -1266,5 +1266,22 @@ TEST_F(MemoryDumpManagerTest, TestBackgroundTracingSetup) {
|
| DisableTracing();
|
| }
|
|
|
| +TEST_F(MemoryDumpManagerTest, TestBlacklistedUnsafeUnregistration) {
|
| + InitializeMemoryDumpManager(false /* is_coordinator */);
|
| + MockMemoryDumpProvider mdp1;
|
| + RegisterDumpProvider(&mdp1, nullptr, kDefaultOptions,
|
| + "BlacklistTestDumpProvider");
|
| + // Not calling UnregisterAndDeleteDumpProviderSoon() should not crash.
|
| + mdm_->UnregisterDumpProvider(&mdp1);
|
| +
|
| + Thread thread("test thread");
|
| + thread.Start();
|
| + RegisterDumpProvider(&mdp1, thread.task_runner(), kDefaultOptions,
|
| + "BlacklistTestDumpProvider");
|
| + // Unregistering on wrong thread should not crash.
|
| + mdm_->UnregisterDumpProvider(&mdp1);
|
| + thread.Stop();
|
| +}
|
| +
|
| } // namespace trace_event
|
| } // namespace base
|
|
|