X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fcontent%2Fbrowser%2Fcompositor%2Fgpu_browser_compositor_output_surface.h;h=c558b56c04b022167857b411d9700bd5173fcd77;hb=1afa4dd80ef85af7c90efaea6959db1d92330844;hp=de356b83ff6c5296fc0f157a7319946616f833e0;hpb=90762837333c13ccf56f2ad88e4481fc71e8d281;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/content/browser/compositor/gpu_browser_compositor_output_surface.h b/src/content/browser/compositor/gpu_browser_compositor_output_surface.h index de356b8..c558b56 100644 --- a/src/content/browser/compositor/gpu_browser_compositor_output_surface.h +++ b/src/content/browser/compositor/gpu_browser_compositor_output_surface.h @@ -5,6 +5,7 @@ #ifndef CONTENT_BROWSER_COMPOSITOR_GPU_BROWSER_COMPOSITOR_OUTPUT_SURFACE_H_ #define CONTENT_BROWSER_COMPOSITOR_GPU_BROWSER_COMPOSITOR_OUTPUT_SURFACE_H_ +#include "base/cancelable_callback.h" #include "content/browser/compositor/browser_compositor_output_surface.h" namespace ui { @@ -16,6 +17,7 @@ class OverlayCandidateValidator; } namespace content { +class CommandBufferProxyImpl; // Adapts a WebGraphicsContext3DCommandBufferImpl into a // cc::OutputSurface that also handles vsync parameter updates @@ -30,11 +32,22 @@ class GpuBrowserCompositorOutputSurface const scoped_refptr& vsync_manager, scoped_ptr overlay_candidate_validator); - virtual ~GpuBrowserCompositorOutputSurface(); + ~GpuBrowserCompositorOutputSurface() override; protected: // cc::OutputSurface implementation. - virtual void SwapBuffers(cc::CompositorFrame* frame) OVERRIDE; + void SwapBuffers(cc::CompositorFrame* frame) override; + bool BindToClient(cc::OutputSurfaceClient* client) override; + +#if defined(OS_MACOSX) + void OnSurfaceDisplayed() override; +#endif + + CommandBufferProxyImpl* GetCommandBufferProxy(); + void OnSwapBuffersCompleted(const std::vector& latency_info); + + base::CancelableCallback&)> + swap_buffers_completion_callback_; DISALLOW_COPY_AND_ASSIGN(GpuBrowserCompositorOutputSurface); };