| Index: net/http/http_network_session.cc
|
| diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc
|
| index 7d6fc01cf3b268f2c05333124e51909ffab69e31..58da933445e030e94aa3f3553eb87d9cfc04f506 100644
|
| --- a/net/http/http_network_session.cc
|
| +++ b/net/http/http_network_session.cc
|
| @@ -386,22 +386,19 @@ void HttpNetworkSession::DumpMemoryStats(
|
| std::string name = base::StringPrintf("net/http_network_session_%p", this);
|
| base::trace_event::MemoryAllocatorDump* http_network_session_dump =
|
| pmd->GetAllocatorDump(name);
|
| - // If memory dump already exists, it means that this is not the first
|
| - // DumpMemoryStats() invocation on this object and it is reached by another
|
| - // "parent." If that's the case, add an ownership edge and return early.
|
| - // This is needed because URLRequestContexts can share an HttpNetworkSession.
|
| - if (http_network_session_dump != nullptr) {
|
| - pmd->AddOwnershipEdge(pmd->GetAllocatorDump(parent_absolute_name)->guid(),
|
| - http_network_session_dump->guid());
|
| -
|
| - return;
|
| + if (http_network_session_dump == nullptr) {
|
| + http_network_session_dump = pmd->CreateAllocatorDump(name);
|
| + normal_socket_pool_manager_->DumpMemoryStats(
|
| + pmd, http_network_session_dump->absolute_name());
|
| + spdy_session_pool_.DumpMemoryStats(
|
| + pmd, http_network_session_dump->absolute_name());
|
| }
|
| - http_network_session_dump = pmd->CreateAllocatorDump(name);
|
| - normal_socket_pool_manager_->DumpMemoryStats(
|
| - pmd, http_network_session_dump->absolute_name());
|
| - spdy_session_pool_.DumpMemoryStats(
|
| - pmd, http_network_session_dump->absolute_name());
|
| - pmd->AddOwnershipEdge(pmd->GetAllocatorDump(parent_absolute_name)->guid(),
|
| + // Create an empty row under parent's dump so size can be attributed correctly
|
| + // if |this| is shared between URLRequestContexts.
|
| + base::trace_event::MemoryAllocatorDump* empty_row_dump =
|
| + pmd->CreateAllocatorDump(base::StringPrintf(
|
| + "%s/http_network_session", parent_absolute_name.c_str()));
|
| + pmd->AddOwnershipEdge(empty_row_dump->guid(),
|
| http_network_session_dump->guid());
|
| }
|
|
|
|
|