| 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 2042d25866c438fced29f2ef1242445cbc5d6605..693de3af5131325ea2cadd6ecc0193a07187c286 100644
|
| --- a/content/child/web_process_memory_dump_impl.h
|
| +++ b/content/child/web_process_memory_dump_impl.h
|
| @@ -8,6 +8,8 @@
|
| #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 "base/trace_event/memory_dump_request_args.h"
|
| #include "content/common/content_export.h"
|
| #include "third_party/WebKit/public/platform/WebProcessMemoryDump.h"
|
|
|
| @@ -18,6 +20,10 @@ class ProcessMemoryDump;
|
| } // namespace base
|
| } // namespace trace_event
|
|
|
| +namespace skia {
|
| +class SkTraceMemoryDump_Chrome;
|
| +} // namespace skia
|
| +
|
| namespace content {
|
|
|
| class WebMemoryAllocatorDumpImpl;
|
| @@ -34,6 +40,7 @@ class CONTENT_EXPORT WebProcessMemoryDumpImpl final
|
|
|
| // Wraps (without owning) an existing ProcessMemoryDump.
|
| explicit WebProcessMemoryDumpImpl(
|
| + base::trace_event::MemoryDumpLevelOfDetail level_of_detail,
|
| base::trace_event::ProcessMemoryDump* process_memory_dump);
|
|
|
| ~WebProcessMemoryDumpImpl() override;
|
| @@ -53,6 +60,11 @@ class CONTENT_EXPORT WebProcessMemoryDumpImpl final
|
| int importance) override;
|
| void AddOwnershipEdge(blink::WebMemoryAllocatorDumpGuid source,
|
| blink::WebMemoryAllocatorDumpGuid target) override;
|
| + virtual void AddSuballocation(
|
| + blink::WebMemoryAllocatorDumpGuid source,
|
| + const blink::WebString& targetNodeName) override;
|
| + virtual SkTraceMemoryDump* CreateDumpAdapterForSkia(
|
| + const blink::WebString& dumpNamePrefix) override;
|
|
|
| const base::trace_event::ProcessMemoryDump* process_memory_dump() const {
|
| return process_memory_dump_;
|
| @@ -71,6 +83,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.
|
| + base::trace_event::MemoryDumpLevelOfDetail level_of_detail_;
|
| +
|
| // 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 +95,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);
|
| };
|
|
|
|
|