Index: base/trace_event/memory_dump_manager.h |
diff --git a/base/trace_event/memory_dump_manager.h b/base/trace_event/memory_dump_manager.h |
index 8a9b3b7e95a414dc72d3b17333199ff97d0bf21f..04d0135e9cdecdd13fe53958db8e40621ceb871c 100644 |
--- a/base/trace_event/memory_dump_manager.h |
+++ b/base/trace_event/memory_dump_manager.h |
@@ -49,6 +49,12 @@ class BASE_EXPORT MemoryDumpManager : public TraceLog::EnabledStateObserver { |
void OnTraceLogEnabled() override; |
void OnTraceLogDisabled() override; |
+ // Returns the MemoryDumpProvider which is currently being dumping into a |
+ // ProcessMemoryDump via DumpInto(...) if any, nullptr otherwise. |
+ MemoryDumpProvider* dump_provider_currently_active() const { |
+ return dump_provider_currently_active_; |
+ } |
+ |
private: |
friend struct DefaultDeleter<MemoryDumpManager>; // For the testing instance. |
friend struct DefaultSingletonTraits<MemoryDumpManager>; |
@@ -70,6 +76,9 @@ class BASE_EXPORT MemoryDumpManager : public TraceLog::EnabledStateObserver { |
std::vector<MemoryDumpProvider*> dump_providers_registered_; // Not owned. |
std::vector<MemoryDumpProvider*> dump_providers_enabled_; // Not owned. |
+ // TODO(primiano): this is required only until crbug.com/466121 gets fixed. |
+ MemoryDumpProvider* dump_provider_currently_active_; // Now owned. |
+ |
// Protects from concurrent accesses to the |dump_providers_*|, e.g., tearing |
// down logging while creating a dump point on another thread. |
Lock lock_; |