1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "cc/layers/layer_lists.h"
7 #include "cc/layers/layer.h"
11 RenderSurfaceLayerList::RenderSurfaceLayerList() {}
13 RenderSurfaceLayerList::~RenderSurfaceLayerList() {
14 for (size_t i = 0; i < size(); ++i)
15 at(size() - 1 - i)->ClearRenderSurface();
18 Layer* RenderSurfaceLayerList::at(size_t i) const {
22 void RenderSurfaceLayerList::pop_back() {
26 void RenderSurfaceLayerList::push_back(const scoped_refptr<Layer>& layer) {
27 list_.push_back(layer);
30 Layer* RenderSurfaceLayerList::back() {
34 size_t RenderSurfaceLayerList::size() const {
38 scoped_refptr<Layer>& RenderSurfaceLayerList::operator[](size_t i) {
41 const scoped_refptr<Layer>& RenderSurfaceLayerList::operator[](size_t i) const {
45 LayerList::iterator RenderSurfaceLayerList::begin() {
49 LayerList::iterator RenderSurfaceLayerList::end() {
53 LayerList::const_iterator RenderSurfaceLayerList::begin() const {
57 LayerList::const_iterator RenderSurfaceLayerList::end() const {
61 void RenderSurfaceLayerList::clear() {
62 for (size_t i = 0; i < list_.size(); ++i)
63 DCHECK(!list_[i]->render_surface());