// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "cc/surfaces/surface.h" #include "cc/output/compositor_frame.h" #include "cc/surfaces/surface_manager.h" namespace cc { Surface::Surface(SurfaceManager* manager, SurfaceClient* client, const gfx::Size& size) : manager_(manager), client_(client), size_(size) { surface_id_ = manager_->RegisterAndAllocateIDForSurface(this); } Surface::~Surface() { manager_->DeregisterSurface(surface_id_); } void Surface::QueueFrame(scoped_ptr frame) { current_frame_ = frame.Pass(); } CompositorFrame* Surface::GetEligibleFrame() { return current_frame_.get(); } } // namespace cc