Index: mojo/cc/output_surface_mojo.cc |
diff --git a/mojo/cc/output_surface_mojo.cc b/mojo/cc/output_surface_mojo.cc |
index 05c6a84a922cbf610c00e149017c18ffbcf241d7..37a4eb0aada833cb0c22775dc1464ce1aa54626a 100644 |
--- a/mojo/cc/output_surface_mojo.cc |
+++ b/mojo/cc/output_surface_mojo.cc |
@@ -12,13 +12,17 @@ |
namespace mojo { |
OutputSurfaceMojo::OutputSurfaceMojo( |
+ OutputSurfaceMojoClient* client, |
const scoped_refptr<cc::ContextProvider>& context_provider, |
SurfacePtr surface, |
uint32_t id_namespace) |
: cc::OutputSurface(context_provider), |
+ output_surface_mojo_client_(client), |
surface_(surface.Pass()), |
id_allocator_(id_namespace) { |
surface_.set_client(this); |
+ capabilities_.delegated_rendering = true; |
+ capabilities_.max_frames_pending = 1; |
} |
OutputSurfaceMojo::~OutputSurfaceMojo() { |
@@ -37,6 +41,7 @@ void OutputSurfaceMojo::SwapBuffers(cc::CompositorFrame* frame) { |
surface_id_ = id_allocator_.GenerateId(); |
surface_->CreateSurface(SurfaceId::From(surface_id_), |
Size::From(frame_size)); |
+ output_surface_mojo_client_->DidCreateSurface(surface_id_); |
surface_size_ = frame_size; |
} |