Index: Source/platform/heap/BlinkGCMemoryDumpProvider.h |
diff --git a/Source/platform/heap/BlinkGCMemoryDumpProvider.h b/Source/platform/heap/BlinkGCMemoryDumpProvider.h |
index 1ed934947dbb4b651a9b3213e8327a56b3d6108c..e20f28ea724725d2ecd174ff702f8715c9889a8f 100644 |
--- a/Source/platform/heap/BlinkGCMemoryDumpProvider.h |
+++ b/Source/platform/heap/BlinkGCMemoryDumpProvider.h |
@@ -7,8 +7,11 @@ |
#include "platform/PlatformExport.h" |
#include "public/platform/WebMemoryDumpProvider.h" |
+#include "wtf/OwnPtr.h" |
+#include "wtf/text/WTFString.h" |
namespace blink { |
+class WebMemoryAllocatorDump; |
class PLATFORM_EXPORT BlinkGCMemoryDumpProvider final : public WebMemoryDumpProvider { |
public: |
@@ -18,8 +21,19 @@ public: |
// WebMemoryDumpProvider implementation. |
bool onMemoryDump(WebProcessMemoryDump*) override; |
+ // The returned WebMemoryAllocatorDump is owned by |
+ // BlinkGCMemoryDumpProvider, and should not be retained (just used to |
+ // dump in the current call stack). |
+ WebMemoryAllocatorDump* createMemoryAllocatorDumpForCurrentGC(const String& absoluteName); |
+ |
+ // This must be called before taking a new process-wide GC snapshot, to |
+ // clear the previous dumps. |
+ void clearProcessDumpForCurrentGC(); |
+ |
private: |
BlinkGCMemoryDumpProvider(); |
+ |
+ OwnPtr<WebProcessMemoryDump> m_currentProcessMemoryDump; |
}; |
} // namespace blink |