| Index: content/common/gpu/image_transport_surface_fbo_mac.h
|
| diff --git a/content/common/gpu/image_transport_surface_fbo_mac.h b/content/common/gpu/image_transport_surface_fbo_mac.h
|
| index 3587e21b0b3a86f84d7d6f26843a479609bf6915..42f6683498c48317c6cd8fbf16ad23cb8aafb33b 100644
|
| --- a/content/common/gpu/image_transport_surface_fbo_mac.h
|
| +++ b/content/common/gpu/image_transport_surface_fbo_mac.h
|
| @@ -45,12 +45,19 @@ class ImageTransportSurfaceFBO
|
| // display.
|
| virtual uint64 GetSurfaceHandle() const = 0;
|
|
|
| - // Called when a frame is about to be sent to the browser process.
|
| + // Called when a new frame has been rendered into the texture, and the
|
| + // browser is about to be sent the surface to display.
|
| virtual void WillSwapBuffers() = 0;
|
| +
|
| + // Called once for every WillSwapBuffers call when the buffer that was sent
|
| + // to the browser may be released by the GPU process (this may be because
|
| + // the browser is holding a reference, in which case this will come
|
| + // quickly, or it may be because the browser is done with the surface, in
|
| + // which case it will come much later).
|
| + virtual void CanFreeSwappedBuffer() = 0;
|
| };
|
|
|
| - ImageTransportSurfaceFBO(StorageProvider* storage_provider,
|
| - GpuChannelManager* manager,
|
| + ImageTransportSurfaceFBO(GpuChannelManager* manager,
|
| GpuCommandBufferStub* stub,
|
| gfx::PluginWindowHandle handle);
|
|
|
| @@ -70,6 +77,9 @@ class ImageTransportSurfaceFBO
|
| virtual bool SetBackbufferAllocation(bool allocated) OVERRIDE;
|
| virtual void SetFrontbufferAllocation(bool allocated) OVERRIDE;
|
|
|
| + // Called when the context may continue to make forward progress after a swap.
|
| + void UnblockContextAfterPendingSwap();
|
| +
|
| protected:
|
| // ImageTransportSurface implementation
|
| virtual void OnBufferPresented(
|
|
|