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 |