Index: content/renderer/render_thread_impl.cc |
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc |
index 7686bdf32144e79a0c091ceb4492a9464ebdc884..30154cea9842c8ad2c0b558cbc468cf3d881f2e2 100644 |
--- a/content/renderer/render_thread_impl.cc |
+++ b/content/renderer/render_thread_impl.cc |
@@ -648,13 +648,19 @@ void RenderThreadImpl::Init( |
// Register this object as the main thread. |
ChildProcess::current()->set_main_thread(this); |
+ bool should_create_gpu_memory_buffer_manager = true; |
#if defined(USE_AURA) |
if (IsRunningInMash()) { |
gpu_service_ = |
ui::GpuService::Create(GetMojoShellConnection()->GetConnector(), |
ChildProcess::current()->io_task_runner()); |
+ should_create_gpu_memory_buffer_manager = false; |
} |
#endif |
+ if (should_create_gpu_memory_buffer_manager) { |
reveman
2016/10/03 21:47:44
nit: I think the overhead of creating this instanc
sadrul
2016/10/04 01:05:31
Done.
|
+ gpu_memory_buffer_manager_ = |
+ base::MakeUnique<ChildGpuMemoryBufferManager>(thread_safe_sender()); |
+ } |
InitializeWebKit(resource_task_queue); |
@@ -1638,7 +1644,10 @@ gpu::GpuMemoryBufferManager* RenderThreadImpl::GetGpuMemoryBufferManager() { |
if (gpu_service_) |
return gpu_service_->gpu_memory_buffer_manager(); |
#endif |
- return gpu_memory_buffer_manager(); |
+ if (!gpu_memory_buffer_manager_) { |
reveman
2016/10/03 21:47:44
remove this?
sadrul
2016/10/04 01:05:31
Sorry, I was sloppy. Removed.
|
+ } |
+ |
+ return gpu_memory_buffer_manager_.get(); |
} |
blink::scheduler::RendererScheduler* RenderThreadImpl::GetRendererScheduler() { |
@@ -1857,7 +1866,7 @@ scoped_refptr<gpu::GpuChannelHost> RenderThreadImpl::EstablishGpuChannelSync() { |
gpu_channel_ = |
gpu::GpuChannelHost::Create(this, client_id, gpu_info, channel_handle, |
ChildProcess::current()->GetShutDownEvent(), |
- gpu_memory_buffer_manager()); |
+ GetGpuMemoryBufferManager()); |
} else { |
#if defined(USE_AURA) |
gpu_channel_ = gpu_service_->EstablishGpuChannelSync(); |