Index: content/child/web_process_memory_dump_impl.h |
diff --git a/content/child/web_process_memory_dump_impl.h b/content/child/web_process_memory_dump_impl.h |
index 221db61f1f6dee494656ab52d00eca007308b724..cdd60784099bb21cb84d8b662d279979333b738e 100644 |
--- a/content/child/web_process_memory_dump_impl.h |
+++ b/content/child/web_process_memory_dump_impl.h |
@@ -7,17 +7,22 @@ |
#include "base/containers/scoped_ptr_hash_map.h" |
#include "base/gtest_prod_util.h" |
-#include "base/memory/scoped_ptr.h" |
+#include "base/memory/scoped_vector.h" |
#include "content/common/content_export.h" |
#include "third_party/WebKit/public/platform/WebProcessMemoryDump.h" |
namespace base { |
namespace trace_event { |
class MemoryAllocatorDump; |
+struct MemoryDumpArgs; |
class ProcessMemoryDump; |
} // namespace base |
} // namespace trace_event |
+namespace skia { |
+class SkTraceMemoryDump_Chrome; |
+} // namespace skia |
+ |
namespace content { |
class WebMemoryAllocatorDumpImpl; |
@@ -34,6 +39,7 @@ class CONTENT_EXPORT WebProcessMemoryDumpImpl final |
// Wraps (without owning) an existing ProcessMemoryDump. |
explicit WebProcessMemoryDumpImpl( |
+ const base::trace_event::MemoryDumpArgs* dump_args, |
base::trace_event::ProcessMemoryDump* process_memory_dump); |
virtual ~WebProcessMemoryDumpImpl(); |
@@ -53,6 +59,10 @@ class CONTENT_EXPORT WebProcessMemoryDumpImpl final |
int importance); |
virtual void AddOwnershipEdge(blink::WebMemoryAllocatorDumpGuid source, |
blink::WebMemoryAllocatorDumpGuid target); |
+ virtual void AddSuballocation(blink::WebMemoryAllocatorDumpGuid source, |
+ const blink::WebString& targetNodeName); |
+ virtual SkTraceMemoryDump* CreateDumpAdapterForSkia( |
+ const blink::WebString& dumpNamePrefix); |
const base::trace_event::ProcessMemoryDump* process_memory_dump() const { |
return process_memory_dump_; |
@@ -71,6 +81,9 @@ class CONTENT_EXPORT WebProcessMemoryDumpImpl final |
// createMemoryAllocatorDump() calls will be proxied to. |
base::trace_event::ProcessMemoryDump* process_memory_dump_; // Not owned. |
+ // TODO(ssid): Remove it once this information is added to ProcessMemoryDump. |
+ const base::trace_event::MemoryDumpArgs* dump_args_; |
Primiano Tucci (use gerrit)
2015/09/10 11:11:13
since MDArgs is very small and cheap to copy, can
|
+ |
// Reverse index of MemoryAllocatorDump -> WebMemoryAllocatorDumpImpl wrapper. |
// By design WebMemoryDumpProvider(s) are not supposed to hold the pointer |
// to the WebProcessMemoryDump passed as argument of the onMemoryDump() call. |
@@ -80,6 +93,9 @@ class CONTENT_EXPORT WebProcessMemoryDumpImpl final |
scoped_ptr<WebMemoryAllocatorDumpImpl>> |
memory_allocator_dumps_; |
+ // Stores SkTraceMemoryDump for the current ProcessMemoryDump. |
+ ScopedVector<skia::SkTraceMemoryDump_Chrome> sk_trace_dump_list_; |
+ |
DISALLOW_COPY_AND_ASSIGN(WebProcessMemoryDumpImpl); |
}; |