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 12b05e51c8e3f86a4cc7f31789fa1665d2450ed9..ff85e905dc0bb0d0652b440f6532e9bc785b615e 100644 |
--- a/content/common/gpu/image_transport_surface.cc |
+++ b/content/common/gpu/image_transport_surface.cc |
@@ -22,15 +22,11 @@ ImageTransportSurface::~ImageTransportSurface() { |
ImageTransportHelper::ImageTransportHelper(ImageTransportSurface* surface, |
GpuChannelManager* manager, |
- int32 render_view_id, |
- int32 client_id, |
- int32 command_buffer_id, |
+ GpuCommandBufferStub* stub, |
gfx::PluginWindowHandle handle) |
: surface_(surface), |
manager_(manager), |
- render_view_id_(render_view_id), |
- client_id_(client_id), |
- command_buffer_id_(command_buffer_id), |
+ stub_(stub->AsWeakPtr()), |
handle_(handle) { |
route_id_ = manager_->GenerateRouteID(); |
manager_->AddRoute(route_id_, this); |
@@ -72,16 +68,14 @@ bool ImageTransportHelper::OnMessageReceived(const IPC::Message& message) { |
void ImageTransportHelper::SendAcceleratedSurfaceRelease( |
GpuHostMsg_AcceleratedSurfaceRelease_Params params) { |
- params.client_id = client_id_; |
- params.render_view_id = render_view_id_; |
+ params.surface_id = stub_->surface_id(); |
params.route_id = route_id_; |
manager_->Send(new GpuHostMsg_AcceleratedSurfaceRelease(params)); |
} |
void ImageTransportHelper::SendAcceleratedSurfaceNew( |
GpuHostMsg_AcceleratedSurfaceNew_Params params) { |
- params.client_id = client_id_; |
- params.render_view_id = render_view_id_; |
+ params.surface_id = stub_->surface_id(); |
params.route_id = route_id_; |
#if defined(OS_MACOSX) |
params.window = handle_; |
@@ -91,8 +85,7 @@ void ImageTransportHelper::SendAcceleratedSurfaceNew( |
void ImageTransportHelper::SendAcceleratedSurfaceBuffersSwapped( |
GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params params) { |
- params.client_id = client_id_; |
- params.render_view_id = render_view_id_; |
+ params.surface_id = stub_->surface_id(); |
params.route_id = route_id_; |
#if defined(OS_MACOSX) |
params.window = handle_; |
@@ -102,8 +95,7 @@ void ImageTransportHelper::SendAcceleratedSurfaceBuffersSwapped( |
void ImageTransportHelper::SendAcceleratedSurfacePostSubBuffer( |
GpuHostMsg_AcceleratedSurfacePostSubBuffer_Params params) { |
- params.client_id = client_id_; |
- params.render_view_id = render_view_id_; |
+ params.surface_id = stub_->surface_id(); |
params.route_id = route_id_; |
#if defined(OS_MACOSX) |
params.window = handle_; |
@@ -112,8 +104,7 @@ void ImageTransportHelper::SendAcceleratedSurfacePostSubBuffer( |
} |
void ImageTransportHelper::SendResizeView(const gfx::Size& size) { |
- manager_->Send(new GpuHostMsg_ResizeView(client_id_, |
- render_view_id_, |
+ manager_->Send(new GpuHostMsg_ResizeView(stub_->surface_id(), |
route_id_, |
size)); |
} |
@@ -142,9 +133,9 @@ void ImageTransportHelper::OnPostSubBufferACK() { |
} |
void ImageTransportHelper::OnNewSurfaceACK( |
- uint64 surface_id, |
+ uint64 surface_handle, |
TransportDIB::Handle shm_handle) { |
- surface_->OnNewSurfaceACK(surface_id, shm_handle); |
+ surface_->OnNewSurfaceACK(surface_handle, shm_handle); |
} |
void ImageTransportHelper::OnResizeViewACK() { |
@@ -169,16 +160,9 @@ void ImageTransportHelper::Resize(gfx::Size size) { |
} |
void ImageTransportHelper::SetSwapInterval() { |
- GpuChannel* channel = manager_->LookupChannel(client_id_); |
- if (!channel) |
+ if (!stub_.get()) |
return; |
- |
- GpuCommandBufferStub* stub = |
- channel->LookupCommandBuffer(command_buffer_id_); |
- if (!stub) |
- return; |
- |
- stub->SetSwapInterval(); |
+ stub_->SetSwapInterval(); |
} |
bool ImageTransportHelper::MakeCurrent() { |
@@ -189,42 +173,24 @@ bool ImageTransportHelper::MakeCurrent() { |
} |
gpu::GpuScheduler* ImageTransportHelper::Scheduler() { |
- GpuChannel* channel = manager_->LookupChannel(client_id_); |
- if (!channel) |
- return NULL; |
- |
- GpuCommandBufferStub* stub = |
- channel->LookupCommandBuffer(command_buffer_id_); |
- if (!stub) |
+ if (!stub_.get()) |
return NULL; |
- |
- return stub->scheduler(); |
+ return stub_->scheduler(); |
} |
gpu::gles2::GLES2Decoder* ImageTransportHelper::Decoder() { |
- GpuChannel* channel = manager_->LookupChannel(client_id_); |
- if (!channel) |
- return NULL; |
- |
- GpuCommandBufferStub* stub = |
- channel->LookupCommandBuffer(command_buffer_id_); |
- if (!stub) |
+ if (!stub_.get()) |
return NULL; |
- |
- return stub->decoder(); |
+ return stub_->decoder(); |
} |
PassThroughImageTransportSurface::PassThroughImageTransportSurface( |
GpuChannelManager* manager, |
- int32 render_view_id, |
- int32 client_id, |
- int32 command_buffer_id, |
+ GpuCommandBufferStub* stub, |
gfx::GLSurface* surface) : GLSurfaceAdapter(surface) { |
helper_.reset(new ImageTransportHelper(this, |
manager, |
- render_view_id, |
- client_id, |
- command_buffer_id, |
+ stub, |
gfx::kNullPluginWindow)); |
} |
@@ -242,7 +208,7 @@ void PassThroughImageTransportSurface::Destroy() { |
} |
void PassThroughImageTransportSurface::OnNewSurfaceACK( |
- uint64 surface_id, TransportDIB::Handle surface_handle) { |
+ uint64 surface_handle, TransportDIB::Handle shm_handle) { |
} |
bool PassThroughImageTransportSurface::SwapBuffers() { |
@@ -251,7 +217,7 @@ bool PassThroughImageTransportSurface::SwapBuffers() { |
// Round trip to the browser UI thread, for throttling, by sending a dummy |
// SwapBuffers message. |
GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params params; |
- params.surface_id = 0; |
+ params.surface_handle = 0; |
#if defined(OS_WIN) |
params.size = GetSize(); |
#endif |
@@ -268,7 +234,7 @@ bool PassThroughImageTransportSurface::PostSubBuffer( |
// Round trip to the browser UI thread, for throttling, by sending a dummy |
// PostSubBuffer message. |
GpuHostMsg_AcceleratedSurfacePostSubBuffer_Params params; |
- params.surface_id = 0; |
+ params.surface_handle = 0; |
params.x = x; |
params.y = y; |
params.width = width; |