| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/gpu/gpu_child_thread.h" | 5 #include "content/gpu/gpu_child_thread.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 83 } | 83 } |
| 84 void OnFilterRemoved() override { | 84 void OnFilterRemoved() override { |
| 85 DCHECK(sender_); | 85 DCHECK(sender_); |
| 86 sender_ = nullptr; | 86 sender_ = nullptr; |
| 87 } | 87 } |
| 88 bool OnMessageReceived(const IPC::Message& message) override { | 88 bool OnMessageReceived(const IPC::Message& message) override { |
| 89 DCHECK(sender_); | 89 DCHECK(sender_); |
| 90 bool handled = true; | 90 bool handled = true; |
| 91 IPC_BEGIN_MESSAGE_MAP(GpuMemoryBufferMessageFilter, message) | 91 IPC_BEGIN_MESSAGE_MAP(GpuMemoryBufferMessageFilter, message) |
| 92 IPC_MESSAGE_HANDLER(GpuMsg_CreateGpuMemoryBuffer, OnCreateGpuMemoryBuffer) | 92 IPC_MESSAGE_HANDLER(GpuMsg_CreateGpuMemoryBuffer, OnCreateGpuMemoryBuffer) |
| 93 IPC_MESSAGE_HANDLER(GpuMsg_CreateGpuMemoryBufferFromHandle, | |
| 94 OnCreateGpuMemoryBufferFromHandle) | |
| 95 IPC_MESSAGE_UNHANDLED(handled = false) | 93 IPC_MESSAGE_UNHANDLED(handled = false) |
| 96 IPC_END_MESSAGE_MAP() | 94 IPC_END_MESSAGE_MAP() |
| 97 return handled; | 95 return handled; |
| 98 } | 96 } |
| 99 | 97 |
| 100 protected: | 98 protected: |
| 101 ~GpuMemoryBufferMessageFilter() override {} | 99 ~GpuMemoryBufferMessageFilter() override {} |
| 102 | 100 |
| 103 void OnCreateGpuMemoryBuffer( | 101 void OnCreateGpuMemoryBuffer( |
| 104 const GpuMsg_CreateGpuMemoryBuffer_Params& params) { | 102 const GpuMsg_CreateGpuMemoryBuffer_Params& params) { |
| 105 TRACE_EVENT2("gpu", "GpuMemoryBufferMessageFilter::OnCreateGpuMemoryBuffer", | 103 TRACE_EVENT2("gpu", "GpuMemoryBufferMessageFilter::OnCreateGpuMemoryBuffer", |
| 106 "id", params.id.id, "client_id", params.client_id); | 104 "id", params.id.id, "client_id", params.client_id); |
| 107 | 105 |
| 108 DCHECK(gpu_memory_buffer_factory_); | 106 DCHECK(gpu_memory_buffer_factory_); |
| 109 sender_->Send(new GpuHostMsg_GpuMemoryBufferCreated( | 107 sender_->Send(new GpuHostMsg_GpuMemoryBufferCreated( |
| 110 gpu_memory_buffer_factory_->CreateGpuMemoryBuffer( | 108 gpu_memory_buffer_factory_->CreateGpuMemoryBuffer( |
| 111 params.id, params.size, params.format, params.usage, | 109 params.id, params.size, params.format, params.usage, |
| 112 params.client_id, params.surface_handle))); | 110 params.client_id, params.surface_handle))); |
| 113 } | 111 } |
| 114 | 112 |
| 115 void OnCreateGpuMemoryBufferFromHandle( | |
| 116 const GpuMsg_CreateGpuMemoryBufferFromHandle_Params& params) { | |
| 117 TRACE_EVENT2( | |
| 118 "gpu", | |
| 119 "GpuMemoryBufferMessageFilter::OnCreateGpuMemoryBufferFromHandle", "id", | |
| 120 params.id.id, "client_id", params.client_id); | |
| 121 sender_->Send(new GpuHostMsg_GpuMemoryBufferCreated( | |
| 122 gpu_memory_buffer_factory_->CreateGpuMemoryBufferFromHandle( | |
| 123 params.handle, params.id, params.size, params.format, | |
| 124 params.client_id))); | |
| 125 } | |
| 126 | |
| 127 GpuMemoryBufferFactory* const gpu_memory_buffer_factory_; | 113 GpuMemoryBufferFactory* const gpu_memory_buffer_factory_; |
| 128 IPC::Sender* sender_; | 114 IPC::Sender* sender_; |
| 129 }; | 115 }; |
| 130 | 116 |
| 131 ChildThreadImpl::Options GetOptions( | 117 ChildThreadImpl::Options GetOptions( |
| 132 GpuMemoryBufferFactory* gpu_memory_buffer_factory) { | 118 GpuMemoryBufferFactory* gpu_memory_buffer_factory) { |
| 133 ChildThreadImpl::Options::Builder builder; | 119 ChildThreadImpl::Options::Builder builder; |
| 134 | 120 |
| 135 builder.AddStartupFilter( | 121 builder.AddStartupFilter( |
| 136 new GpuMemoryBufferMessageFilter(gpu_memory_buffer_factory)); | 122 new GpuMemoryBufferMessageFilter(gpu_memory_buffer_factory)); |
| (...skipping 439 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 576 | 562 |
| 577 void GpuChildThread::BindProcessControlRequest( | 563 void GpuChildThread::BindProcessControlRequest( |
| 578 mojo::InterfaceRequest<mojom::ProcessControl> request) { | 564 mojo::InterfaceRequest<mojom::ProcessControl> request) { |
| 579 DVLOG(1) << "GPU: Binding ProcessControl request"; | 565 DVLOG(1) << "GPU: Binding ProcessControl request"; |
| 580 DCHECK(process_control_); | 566 DCHECK(process_control_); |
| 581 process_control_bindings_.AddBinding(process_control_.get(), | 567 process_control_bindings_.AddBinding(process_control_.get(), |
| 582 std::move(request)); | 568 std::move(request)); |
| 583 } | 569 } |
| 584 | 570 |
| 585 } // namespace content | 571 } // namespace content |
| OLD | NEW |