| Index: content/common/gpu/image_transport_surface.cc
|
| diff --git a/content/common/gpu/image_transport_surface.cc b/content/common/gpu/image_transport_surface.cc
|
| index eae07e9d9390d00574ed8913d13d342dcd08c3a5..8f5c1ab7f833116b0e89c4a2d4535451804c41a0 100644
|
| --- a/content/common/gpu/image_transport_surface.cc
|
| +++ b/content/common/gpu/image_transport_surface.cc
|
| @@ -14,7 +14,6 @@
|
| #include "build/build_config.h"
|
| #include "content/common/gpu/gpu_channel.h"
|
| #include "content/common/gpu/gpu_channel_manager.h"
|
| -#include "content/common/gpu/gpu_channel_manager_delegate.h"
|
| #include "content/common/gpu/gpu_command_buffer_stub.h"
|
| #include "content/common/gpu/gpu_messages.h"
|
| #include "gpu/command_buffer/service/sync_point_manager.h"
|
| @@ -22,11 +21,6 @@
|
| #include "ui/gl/gl_context.h"
|
| #include "ui/gl/gl_implementation.h"
|
| #include "ui/gl/gl_switches.h"
|
| -
|
| -#if defined(OS_MACOSX)
|
| -#include "content/common/gpu/accelerated_surface_buffers_swapped_params_mac.h"
|
| -#include "ui/accelerated_widget_mac/accelerated_widget_mac.h"
|
| -#endif
|
|
|
| namespace content {
|
|
|
| @@ -59,9 +53,8 @@
|
| manager_(manager),
|
| stub_(stub->AsWeakPtr()),
|
| handle_(handle) {
|
| -#if defined(OS_MACOSX)
|
| - manager_->AddImageTransportSurface(handle_, this);
|
| -#endif
|
| + route_id_ = manager_->GenerateRouteID();
|
| + manager_->AddRoute(route_id_, this);
|
| }
|
|
|
| ImageTransportHelper::~ImageTransportHelper() {
|
| @@ -69,9 +62,7 @@
|
| stub_->SetLatencyInfoCallback(
|
| base::Callback<void(const std::vector<ui::LatencyInfo>&)>());
|
| }
|
| -#if defined(OS_MACOSX)
|
| - manager_->RemoveImageTransportSurface(handle_);
|
| -#endif
|
| + manager_->RemoveRoute(route_id_);
|
| }
|
|
|
| bool ImageTransportHelper::Initialize(gfx::GLSurface::Format format) {
|
| @@ -87,14 +78,24 @@
|
| return true;
|
| }
|
|
|
| +bool ImageTransportHelper::OnMessageReceived(const IPC::Message& message) {
|
| #if defined(OS_MACOSX)
|
| -void ImageTransportHelper::BufferPresented(
|
| - const BufferPresentedParams& params) {
|
| - surface_->BufferPresented(params);
|
| -}
|
| -
|
| + bool handled = true;
|
| + IPC_BEGIN_MESSAGE_MAP(ImageTransportHelper, message)
|
| + IPC_MESSAGE_HANDLER(AcceleratedSurfaceMsg_BufferPresented,
|
| + OnBufferPresented)
|
| + IPC_MESSAGE_UNHANDLED(handled = false)
|
| + IPC_END_MESSAGE_MAP()
|
| + return handled;
|
| +#else
|
| + NOTREACHED();
|
| + return false;
|
| +#endif
|
| +}
|
| +
|
| +#if defined(OS_MACOSX)
|
| void ImageTransportHelper::SendAcceleratedSurfaceBuffersSwapped(
|
| - AcceleratedSurfaceBuffersSwappedParams params) {
|
| + GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params params) {
|
| // TRACE_EVENT for gpu tests:
|
| TRACE_EVENT_INSTANT2("test_gpu", "SwapBuffers",
|
| TRACE_EVENT_SCOPE_THREAD,
|
| @@ -103,7 +104,8 @@
|
| // On mac, handle_ is a surface id. See
|
| // GpuProcessTransportFactory::CreatePerCompositorData
|
| params.surface_id = handle_;
|
| - manager_->delegate()->SendAcceleratedSurfaceBuffersSwapped(params);
|
| + params.route_id = route_id_;
|
| + manager_->Send(new GpuHostMsg_AcceleratedSurfaceBuffersSwapped(params));
|
| }
|
| #endif
|
|
|
| @@ -127,6 +129,13 @@
|
| return NULL;
|
| return stub_->decoder();
|
| }
|
| +
|
| +#if defined(OS_MACOSX)
|
| +void ImageTransportHelper::OnBufferPresented(
|
| + const AcceleratedSurfaceMsg_BufferPresented_Params& params) {
|
| + surface_->OnBufferPresented(params);
|
| +}
|
| +#endif
|
|
|
| void ImageTransportHelper::SetLatencyInfo(
|
| const std::vector<ui::LatencyInfo>& latency_info) {
|
| @@ -231,8 +240,8 @@
|
| }
|
|
|
| #if defined(OS_MACOSX)
|
| -void PassThroughImageTransportSurface::BufferPresented(
|
| - const BufferPresentedParams& /* params */) {
|
| +void PassThroughImageTransportSurface::OnBufferPresented(
|
| + const AcceleratedSurfaceMsg_BufferPresented_Params& /* params */) {
|
| NOTREACHED();
|
| }
|
| #endif
|
|
|