| Index: chrome/gpu/gpu_channel.cc
|
| diff --git a/chrome/gpu/gpu_channel.cc b/chrome/gpu/gpu_channel.cc
|
| index 77413914f5eeff76f1c3aef497575dcdf29e3d3a..8fb5024af6c548108a517db099b2edbf280942a7 100644
|
| --- a/chrome/gpu/gpu_channel.cc
|
| +++ b/chrome/gpu/gpu_channel.cc
|
| @@ -79,6 +79,19 @@ void GpuChannel::AcceleratedSurfaceBuffersSwapped(
|
| return;
|
| stub->AcceleratedSurfaceBuffersSwapped(swap_buffers_count);
|
| }
|
| +
|
| +void GpuChannel::DidDestroySurface(int32 renderer_route_id) {
|
| + // Since acclerated views are created in the renderer process and then sent
|
| + // to the browser process during GPU channel construction, it is possible that
|
| + // this is called before a GpuCommandBufferStub for |renderer_route_id| was
|
| + // put into |stubs_|. Hence, do not walk |stubs_| here but instead remember
|
| + // all |renderer_route_id|s this was called for and use them later.
|
| + destroyed_renderer_routes_.insert(renderer_route_id);
|
| +}
|
| +
|
| +bool GpuChannel::IsRenderViewGone(int32 renderer_route_id) {
|
| + return destroyed_renderer_routes_.count(renderer_route_id) > 0;
|
| +}
|
| #endif
|
|
|
| void GpuChannel::OnControlMessageReceived(const IPC::Message& msg) {
|
|
|