Chromium Code Reviews| Index: content/common/gpu/client/gpu_channel_host.cc |
| diff --git a/content/common/gpu/client/gpu_channel_host.cc b/content/common/gpu/client/gpu_channel_host.cc |
| index aa47e2fd677bad9d115abb27209433292689fe57..2ea29e3660c63ee0e6b58c40a817b72aac7b5eff 100644 |
| --- a/content/common/gpu/client/gpu_channel_host.cc |
| +++ b/content/common/gpu/client/gpu_channel_host.cc |
| @@ -13,6 +13,7 @@ |
| #include "base/threading/thread_restrictions.h" |
| #include "base/trace_event/trace_event.h" |
| #include "content/common/gpu/client/command_buffer_proxy_impl.h" |
| +#include "content/common/gpu/client/gpu_jpeg_decode_accelerator_host.h" |
| #include "content/common/gpu/gpu_messages.h" |
| #include "ipc/ipc_sync_message_filter.h" |
| #include "url/gurl.h" |
| @@ -297,6 +298,21 @@ void GpuChannelHost::RemoveRoute(int route_id) { |
| channel_filter_.get(), route_id)); |
| } |
| +GpuJpegDecodeAcceleratorHost* GpuChannelHost::CreateJpegDecoder() { |
| + TRACE_EVENT0("gpu", "GpuChannelHost::CreateJpegDecoder"); |
| + |
| + int32 route_id = GenerateRouteID(); |
| + GpuJpegDecodeAcceleratorHost* decoder = |
| + new GpuJpegDecodeAcceleratorHost(this, route_id); |
| + |
| + scoped_refptr<base::MessageLoopProxy> io_loop = factory_->GetIOLoopProxy(); |
| + io_loop->PostTask(FROM_HERE, |
| + base::Bind(&GpuChannelHost::MessageFilter::AddRoute, |
| + channel_filter_.get(), route_id, decoder->AsWeakPtr(), |
|
wuchengli
2015/04/14 09:41:44
80 char align?
kcwu
2015/04/14 20:02:35
Done.
|
| + io_loop)); |
| + return decoder; |
| +} |
| + |
| base::SharedMemoryHandle GpuChannelHost::ShareToGpuProcess( |
| base::SharedMemoryHandle source_handle) { |
| if (IsLost()) |