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

Unified Diff: cc/trees/occlusion_tracker_unittest.cc

Issue 2751783002: cc: Replace LayerIterator with iterator that walks layer list and effect tree (Closed)
Patch Set: Rebase Created 3 years, 8 months 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/trees/occlusion_tracker.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/trees/occlusion_tracker_unittest.cc
diff --git a/cc/trees/occlusion_tracker_unittest.cc b/cc/trees/occlusion_tracker_unittest.cc
index 7412de20078f5a1aaeee92633091f579cf473e92..433100e9ffddc657816a095944a4f80828da57f8 100644
--- a/cc/trees/occlusion_tracker_unittest.cc
+++ b/cc/trees/occlusion_tracker_unittest.cc
@@ -190,7 +190,7 @@ class OcclusionTrackerTest : public testing::Test {
host_->host_impl()->active_tree()->SetRootLayerForTesting(nullptr);
render_surface_layer_list_impl_.clear();
mask_layers_.clear();
- ResetLayerIterator();
+ layer_iterator_.reset();
}
void CopyOutputCallback(std::unique_ptr<CopyOutputResult> result) {}
@@ -223,21 +223,23 @@ class OcclusionTrackerTest : public testing::Test {
inputs.can_adjust_raster_scales = true;
LayerTreeHostCommon::CalculateDrawPropertiesForTesting(&inputs);
- layer_iterator_ = layer_iterator_begin_ =
- LayerIterator::Begin(&render_surface_layer_list_impl_);
+ layer_iterator_ = base::MakeUnique<EffectTreeLayerListIterator>(
+ host_->host_impl()->active_tree());
}
void EnterLayer(LayerImpl* layer, OcclusionTracker* occlusion) {
- ASSERT_EQ(*layer_iterator_, layer);
- ASSERT_TRUE(layer_iterator_.represents_itself());
- occlusion->EnterLayer(layer_iterator_);
+ ASSERT_EQ(layer_iterator_->current_layer(), layer);
+ ASSERT_TRUE(layer_iterator_->state() ==
+ EffectTreeLayerListIterator::State::LAYER);
+ occlusion->EnterLayer(*layer_iterator_);
}
void LeaveLayer(LayerImpl* layer, OcclusionTracker* occlusion) {
- ASSERT_EQ(*layer_iterator_, layer);
- ASSERT_TRUE(layer_iterator_.represents_itself());
- occlusion->LeaveLayer(layer_iterator_);
- ++layer_iterator_;
+ ASSERT_EQ(layer_iterator_->current_layer(), layer);
+ ASSERT_TRUE(layer_iterator_->state() ==
+ EffectTreeLayerListIterator::State::LAYER);
+ occlusion->LeaveLayer(*layer_iterator_);
+ ++(*layer_iterator_);
}
void VisitLayer(LayerImpl* layer, OcclusionTracker* occlusion) {
@@ -246,20 +248,25 @@ class OcclusionTrackerTest : public testing::Test {
}
void EnterContributingSurface(LayerImpl* layer, OcclusionTracker* occlusion) {
- ASSERT_EQ(*layer_iterator_, layer);
- ASSERT_TRUE(layer_iterator_.represents_target_render_surface());
- occlusion->EnterLayer(layer_iterator_);
- occlusion->LeaveLayer(layer_iterator_);
- ++layer_iterator_;
- ASSERT_TRUE(layer_iterator_.represents_contributing_render_surface());
- occlusion->EnterLayer(layer_iterator_);
+ ASSERT_EQ(layer_iterator_->target_render_surface(),
+ layer->GetRenderSurface());
+ ASSERT_TRUE(layer_iterator_->state() ==
+ EffectTreeLayerListIterator::State::TARGET_SURFACE);
+ occlusion->EnterLayer(*layer_iterator_);
+ occlusion->LeaveLayer(*layer_iterator_);
+ ++(*layer_iterator_);
+ ASSERT_TRUE(layer_iterator_->state() ==
+ EffectTreeLayerListIterator::State::CONTRIBUTING_SURFACE);
+ occlusion->EnterLayer(*layer_iterator_);
}
void LeaveContributingSurface(LayerImpl* layer, OcclusionTracker* occlusion) {
- ASSERT_EQ(*layer_iterator_, layer);
- ASSERT_TRUE(layer_iterator_.represents_contributing_render_surface());
- occlusion->LeaveLayer(layer_iterator_);
- ++layer_iterator_;
+ ASSERT_EQ(layer_iterator_->current_render_surface(),
+ layer->GetRenderSurface());
+ ASSERT_TRUE(layer_iterator_->state() ==
+ EffectTreeLayerListIterator::State::CONTRIBUTING_SURFACE);
+ occlusion->LeaveLayer(*layer_iterator_);
+ ++(*layer_iterator_);
}
void VisitContributingSurface(LayerImpl* layer, OcclusionTracker* occlusion) {
@@ -267,7 +274,10 @@ class OcclusionTrackerTest : public testing::Test {
LeaveContributingSurface(layer, occlusion);
}
- void ResetLayerIterator() { layer_iterator_ = layer_iterator_begin_; }
+ void ResetLayerIterator() {
+ *layer_iterator_ =
+ EffectTreeLayerListIterator(host_->host_impl()->active_tree());
+ }
const gfx::Transform identity_matrix;
@@ -298,8 +308,7 @@ class OcclusionTrackerTest : public testing::Test {
std::unique_ptr<FakeLayerTreeHost> host_;
// These hold ownership of the layers for the duration of the test.
LayerImplList render_surface_layer_list_impl_;
- LayerIterator layer_iterator_begin_;
- LayerIterator layer_iterator_;
+ std::unique_ptr<EffectTreeLayerListIterator> layer_iterator_;
LayerList mask_layers_;
int next_layer_impl_id_;
};
« no previous file with comments | « cc/trees/occlusion_tracker.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698