summaryrefslogtreecommitdiffstats
path: root/content/browser/compositor/surface_display_output_surface.cc
diff options
context:
space:
mode:
Diffstat (limited to 'content/browser/compositor/surface_display_output_surface.cc')
-rw-r--r--content/browser/compositor/surface_display_output_surface.cc11
1 files changed, 9 insertions, 2 deletions
diff --git a/content/browser/compositor/surface_display_output_surface.cc b/content/browser/compositor/surface_display_output_surface.cc
index b4697a0..527b621 100644
--- a/content/browser/compositor/surface_display_output_surface.cc
+++ b/content/browser/compositor/surface_display_output_surface.cc
@@ -48,10 +48,13 @@ void SurfaceDisplayOutputSurface::SwapBuffers(cc::CompositorFrame* frame) {
scoped_ptr<cc::CompositorFrame> frame_copy(new cc::CompositorFrame());
frame->AssignTo(frame_copy.get());
- factory_.SubmitFrame(surface_id_, frame_copy.Pass());
+ factory_.SubmitFrame(
+ surface_id_,
+ frame_copy.Pass(),
+ base::Bind(&SurfaceDisplayOutputSurface::SwapBuffersComplete,
+ base::Unretained(this)));
client_->DidSwapBuffers();
- client_->DidSwapBuffersComplete();
}
void SurfaceDisplayOutputSurface::ReturnResources(
@@ -62,4 +65,8 @@ void SurfaceDisplayOutputSurface::ReturnResources(
client_->ReclaimResources(&ack);
}
+void SurfaceDisplayOutputSurface::SwapBuffersComplete() {
+ client_->DidSwapBuffersComplete();
+}
+
} // namespace content