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

Unified Diff: cc/layers/layer_iterator_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/layers/layer_iterator.h ('k') | cc/layers/layer_list_iterator.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/layers/layer_iterator_unittest.cc
diff --git a/cc/layers/layer_iterator_unittest.cc b/cc/layers/layer_iterator_unittest.cc
deleted file mode 100644
index 4b93ea6e7556b842a0f991744f9cdefa07118510..0000000000000000000000000000000000000000
--- a/cc/layers/layer_iterator_unittest.cc
+++ /dev/null
@@ -1,254 +0,0 @@
-// Copyright 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "cc/layers/layer_iterator.h"
-
-#include <vector>
-
-#include "base/memory/ptr_util.h"
-#include "cc/layers/layer.h"
-#include "cc/test/fake_layer_tree_host.h"
-#include "cc/test/test_task_graph_runner.h"
-#include "cc/trees/layer_tree_host_common.h"
-#include "testing/gmock/include/gmock/gmock.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include "ui/gfx/transform.h"
-
-using ::testing::Mock;
-using ::testing::_;
-using ::testing::AtLeast;
-using ::testing::AnyNumber;
-
-namespace cc {
-namespace {
-
-class TestLayerImpl : public LayerImpl {
- public:
- static std::unique_ptr<TestLayerImpl> Create(LayerTreeImpl* tree, int id) {
- return base::WrapUnique(new TestLayerImpl(tree, id));
- }
- ~TestLayerImpl() override {}
-
- int count_representing_target_surface_;
- int count_representing_contributing_surface_;
- int count_representing_itself_;
-
- private:
- explicit TestLayerImpl(LayerTreeImpl* tree, int id)
- : LayerImpl(tree, id),
- count_representing_target_surface_(-1),
- count_representing_contributing_surface_(-1),
- count_representing_itself_(-1) {
- SetBounds(gfx::Size(100, 100));
- SetPosition(gfx::PointF());
- SetDrawsContent(true);
- }
-};
-
-#define EXPECT_COUNT(layer, target, contrib, itself) \
- EXPECT_EQ(target, layer->count_representing_target_surface_); \
- EXPECT_EQ(contrib, layer->count_representing_contributing_surface_); \
- EXPECT_EQ(itself, layer->count_representing_itself_);
-
-void ResetCounts(LayerImplList* render_surface_layer_list) {
- for (unsigned surface_index = 0;
- surface_index < render_surface_layer_list->size();
- ++surface_index) {
- TestLayerImpl* render_surface_layer = static_cast<TestLayerImpl*>(
- render_surface_layer_list->at(surface_index));
- RenderSurfaceImpl* render_surface =
- render_surface_layer->GetRenderSurface();
-
- render_surface_layer->count_representing_target_surface_ = -1;
- render_surface_layer->count_representing_contributing_surface_ = -1;
- render_surface_layer->count_representing_itself_ = -1;
-
- for (unsigned layer_index = 0;
- layer_index < render_surface->layer_list().size();
- ++layer_index) {
- TestLayerImpl* layer = static_cast<TestLayerImpl*>(
- render_surface->layer_list()[layer_index]);
-
- layer->count_representing_target_surface_ = -1;
- layer->count_representing_contributing_surface_ = -1;
- layer->count_representing_itself_ = -1;
- }
- }
-}
-
-void IterateFrontToBack(LayerImplList* render_surface_layer_list) {
- ResetCounts(render_surface_layer_list);
- int count = 0;
- for (LayerIterator it = LayerIterator::Begin(render_surface_layer_list);
- it != LayerIterator::End(render_surface_layer_list); ++it, ++count) {
- TestLayerImpl* layer = static_cast<TestLayerImpl*>(*it);
- if (it.represents_target_render_surface())
- layer->count_representing_target_surface_ = count;
- if (it.represents_contributing_render_surface())
- layer->count_representing_contributing_surface_ = count;
- if (it.represents_itself())
- layer->count_representing_itself_ = count;
- }
-}
-
-class LayerIteratorTest : public testing::Test {
- public:
- LayerIteratorTest()
- : host_impl_(&task_runner_provider_, &task_graph_runner_), id_(1) {}
-
- std::unique_ptr<TestLayerImpl> CreateLayer() {
- return TestLayerImpl::Create(host_impl_.active_tree(), id_++);
- }
-
- protected:
- FakeImplTaskRunnerProvider task_runner_provider_;
- TestTaskGraphRunner task_graph_runner_;
- FakeLayerTreeHostImpl host_impl_;
-
- int id_;
-};
-
-TEST_F(LayerIteratorTest, EmptyTree) {
- LayerImplList render_surface_layer_list;
-
- IterateFrontToBack(&render_surface_layer_list);
-}
-
-TEST_F(LayerIteratorTest, SimpleTree) {
- std::unique_ptr<TestLayerImpl> root_layer = CreateLayer();
- std::unique_ptr<TestLayerImpl> first = CreateLayer();
- std::unique_ptr<TestLayerImpl> second = CreateLayer();
- std::unique_ptr<TestLayerImpl> third = CreateLayer();
- std::unique_ptr<TestLayerImpl> fourth = CreateLayer();
-
- TestLayerImpl* root_ptr = root_layer.get();
- TestLayerImpl* first_ptr = first.get();
- TestLayerImpl* second_ptr = second.get();
- TestLayerImpl* third_ptr = third.get();
- TestLayerImpl* fourth_ptr = fourth.get();
-
- root_layer->test_properties()->AddChild(std::move(first));
- root_layer->test_properties()->AddChild(std::move(second));
- root_layer->test_properties()->AddChild(std::move(third));
- root_layer->test_properties()->AddChild(std::move(fourth));
-
- host_impl_.active_tree()->SetRootLayerForTesting(std::move(root_layer));
-
- LayerImplList render_surface_layer_list;
- LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting inputs(
- root_ptr, root_ptr->bounds(), &render_surface_layer_list);
- LayerTreeHostCommon::CalculateDrawPropertiesForTesting(&inputs);
-
- IterateFrontToBack(&render_surface_layer_list);
- EXPECT_COUNT(root_ptr, 5, -1, 4);
- EXPECT_COUNT(first_ptr, -1, -1, 3);
- EXPECT_COUNT(second_ptr, -1, -1, 2);
- EXPECT_COUNT(third_ptr, -1, -1, 1);
- EXPECT_COUNT(fourth_ptr, -1, -1, 0);
-}
-
-TEST_F(LayerIteratorTest, ComplexTree) {
- std::unique_ptr<TestLayerImpl> root_layer = CreateLayer();
- std::unique_ptr<TestLayerImpl> root1 = CreateLayer();
- std::unique_ptr<TestLayerImpl> root2 = CreateLayer();
- std::unique_ptr<TestLayerImpl> root3 = CreateLayer();
- std::unique_ptr<TestLayerImpl> root21 = CreateLayer();
- std::unique_ptr<TestLayerImpl> root22 = CreateLayer();
- std::unique_ptr<TestLayerImpl> root23 = CreateLayer();
- std::unique_ptr<TestLayerImpl> root221 = CreateLayer();
- std::unique_ptr<TestLayerImpl> root231 = CreateLayer();
-
- TestLayerImpl* root_ptr = root_layer.get();
- TestLayerImpl* root1_ptr = root1.get();
- TestLayerImpl* root2_ptr = root2.get();
- TestLayerImpl* root3_ptr = root3.get();
- TestLayerImpl* root21_ptr = root21.get();
- TestLayerImpl* root22_ptr = root22.get();
- TestLayerImpl* root23_ptr = root23.get();
- TestLayerImpl* root221_ptr = root221.get();
- TestLayerImpl* root231_ptr = root231.get();
-
- root22->test_properties()->AddChild(std::move(root221));
- root23->test_properties()->AddChild(std::move(root231));
- root2->test_properties()->AddChild(std::move(root21));
- root2->test_properties()->AddChild(std::move(root22));
- root2->test_properties()->AddChild(std::move(root23));
- root_layer->test_properties()->AddChild(std::move(root1));
- root_layer->test_properties()->AddChild(std::move(root2));
- root_layer->test_properties()->AddChild(std::move(root3));
-
- host_impl_.active_tree()->SetRootLayerForTesting(std::move(root_layer));
-
- LayerImplList render_surface_layer_list;
- LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting inputs(
- root_ptr, root_ptr->bounds(), &render_surface_layer_list);
- LayerTreeHostCommon::CalculateDrawPropertiesForTesting(&inputs);
-
- IterateFrontToBack(&render_surface_layer_list);
- EXPECT_COUNT(root_ptr, 9, -1, 8);
- EXPECT_COUNT(root1_ptr, -1, -1, 7);
- EXPECT_COUNT(root2_ptr, -1, -1, 6);
- EXPECT_COUNT(root21_ptr, -1, -1, 5);
- EXPECT_COUNT(root22_ptr, -1, -1, 4);
- EXPECT_COUNT(root221_ptr, -1, -1, 3);
- EXPECT_COUNT(root23_ptr, -1, -1, 2);
- EXPECT_COUNT(root231_ptr, -1, -1, 1);
- EXPECT_COUNT(root3_ptr, -1, -1, 0);
-}
-
-TEST_F(LayerIteratorTest, ComplexTreeMultiSurface) {
- std::unique_ptr<TestLayerImpl> root_layer = CreateLayer();
- std::unique_ptr<TestLayerImpl> root1 = CreateLayer();
- std::unique_ptr<TestLayerImpl> root2 = CreateLayer();
- std::unique_ptr<TestLayerImpl> root3 = CreateLayer();
- std::unique_ptr<TestLayerImpl> root21 = CreateLayer();
- std::unique_ptr<TestLayerImpl> root22 = CreateLayer();
- std::unique_ptr<TestLayerImpl> root23 = CreateLayer();
- std::unique_ptr<TestLayerImpl> root221 = CreateLayer();
- std::unique_ptr<TestLayerImpl> root231 = CreateLayer();
-
- TestLayerImpl* root_ptr = root_layer.get();
- TestLayerImpl* root1_ptr = root1.get();
- TestLayerImpl* root2_ptr = root2.get();
- TestLayerImpl* root3_ptr = root3.get();
- TestLayerImpl* root21_ptr = root21.get();
- TestLayerImpl* root22_ptr = root22.get();
- TestLayerImpl* root23_ptr = root23.get();
- TestLayerImpl* root221_ptr = root221.get();
- TestLayerImpl* root231_ptr = root231.get();
-
- root22->test_properties()->force_render_surface = true;
- root23->test_properties()->force_render_surface = true;
- root2->test_properties()->force_render_surface = true;
- root22->test_properties()->AddChild(std::move(root221));
- root23->test_properties()->AddChild(std::move(root231));
- root2->SetDrawsContent(false);
- root2->test_properties()->AddChild(std::move(root21));
- root2->test_properties()->AddChild(std::move(root22));
- root2->test_properties()->AddChild(std::move(root23));
- root_layer->test_properties()->AddChild(std::move(root1));
- root_layer->test_properties()->AddChild(std::move(root2));
- root_layer->test_properties()->AddChild(std::move(root3));
-
- host_impl_.active_tree()->SetRootLayerForTesting(std::move(root_layer));
-
- LayerImplList render_surface_layer_list;
- LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting inputs(
- root_ptr, root_ptr->bounds(), &render_surface_layer_list);
- LayerTreeHostCommon::CalculateDrawPropertiesForTesting(&inputs);
-
- IterateFrontToBack(&render_surface_layer_list);
- EXPECT_COUNT(root_ptr, 14, -1, 13);
- EXPECT_COUNT(root1_ptr, -1, -1, 12);
- EXPECT_COUNT(root2_ptr, 10, 11, -1);
- EXPECT_COUNT(root21_ptr, -1, -1, 9);
- EXPECT_COUNT(root22_ptr, 7, 8, 6);
- EXPECT_COUNT(root221_ptr, -1, -1, 5);
- EXPECT_COUNT(root23_ptr, 3, 4, 2);
- EXPECT_COUNT(root231_ptr, -1, -1, 1);
- EXPECT_COUNT(root3_ptr, -1, -1, 0);
-}
-
-} // namespace
-} // namespace cc
« no previous file with comments | « cc/layers/layer_iterator.h ('k') | cc/layers/layer_list_iterator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698