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 {
19 return list_
.at(i
).get();
22 void RenderSurfaceLayerList::pop_back() {
26 void RenderSurfaceLayerList::push_back(const scoped_refptr
<Layer
>& layer
) {
27 list_
.push_back(layer
);
30 Layer
* RenderSurfaceLayerList::back() {
31 return list_
.back().get();
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());