summaryrefslogtreecommitdiffstats
path: root/mojo/cc/output_surface_mojo.cc
diff options
context:
space:
mode:
Diffstat (limited to 'mojo/cc/output_surface_mojo.cc')
-rw-r--r--mojo/cc/output_surface_mojo.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/mojo/cc/output_surface_mojo.cc b/mojo/cc/output_surface_mojo.cc
index 05c6a84..37a4eb0 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;
}