Index: components/sessions/core/persistent_tab_restore_service.cc |
diff --git a/components/sessions/core/persistent_tab_restore_service.cc b/components/sessions/core/persistent_tab_restore_service.cc |
index d9266e74d7cad5b8485877b15e9ef4c1c194c1e7..c50da6f41653df8ebcc9c6dee6283426290f4486 100644 |
--- a/components/sessions/core/persistent_tab_restore_service.cc |
+++ b/components/sessions/core/persistent_tab_restore_service.cc |
@@ -20,6 +20,7 @@ |
#include "base/stl_util.h" |
#include "base/task/cancelable_task_tracker.h" |
#include "base/time/time.h" |
+#include "base/trace_event/memory_dump_manager.h" |
#include "components/sessions/core/base_session_service.h" |
#include "components/sessions/core/base_session_service_commands.h" |
#include "components/sessions/core/base_session_service_delegate.h" |
@@ -890,9 +891,16 @@ PersistentTabRestoreService::PersistentTabRestoreService( |
delegate_(new Delegate(client_.get())), |
helper_(this, delegate_.get(), client_.get(), time_factory) { |
delegate_->set_tab_restore_service_helper(&helper_); |
+ base::trace_event::MemoryDumpManager::GetInstance()->RegisterDumpProvider( |
+ &helper_, |
+ "PersistentTabRestoreService", |
+ base::ThreadTaskRunnerHandle::Get()); |
} |
-PersistentTabRestoreService::~PersistentTabRestoreService() {} |
+PersistentTabRestoreService::~PersistentTabRestoreService() { |
+ base::trace_event::MemoryDumpManager::GetInstance()->UnregisterDumpProvider( |
+ &helper_); |
+} |
void PersistentTabRestoreService::AddObserver( |
TabRestoreServiceObserver* observer) { |