OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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 "cc/animation/layer_animation_controller.h" | 7 #include "cc/animation/layer_animation_controller.h" |
8 #include "cc/base/math_util.h" | 8 #include "cc/base/math_util.h" |
9 #include "cc/debug/overdraw_metrics.h" | 9 #include "cc/debug/overdraw_metrics.h" |
10 #include "cc/layers/layer.h" | 10 #include "cc/layers/layer.h" |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
129 }; | 129 }; |
130 | 130 |
131 struct OcclusionTrackerTestMainThreadTypes { | 131 struct OcclusionTrackerTestMainThreadTypes { |
132 typedef Layer LayerType; | 132 typedef Layer LayerType; |
133 typedef LayerTreeHost HostType; | 133 typedef LayerTreeHost HostType; |
134 typedef RenderSurface RenderSurfaceType; | 134 typedef RenderSurface RenderSurfaceType; |
135 typedef TestContentLayer ContentLayerType; | 135 typedef TestContentLayer ContentLayerType; |
136 typedef scoped_refptr<Layer> LayerPtrType; | 136 typedef scoped_refptr<Layer> LayerPtrType; |
137 typedef scoped_refptr<ContentLayerType> ContentLayerPtrType; | 137 typedef scoped_refptr<ContentLayerType> ContentLayerPtrType; |
138 typedef LayerIterator<Layer, | 138 typedef LayerIterator<Layer, |
139 std::vector<scoped_refptr<Layer> >, | 139 LayerList, |
140 RenderSurface, | 140 RenderSurface, |
141 LayerIteratorActions::FrontToBack> TestLayerIterator; | 141 LayerIteratorActions::FrontToBack> TestLayerIterator; |
142 typedef OcclusionTracker OcclusionTrackerType; | 142 typedef OcclusionTracker OcclusionTrackerType; |
143 | 143 |
144 static LayerPtrType CreateLayer(HostType* host) { return Layer::Create(); } | 144 static LayerPtrType CreateLayer(HostType* host) { return Layer::Create(); } |
145 static ContentLayerPtrType CreateContentLayer(HostType* host) { | 145 static ContentLayerPtrType CreateContentLayer(HostType* host) { |
146 return make_scoped_refptr(new ContentLayerType()); | 146 return make_scoped_refptr(new ContentLayerType()); |
147 } | 147 } |
148 | 148 |
149 static LayerPtrType PassLayerPtr(ContentLayerPtrType* layer) { | 149 static LayerPtrType PassLayerPtr(ContentLayerPtrType* layer) { |
(...skipping 12 matching lines...) Expand all Loading... |
162 }; | 162 }; |
163 | 163 |
164 struct OcclusionTrackerTestImplThreadTypes { | 164 struct OcclusionTrackerTestImplThreadTypes { |
165 typedef LayerImpl LayerType; | 165 typedef LayerImpl LayerType; |
166 typedef LayerTreeImpl HostType; | 166 typedef LayerTreeImpl HostType; |
167 typedef RenderSurfaceImpl RenderSurfaceType; | 167 typedef RenderSurfaceImpl RenderSurfaceType; |
168 typedef TestContentLayerImpl ContentLayerType; | 168 typedef TestContentLayerImpl ContentLayerType; |
169 typedef scoped_ptr<LayerImpl> LayerPtrType; | 169 typedef scoped_ptr<LayerImpl> LayerPtrType; |
170 typedef scoped_ptr<ContentLayerType> ContentLayerPtrType; | 170 typedef scoped_ptr<ContentLayerType> ContentLayerPtrType; |
171 typedef LayerIterator<LayerImpl, | 171 typedef LayerIterator<LayerImpl, |
172 std::vector<LayerImpl*>, | 172 LayerImplList, |
173 RenderSurfaceImpl, | 173 RenderSurfaceImpl, |
174 LayerIteratorActions::FrontToBack> TestLayerIterator; | 174 LayerIteratorActions::FrontToBack> TestLayerIterator; |
175 typedef OcclusionTrackerImpl OcclusionTrackerType; | 175 typedef OcclusionTrackerImpl OcclusionTrackerType; |
176 | 176 |
177 static LayerPtrType CreateLayer(HostType* host) { | 177 static LayerPtrType CreateLayer(HostType* host) { |
178 return LayerImpl::Create(host, next_layer_impl_id++); | 178 return LayerImpl::Create(host, next_layer_impl_id++); |
179 } | 179 } |
180 static ContentLayerPtrType CreateContentLayer(HostType* host) { | 180 static ContentLayerPtrType CreateContentLayer(HostType* host) { |
181 return make_scoped_ptr(new ContentLayerType(host, next_layer_impl_id++)); | 181 return make_scoped_ptr(new ContentLayerType(host, next_layer_impl_id++)); |
182 } | 182 } |
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
442 | 442 |
443 void SetMask(LayerImpl* owning_layer, scoped_ptr<LayerImpl> layer) { | 443 void SetMask(LayerImpl* owning_layer, scoped_ptr<LayerImpl> layer) { |
444 owning_layer->SetMaskLayer(layer.Pass()); | 444 owning_layer->SetMaskLayer(layer.Pass()); |
445 } | 445 } |
446 | 446 |
447 FakeImplProxy proxy_; | 447 FakeImplProxy proxy_; |
448 FakeLayerTreeHostImpl host_impl_; | 448 FakeLayerTreeHostImpl host_impl_; |
449 bool opaque_layers_; | 449 bool opaque_layers_; |
450 // These hold ownership of the layers for the duration of the test. | 450 // These hold ownership of the layers for the duration of the test. |
451 typename Types::LayerPtrType root_; | 451 typename Types::LayerPtrType root_; |
452 std::vector<scoped_refptr<Layer> > render_surface_layer_list_; | 452 LayerList render_surface_layer_list_; |
453 std::vector<LayerImpl*> render_surface_layer_list_impl_; | 453 LayerImplList render_surface_layer_list_impl_; |
454 typename Types::TestLayerIterator layer_iterator_begin_; | 454 typename Types::TestLayerIterator layer_iterator_begin_; |
455 typename Types::TestLayerIterator layer_iterator_; | 455 typename Types::TestLayerIterator layer_iterator_; |
456 typename Types::LayerType* last_layer_visited_; | 456 typename Types::LayerType* last_layer_visited_; |
457 std::vector<scoped_refptr<Layer> > replica_layers_; | 457 LayerList replica_layers_; |
458 std::vector<scoped_refptr<Layer> > mask_layers_; | 458 LayerList mask_layers_; |
459 }; | 459 }; |
460 | 460 |
461 template <> | 461 template <> |
462 LayerTreeHost* | 462 LayerTreeHost* |
463 OcclusionTrackerTest<OcclusionTrackerTestMainThreadTypes>::GetHost() { | 463 OcclusionTrackerTest<OcclusionTrackerTestMainThreadTypes>::GetHost() { |
464 return NULL; | 464 return NULL; |
465 } | 465 } |
466 | 466 |
467 template <> | 467 template <> |
468 LayerTreeImpl* | 468 LayerTreeImpl* |
(...skipping 4066 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4535 gfx::Rect(0, 0, 100, 100), | 4535 gfx::Rect(0, 0, 100, 100), |
4536 &has_occlusion_from_outside_target_surface)); | 4536 &has_occlusion_from_outside_target_surface)); |
4537 EXPECT_FALSE(has_occlusion_from_outside_target_surface); | 4537 EXPECT_FALSE(has_occlusion_from_outside_target_surface); |
4538 } | 4538 } |
4539 }; | 4539 }; |
4540 | 4540 |
4541 ALL_OCCLUSIONTRACKER_TEST(OcclusionTrackerTestLayerClipIsExternalOcclusion) | 4541 ALL_OCCLUSIONTRACKER_TEST(OcclusionTrackerTestLayerClipIsExternalOcclusion) |
4542 | 4542 |
4543 } // namespace | 4543 } // namespace |
4544 } // namespace cc | 4544 } // namespace cc |
OLD | NEW |