Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(107)

Side by Side Diff: cc/layer_impl.cc

Issue 11418108: cc: Make the ScopedPtrVector and ScopedPtrDeque containers act like STL vector and deque. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add DCHECK Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/layer_impl.h" 5 #include "cc/layer_impl.h"
6 6
7 #include <algorithm>
8
7 #include "base/debug/trace_event.h" 9 #include "base/debug/trace_event.h"
8 #include "base/stringprintf.h" 10 #include "base/stringprintf.h"
9 #include "cc/debug_border_draw_quad.h" 11 #include "cc/debug_border_draw_quad.h"
10 #include "cc/debug_colors.h" 12 #include "cc/debug_colors.h"
11 #include "cc/layer_sorter.h" 13 #include "cc/layer_sorter.h"
12 #include "cc/layer_tree_host_impl.h" 14 #include "cc/layer_tree_host_impl.h"
13 #include "cc/math_util.h" 15 #include "cc/math_util.h"
14 #include "cc/proxy.h" 16 #include "cc/proxy.h"
15 #include "cc/quad_sink.h" 17 #include "cc/quad_sink.h"
16 #include "cc/scrollbar_animation_controller.h" 18 #include "cc/scrollbar_animation_controller.h"
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 { 71 {
70 #ifndef NDEBUG 72 #ifndef NDEBUG
71 DCHECK(!m_betweenWillDrawAndDidDraw); 73 DCHECK(!m_betweenWillDrawAndDidDraw);
72 #endif 74 #endif
73 SkSafeUnref(m_filter); 75 SkSafeUnref(m_filter);
74 } 76 }
75 77
76 void LayerImpl::addChild(scoped_ptr<LayerImpl> child) 78 void LayerImpl::addChild(scoped_ptr<LayerImpl> child)
77 { 79 {
78 child->setParent(this); 80 child->setParent(this);
79 m_children.append(child.Pass()); 81 m_children.push_back(child.Pass());
80 } 82 }
81 83
82 void LayerImpl::removeFromParent() 84 void LayerImpl::removeFromParent()
83 { 85 {
84 if (!m_parent) 86 if (!m_parent)
85 return; 87 return;
86 88
87 LayerImpl* parent = m_parent; 89 LayerImpl* parent = m_parent;
88 m_parent = 0; 90 m_parent = 0;
89 91
90 for (size_t i = 0; i < parent->m_children.size(); ++i) { 92 parent->m_children.erase(std::find(parent->m_children.begin(), parent->m_chi ldren.end(), this));
91 if (parent->m_children[i] == this) {
92 parent->m_children.remove(i);
93 return;
94 }
95 }
96 } 93 }
97 94
98 void LayerImpl::removeAllChildren() 95 void LayerImpl::removeAllChildren()
99 { 96 {
100 while (m_children.size()) 97 while (m_children.size())
101 m_children[0]->removeFromParent(); 98 m_children.front()->removeFromParent();
102 } 99 }
103 100
104 void LayerImpl::clearChildList() 101 void LayerImpl::clearChildList()
105 { 102 {
106 m_children.clear(); 103 m_children.clear();
107 } 104 }
108 105
109 void LayerImpl::createRenderSurface() 106 void LayerImpl::createRenderSurface()
110 { 107 {
111 DCHECK(!m_renderSurface); 108 DCHECK(!m_renderSurface);
(...skipping 599 matching lines...) Expand 10 before | Expand all | Expand 10 after
711 708
712 void LayerImpl::setVerticalScrollbarLayer(ScrollbarLayerImpl* scrollbarLayer) 709 void LayerImpl::setVerticalScrollbarLayer(ScrollbarLayerImpl* scrollbarLayer)
713 { 710 {
714 if (!m_scrollbarAnimationController) 711 if (!m_scrollbarAnimationController)
715 m_scrollbarAnimationController = ScrollbarAnimationController::create(th is); 712 m_scrollbarAnimationController = ScrollbarAnimationController::create(th is);
716 m_scrollbarAnimationController->setVerticalScrollbarLayer(scrollbarLayer); 713 m_scrollbarAnimationController->setVerticalScrollbarLayer(scrollbarLayer);
717 m_scrollbarAnimationController->updateScrollOffset(this); 714 m_scrollbarAnimationController->updateScrollOffset(this);
718 } 715 }
719 716
720 } // namespace cc 717 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698