| Index: content/gpu/gpu_memory_buffer_service.cc
|
| diff --git a/content/gpu/gpu_memory_buffer_service.cc b/content/gpu/gpu_memory_buffer_service.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..c6afd4eb7d264fcb27087feaefafc89f36ad5f7f
|
| --- /dev/null
|
| +++ b/content/gpu/gpu_memory_buffer_service.cc
|
| @@ -0,0 +1,50 @@
|
| +// Copyright 2015 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "content/gpu/gpu_memory_buffer_service.h"
|
| +
|
| +#include "content/common/gpu/create_gpu_memory_buffer_from_handle_params.h"
|
| +#include "content/common/gpu/create_gpu_memory_buffer_params.h"
|
| +#include "content/common/gpu/gpu_memory_buffer_factory.h"
|
| +#include "content/gpu/chrome_gpu_memory_buffer_service_ipc_transport.h"
|
| +
|
| +namespace content {
|
| +
|
| +GpuMemoryBufferService::GpuMemoryBufferService(
|
| + GpuMemoryBufferFactory* gpu_memory_buffer_factory)
|
| + : gpu_memory_buffer_factory_(gpu_memory_buffer_factory) {
|
| + transport_ = ChromeGpuMemoryBufferServiceIPCTransport::Create();
|
| + transport_->SetClient(this);
|
| +}
|
| +
|
| +GpuMemoryBufferService::~GpuMemoryBufferService() {}
|
| +
|
| +void GpuMemoryBufferService::OnConnectionClosed() {
|
| + delete this;
|
| +}
|
| +
|
| +void GpuMemoryBufferService::OnCreateGpuMemoryBuffer(
|
| + const CreateGpuMemoryBufferParams& params) {
|
| + TRACE_EVENT2("gpu", "GpuMemoryBufferService::OnCreateGpuMemoryBuffer", "id",
|
| + params.id.id, "client_id", params.client_id);
|
| +
|
| + DCHECK(gpu_memory_buffer_factory_);
|
| + transport_->GpuMemoryBufferCreated(
|
| + gpu_memory_buffer_factory_->CreateGpuMemoryBuffer(
|
| + params.id, params.size, params.format, params.usage, params.client_id,
|
| + params.surface_handle));
|
| +}
|
| +
|
| +void GpuMemoryBufferService::OnCreateGpuMemoryBufferFromHandle(
|
| + const CreateGpuMemoryBufferFromHandleParams& params) {
|
| + TRACE_EVENT2("gpu",
|
| + "GpuMemoryBufferService::OnCreateGpuMemoryBufferFromHandle",
|
| + "id", params.id.id, "client_id", params.client_id);
|
| + transport_->GpuMemoryBufferCreated(
|
| + gpu_memory_buffer_factory_->CreateGpuMemoryBufferFromHandle(
|
| + params.handle, params.id, params.size, params.format,
|
| + params.client_id));
|
| +}
|
| +
|
| +} // namespace content
|
|
|