| 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 8f5c1ab7f833116b0e89c4a2d4535451804c41a0..eae07e9d9390d00574ed8913d13d342dcd08c3a5 100644
|
| --- a/content/common/gpu/image_transport_surface.cc
|
| +++ b/content/common/gpu/image_transport_surface.cc
|
| @@ -14,6 +14,7 @@
|
| #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,6 +23,11 @@
|
| #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 {
|
|
|
| ImageTransportSurface::ImageTransportSurface() {}
|
| @@ -53,8 +59,9 @@ ImageTransportHelper::ImageTransportHelper(ImageTransportSurface* surface,
|
| manager_(manager),
|
| stub_(stub->AsWeakPtr()),
|
| handle_(handle) {
|
| - route_id_ = manager_->GenerateRouteID();
|
| - manager_->AddRoute(route_id_, this);
|
| +#if defined(OS_MACOSX)
|
| + manager_->AddImageTransportSurface(handle_, this);
|
| +#endif
|
| }
|
|
|
| ImageTransportHelper::~ImageTransportHelper() {
|
| @@ -62,7 +69,9 @@ ImageTransportHelper::~ImageTransportHelper() {
|
| stub_->SetLatencyInfoCallback(
|
| base::Callback<void(const std::vector<ui::LatencyInfo>&)>());
|
| }
|
| - manager_->RemoveRoute(route_id_);
|
| +#if defined(OS_MACOSX)
|
| + manager_->RemoveImageTransportSurface(handle_);
|
| +#endif
|
| }
|
|
|
| bool ImageTransportHelper::Initialize(gfx::GLSurface::Format format) {
|
| @@ -78,24 +87,14 @@ bool ImageTransportHelper::Initialize(gfx::GLSurface::Format format) {
|
| return true;
|
| }
|
|
|
| -bool ImageTransportHelper::OnMessageReceived(const IPC::Message& message) {
|
| #if defined(OS_MACOSX)
|
| - 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
|
| +void ImageTransportHelper::BufferPresented(
|
| + const BufferPresentedParams& params) {
|
| + surface_->BufferPresented(params);
|
| }
|
|
|
| -#if defined(OS_MACOSX)
|
| void ImageTransportHelper::SendAcceleratedSurfaceBuffersSwapped(
|
| - GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params params) {
|
| + AcceleratedSurfaceBuffersSwappedParams params) {
|
| // TRACE_EVENT for gpu tests:
|
| TRACE_EVENT_INSTANT2("test_gpu", "SwapBuffers",
|
| TRACE_EVENT_SCOPE_THREAD,
|
| @@ -104,8 +103,7 @@ void ImageTransportHelper::SendAcceleratedSurfaceBuffersSwapped(
|
| // On mac, handle_ is a surface id. See
|
| // GpuProcessTransportFactory::CreatePerCompositorData
|
| params.surface_id = handle_;
|
| - params.route_id = route_id_;
|
| - manager_->Send(new GpuHostMsg_AcceleratedSurfaceBuffersSwapped(params));
|
| + manager_->delegate()->SendAcceleratedSurfaceBuffersSwapped(params);
|
| }
|
| #endif
|
|
|
| @@ -130,13 +128,6 @@ gpu::gles2::GLES2Decoder* ImageTransportHelper::Decoder() {
|
| 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) {
|
| surface_->SetLatencyInfo(latency_info);
|
| @@ -240,8 +231,8 @@ bool PassThroughImageTransportSurface::OnMakeCurrent(gfx::GLContext* context) {
|
| }
|
|
|
| #if defined(OS_MACOSX)
|
| -void PassThroughImageTransportSurface::OnBufferPresented(
|
| - const AcceleratedSurfaceMsg_BufferPresented_Params& /* params */) {
|
| +void PassThroughImageTransportSurface::BufferPresented(
|
| + const BufferPresentedParams& /* params */) {
|
| NOTREACHED();
|
| }
|
| #endif
|
|
|