Index: content/browser/compositor/gpu_browser_compositor_output_surface.h |
diff --git a/content/browser/compositor/gpu_browser_compositor_output_surface.h b/content/browser/compositor/gpu_browser_compositor_output_surface.h |
index b5ee21f1586be4859eea48a3435ab421be8eb85f..0878d779cb427d21b861930d8fc06af3d3ac65d1 100644 |
--- a/content/browser/compositor/gpu_browser_compositor_output_surface.h |
+++ b/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 |
@@ -35,12 +37,18 @@ class GpuBrowserCompositorOutputSurface |
protected: |
// cc::OutputSurface implementation. |
virtual void SwapBuffers(cc::CompositorFrame* frame) override; |
- virtual void OnSwapBuffersComplete() override; |
+ virtual bool BindToClient(cc::OutputSurfaceClient* client) override; |
#if defined(OS_MACOSX) |
virtual void OnSurfaceDisplayed() override; |
#endif |
+ CommandBufferProxyImpl* GetCommandBufferProxy(); |
+ void OnSwapBuffersCompleted(const std::vector<ui::LatencyInfo>& latency_info); |
+ |
+ base::CancelableCallback<void(const std::vector<ui::LatencyInfo>&)> |
+ swap_buffers_completion_callback_; |
+ |
DISALLOW_COPY_AND_ASSIGN(GpuBrowserCompositorOutputSurface); |
}; |