Chromium Code Reviews| 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); |
| }; |