| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/trees/occlusion_tracker.h" | 5 #include "cc/trees/occlusion_tracker.h" |
| 6 | 6 |
| 7 #include "base/time/time.h" | 7 #include "base/time/time.h" |
| 8 #include "cc/layers/layer_iterator.h" | 8 #include "cc/layers/layer_iterator.h" |
| 9 #include "cc/layers/solid_color_layer_impl.h" | 9 #include "cc/layers/solid_color_layer_impl.h" |
| 10 #include "cc/test/fake_layer_tree_host_impl_client.h" | 10 #include "cc/test/fake_layer_tree_host_impl_client.h" |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 84 opaque_layer->SetDrawsContent(true); | 84 opaque_layer->SetDrawsContent(true); |
| 85 opaque_layer->SetBounds(viewport_rect.size()); | 85 opaque_layer->SetBounds(viewport_rect.size()); |
| 86 opaque_layer->SetContentBounds(viewport_rect.size()); | 86 opaque_layer->SetContentBounds(viewport_rect.size()); |
| 87 active_tree()->root_layer()->AddChild(opaque_layer.PassAs<LayerImpl>()); | 87 active_tree()->root_layer()->AddChild(opaque_layer.PassAs<LayerImpl>()); |
| 88 | 88 |
| 89 active_tree()->UpdateDrawProperties(); | 89 active_tree()->UpdateDrawProperties(); |
| 90 const LayerImplList& rsll = active_tree()->RenderSurfaceLayerList(); | 90 const LayerImplList& rsll = active_tree()->RenderSurfaceLayerList(); |
| 91 ASSERT_EQ(1u, rsll.size()); | 91 ASSERT_EQ(1u, rsll.size()); |
| 92 EXPECT_EQ(1u, rsll[0]->render_surface()->layer_list().size()); | 92 EXPECT_EQ(1u, rsll[0]->render_surface()->layer_list().size()); |
| 93 | 93 |
| 94 LayerIterator<LayerImpl> begin = LayerIterator<LayerImpl>::Begin(&rsll); | 94 typedef LayerIterator<LayerImpl, |
| 95 LayerIterator<LayerImpl> end = LayerIterator<LayerImpl>::End(&rsll); | 95 LayerImpl::LayerListType, |
| 96 LayerImpl::RenderSurfaceType, |
| 97 LayerIteratorActions::FrontToBack> IteratorType; |
| 98 IteratorType begin = IteratorType::Begin(&rsll); |
| 99 IteratorType end = IteratorType::End(&rsll); |
| 96 | 100 |
| 97 LayerIteratorPosition<LayerImpl> pos = begin; | 101 LayerIteratorPosition<LayerImpl> pos = begin; |
| 98 | 102 |
| 99 // The opaque_layer adds occlusion over the whole viewport. | 103 // The opaque_layer adds occlusion over the whole viewport. |
| 100 tracker.EnterLayer(pos); | 104 tracker.EnterLayer(pos); |
| 101 tracker.LeaveLayer(pos); | 105 tracker.LeaveLayer(pos); |
| 102 | 106 |
| 103 gfx::Transform transform_to_target; | 107 gfx::Transform transform_to_target; |
| 104 transform_to_target.Translate(0, 96); | 108 transform_to_target.Translate(0, 96); |
| 105 bool impl_draw_transform_is_unknown = false; | 109 bool impl_draw_transform_is_unknown = false; |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 159 opaque_layer->SetPosition(gfx::Point(i, i)); | 163 opaque_layer->SetPosition(gfx::Point(i, i)); |
| 160 active_tree()->root_layer()->AddChild(opaque_layer.PassAs<LayerImpl>()); | 164 active_tree()->root_layer()->AddChild(opaque_layer.PassAs<LayerImpl>()); |
| 161 } | 165 } |
| 162 | 166 |
| 163 active_tree()->UpdateDrawProperties(); | 167 active_tree()->UpdateDrawProperties(); |
| 164 const LayerImplList& rsll = active_tree()->RenderSurfaceLayerList(); | 168 const LayerImplList& rsll = active_tree()->RenderSurfaceLayerList(); |
| 165 ASSERT_EQ(1u, rsll.size()); | 169 ASSERT_EQ(1u, rsll.size()); |
| 166 EXPECT_EQ(static_cast<size_t>(kNumOpaqueLayers), | 170 EXPECT_EQ(static_cast<size_t>(kNumOpaqueLayers), |
| 167 rsll[0]->render_surface()->layer_list().size()); | 171 rsll[0]->render_surface()->layer_list().size()); |
| 168 | 172 |
| 169 LayerIterator<LayerImpl> begin = LayerIterator<LayerImpl>::Begin(&rsll); | 173 typedef LayerIterator<LayerImpl, |
| 170 LayerIterator<LayerImpl> end = LayerIterator<LayerImpl>::End(&rsll); | 174 LayerImpl::LayerListType, |
| 175 LayerImpl::RenderSurfaceType, |
| 176 LayerIteratorActions::FrontToBack> IteratorType; |
| 177 IteratorType begin = IteratorType::Begin(&rsll); |
| 178 IteratorType end = IteratorType::End(&rsll); |
| 171 | 179 |
| 172 // The opaque_layers add occlusion. | 180 // The opaque_layers add occlusion. |
| 173 for (int i = 0; i < kNumOpaqueLayers - 1; ++i) { | 181 for (int i = 0; i < kNumOpaqueLayers - 1; ++i) { |
| 174 LayerIteratorPosition<LayerImpl> pos = begin; | 182 LayerIteratorPosition<LayerImpl> pos = begin; |
| 175 tracker.EnterLayer(pos); | 183 tracker.EnterLayer(pos); |
| 176 tracker.LeaveLayer(pos); | 184 tracker.LeaveLayer(pos); |
| 177 ++begin; | 185 ++begin; |
| 178 } | 186 } |
| 179 LayerIteratorPosition<LayerImpl> pos = begin; | 187 LayerIteratorPosition<LayerImpl> pos = begin; |
| 180 tracker.EnterLayer(pos); | 188 tracker.EnterLayer(pos); |
| (...skipping 23 matching lines...) Expand all Loading... |
| 204 EXPECT_EQ(active_tree()->root_layer(), next.current_layer); | 212 EXPECT_EQ(active_tree()->root_layer(), next.current_layer); |
| 205 | 213 |
| 206 ++begin; | 214 ++begin; |
| 207 EXPECT_EQ(end, begin); | 215 EXPECT_EQ(end, begin); |
| 208 | 216 |
| 209 PrintResults(); | 217 PrintResults(); |
| 210 } | 218 } |
| 211 | 219 |
| 212 } // namespace | 220 } // namespace |
| 213 } // namespace cc | 221 } // namespace cc |
| OLD | NEW |