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..e178d230d826dbbbfe171c43ec4bddff546327af 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" |
@@ -1081,6 +1082,11 @@ int BrowserMainLoop::BrowserThreadsStarted() { |
established_gpu_channel = always_uses_gpu = false; |
} |
BrowserGpuChannelHostFactory::Initialize(established_gpu_channel); |
+ // Register 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()); |
ImageTransportFactory::Initialize(); |
#if defined(USE_AURA) |
if (aura::Env::GetInstance()) { |