Index: content/browser/browser_main_loop.cc |
diff --git a/content/browser/browser_main_loop.cc b/content/browser/browser_main_loop.cc |
index f5b0f188e13e5a8b4964e96f7e5e2632aa25c3d0..60d07ee283ccef5d539cfee3af4a70ab3fa8fb92 100644 |
--- a/content/browser/browser_main_loop.cc |
+++ b/content/browser/browser_main_loop.cc |
@@ -28,6 +28,7 @@ |
#include "content/browser/download/save_file_manager.h" |
#include "content/browser/gamepad/gamepad_service.h" |
#include "content/browser/gpu/browser_gpu_channel_host_factory.h" |
+#include "content/browser/gpu/browser_gpu_memory_buffer_manager.h" |
#include "content/browser/gpu/compositor_util.h" |
#include "content/browser/gpu/gpu_data_manager_impl.h" |
#include "content/browser/gpu/gpu_process_host.h" |
@@ -1093,6 +1094,12 @@ int BrowserMainLoop::BrowserThreadsStarted() { |
BrowserGpuChannelHostFactory::Initialize(established_gpu_channel); |
#endif |
+ // Enable the GpuMemoryBuffer dump provider with IO thread affinity. Note that |
+ // unregistration happens on the IO thread (See |
+ // BrowserProcessSubThread::IOThreadPreCleanUp). |
+ base::trace_event::MemoryDumpManager::GetInstance()->RegisterDumpProvider( |
+ BrowserGpuMemoryBufferManager::current(), io_thread_->task_runner()); |
+ |
{ |
TRACE_EVENT0("startup", "BrowserThreadsStarted::Subsystem:AudioMan"); |
audio_manager_.reset(media::AudioManager::CreateWithHangTimer( |