Chromium Code Reviews| Index: content/gpu/gpu_child_thread.cc |
| diff --git a/content/gpu/gpu_child_thread.cc b/content/gpu/gpu_child_thread.cc |
| index e40928cd82a696d4dc88f320beac678296625d1a..951d41aaf2e2e74cd90f45a0eb510139795c5586 100644 |
| --- a/content/gpu/gpu_child_thread.cc |
| +++ b/content/gpu/gpu_child_thread.cc |
| @@ -12,6 +12,7 @@ |
| #include "content/child/thread_safe_sender.h" |
| #include "content/common/gpu/gpu_memory_buffer_factory.h" |
| #include "content/common/gpu/gpu_messages.h" |
| +#include "content/gpu/gpu_process_control_impl.h" |
| #include "content/gpu/gpu_watchdog_thread.h" |
| #include "content/public/common/content_client.h" |
| #include "content/public/common/content_switches.h" |
| @@ -182,6 +183,12 @@ void GpuChildThread::Shutdown() { |
| void GpuChildThread::Init(const base::Time& process_start_time) { |
| process_start_time_ = process_start_time; |
| + |
| + process_control_.reset(new GpuProcessControlImpl()); |
| + // Use of base::Unretained(this) is safe here because |service_registry()| |
| + // and the message loop will be destroyed before GpuChildThread is destructed. |
|
piman
2015/10/08 22:37:02
To be clear, does that mean BindProcessControlRequ
xhwang
2015/10/09 23:36:35
Sorry I didn't make it clear. BindProcessControlRe
|
| + service_registry()->AddService(base::Bind( |
| + &GpuChildThread::BindProcessControlRequest, base::Unretained(this))); |
| } |
| bool GpuChildThread::Send(IPC::Message* msg) { |
| @@ -374,4 +381,10 @@ void GpuChildThread::OnGpuSwitched() { |
| ui::GpuSwitchingManager::GetInstance()->NotifyGpuSwitched(); |
| } |
| +void GpuChildThread::BindProcessControlRequest( |
| + mojo::InterfaceRequest<ProcessControl> request) { |
| + DCHECK(process_control_); |
| + process_control_bindings_.AddBinding(process_control_.get(), request.Pass()); |
| +} |
| + |
| } // namespace content |