Index: content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.cc |
diff --git a/content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.cc b/content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.cc |
index 0245aae7059df70b1807785b464e4e21188d78e8..819a23026f7c25bd5bbabaab0ebf7584c2035693 100644 |
--- a/content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.cc |
+++ b/content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.cc |
@@ -30,7 +30,10 @@ GpuSurfacelessBrowserCompositorOutputSurface:: |
vsync_manager, |
overlay_candidate_validator.Pass()), |
internalformat_(internalformat), |
- use_own_gl_helper_(use_own_gl_helper) { |
+ use_own_gl_helper_(use_own_gl_helper), |
+ page_flip_completion_callback_( |
+ base::Bind(&GpuSurfacelessBrowserCompositorOutputSurface:: |
+ OnPageFlipCompleted, base::Unretained(this))) { |
capabilities_.uses_default_gl_framebuffer = false; |
capabilities_.flipped_output_surface = true; |
} |
@@ -63,7 +66,6 @@ void GpuSurfacelessBrowserCompositorOutputSurface::SwapBuffers( |
void GpuSurfacelessBrowserCompositorOutputSurface::OnSwapBuffersComplete() { |
DCHECK(output_surface_); |
- output_surface_->PageFlipComplete(); |
GpuBrowserCompositorOutputSurface::OnSwapBuffersComplete(); |
} |
@@ -97,7 +99,15 @@ bool GpuSurfacelessBrowserCompositorOutputSurface::BindToClient( |
output_surface_.reset( |
new BufferQueue(context_provider_, internalformat_, helper)); |
+ |
+ GetCommandBufferProxy()->SetPageFlipCompletionCallback( |
+ page_flip_completion_callback_.callback()); |
alexst (slow to review)
2014/12/10 23:19:25
Why not base::Bind(&BufferQueue::PageFlipComplete,
kalyank
2014/12/11 12:55:58
Done.
|
+ |
return output_surface_->Initialize(); |
} |
+void GpuSurfacelessBrowserCompositorOutputSurface::OnPageFlipCompleted() { |
+ output_surface_->PageFlipComplete(); |
+} |
+ |
} // namespace content |