Chromium Code Reviews| Index: content/browser/dom_storage/dom_storage_namespace.cc |
| diff --git a/content/browser/dom_storage/dom_storage_namespace.cc b/content/browser/dom_storage/dom_storage_namespace.cc |
| index a8681b6e6c2b148491689f6c47b543172dbab08d..a78c43e518f3420fabf07d28c092824a6c51d13e 100644 |
| --- a/content/browser/dom_storage/dom_storage_namespace.cc |
| +++ b/content/browser/dom_storage/dom_storage_namespace.cc |
| @@ -7,6 +7,7 @@ |
| #include "base/bind.h" |
| #include "base/location.h" |
| #include "base/logging.h" |
| +#include "base/trace_event/memory_dump_manager.h" |
| #include "content/browser/dom_storage/dom_storage_area.h" |
| #include "content/browser/dom_storage/dom_storage_task_runner.h" |
| #include "content/browser/dom_storage/session_storage_database.h" |
| @@ -32,9 +33,16 @@ DOMStorageNamespace::DOMStorageNamespace( |
| task_runner_(task_runner), |
| session_storage_database_(session_storage_database) { |
| DCHECK_NE(kLocalStorageNamespaceId, namespace_id); |
| + base::trace_event::MemoryDumpManager::GetInstance() |
| + ->RegisterDumpProviderWithSequencedTaskRunner( |
| + this, "DOMStorage", task_runner_->GetSequencedTaskRunner( |
| + DOMStorageTaskRunner::PRIMARY_SEQUENCE), |
| + base::trace_event::MemoryDumpProvider::Options()); |
| } |
| DOMStorageNamespace::~DOMStorageNamespace() { |
| + base::trace_event::MemoryDumpManager::GetInstance()->UnregisterDumpProvider( |
| + this); |
| } |
| DOMStorageArea* DOMStorageNamespace::OpenStorageArea(const GURL& origin) { |
| @@ -176,6 +184,16 @@ unsigned int DOMStorageNamespace::CountInMemoryAreas() const { |
| return area_count; |
| } |
| +bool DOMStorageNamespace::OnMemoryDump( |
| + const base::trace_event::MemoryDumpArgs& args, |
| + base::trace_event::ProcessMemoryDump* pmd) { |
| + DCHECK(task_runner_->IsRunningOnPrimarySequence()); |
| + for (AreaMap::const_iterator it = areas_.begin(); it != areas_.end(); ++it) { |
|
Primiano Tucci (use gerrit)
2016/04/22 09:56:39
or if you prefer just
for (const auto& area : area
ssid
2016/04/22 23:28:16
Done.
|
| + it->second.area_->OnMemoryDump(pmd); |
| + } |
| + return true; |
| +} |
| + |
| DOMStorageNamespace::AreaHolder* |
| DOMStorageNamespace::GetAreaHolder(const GURL& origin) { |
| AreaMap::iterator found = areas_.find(origin); |