| OLD | NEW |
| 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/trees/damage_tracker.h" | 5 #include "cc/trees/damage_tracker.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include "cc/base/math_util.h" | 9 #include "cc/base/math_util.h" |
| 10 #include "cc/layers/layer_impl.h" | 10 #include "cc/layers/layer_impl.h" |
| 11 #include "cc/output/filter_operation.h" | 11 #include "cc/output/filter_operation.h" |
| 12 #include "cc/output/filter_operations.h" | 12 #include "cc/output/filter_operations.h" |
| 13 #include "cc/test/fake_impl_task_runner_provider.h" | 13 #include "cc/test/fake_impl_task_runner_provider.h" |
| 14 #include "cc/test/fake_layer_tree_host_impl.h" | 14 #include "cc/test/fake_layer_tree_host_impl.h" |
| 15 #include "cc/test/geometry_test_utils.h" | 15 #include "cc/test/geometry_test_utils.h" |
| 16 #include "cc/test/test_shared_bitmap_manager.h" | |
| 17 #include "cc/test/test_task_graph_runner.h" | 16 #include "cc/test/test_task_graph_runner.h" |
| 18 #include "cc/trees/layer_tree_host_common.h" | 17 #include "cc/trees/layer_tree_host_common.h" |
| 19 #include "cc/trees/layer_tree_impl.h" | 18 #include "cc/trees/layer_tree_impl.h" |
| 20 #include "cc/trees/single_thread_proxy.h" | 19 #include "cc/trees/single_thread_proxy.h" |
| 21 #include "testing/gtest/include/gtest/gtest.h" | 20 #include "testing/gtest/include/gtest/gtest.h" |
| 22 #include "third_party/skia/include/effects/SkBlurImageFilter.h" | 21 #include "third_party/skia/include/effects/SkBlurImageFilter.h" |
| 23 #include "ui/gfx/geometry/quad_f.h" | 22 #include "ui/gfx/geometry/quad_f.h" |
| 24 #include "ui/gfx/geometry/rect_conversions.h" | 23 #include "ui/gfx/geometry/rect_conversions.h" |
| 25 | 24 |
| 26 namespace cc { | 25 namespace cc { |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 79 target_surface->content_rect(), target_surface->MaskLayer(), | 78 target_surface->content_rect(), target_surface->MaskLayer(), |
| 80 target_surface->Filters()); | 79 target_surface->Filters()); |
| 81 } | 80 } |
| 82 | 81 |
| 83 root->layer_tree_impl()->ResetAllChangeTracking(); | 82 root->layer_tree_impl()->ResetAllChangeTracking(); |
| 84 } | 83 } |
| 85 | 84 |
| 86 class DamageTrackerTest : public testing::Test { | 85 class DamageTrackerTest : public testing::Test { |
| 87 public: | 86 public: |
| 88 DamageTrackerTest() | 87 DamageTrackerTest() |
| 89 : host_impl_(&task_runner_provider_, | 88 : host_impl_(&task_runner_provider_, &task_graph_runner_) {} |
| 90 &shared_bitmap_manager_, | |
| 91 &task_graph_runner_) {} | |
| 92 | 89 |
| 93 LayerImpl* CreateTestTreeWithOneSurface() { | 90 LayerImpl* CreateTestTreeWithOneSurface() { |
| 94 host_impl_.active_tree()->DetachLayers(); | 91 host_impl_.active_tree()->DetachLayers(); |
| 95 std::unique_ptr<LayerImpl> root = | 92 std::unique_ptr<LayerImpl> root = |
| 96 LayerImpl::Create(host_impl_.active_tree(), 1); | 93 LayerImpl::Create(host_impl_.active_tree(), 1); |
| 97 std::unique_ptr<LayerImpl> child = | 94 std::unique_ptr<LayerImpl> child = |
| 98 LayerImpl::Create(host_impl_.active_tree(), 2); | 95 LayerImpl::Create(host_impl_.active_tree(), 2); |
| 99 | 96 |
| 100 root->SetPosition(gfx::PointF()); | 97 root->SetPosition(gfx::PointF()); |
| 101 root->SetBounds(gfx::Size(500, 500)); | 98 root->SetBounds(gfx::Size(500, 500)); |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 179 // Setup includes going past the first frame which always damages | 176 // Setup includes going past the first frame which always damages |
| 180 // everything, so that we can actually perform specific tests. | 177 // everything, so that we can actually perform specific tests. |
| 181 root->layer_tree_impl()->property_trees()->needs_rebuild = true; | 178 root->layer_tree_impl()->property_trees()->needs_rebuild = true; |
| 182 EmulateDrawingOneFrame(root); | 179 EmulateDrawingOneFrame(root); |
| 183 | 180 |
| 184 return root; | 181 return root; |
| 185 } | 182 } |
| 186 | 183 |
| 187 protected: | 184 protected: |
| 188 FakeImplTaskRunnerProvider task_runner_provider_; | 185 FakeImplTaskRunnerProvider task_runner_provider_; |
| 189 TestSharedBitmapManager shared_bitmap_manager_; | |
| 190 TestTaskGraphRunner task_graph_runner_; | 186 TestTaskGraphRunner task_graph_runner_; |
| 191 FakeLayerTreeHostImpl host_impl_; | 187 FakeLayerTreeHostImpl host_impl_; |
| 192 }; | 188 }; |
| 193 | 189 |
| 194 TEST_F(DamageTrackerTest, SanityCheckTestTreeWithOneSurface) { | 190 TEST_F(DamageTrackerTest, SanityCheckTestTreeWithOneSurface) { |
| 195 // Sanity check that the simple test tree will actually produce the expected | 191 // Sanity check that the simple test tree will actually produce the expected |
| 196 // render surfaces and layer lists. | 192 // render surfaces and layer lists. |
| 197 | 193 |
| 198 LayerImpl* root = CreateAndSetUpTestTreeWithOneSurface(); | 194 LayerImpl* root = CreateAndSetUpTestTreeWithOneSurface(); |
| 199 | 195 |
| (...skipping 1233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1433 gfx::Rect root_damage_rect = | 1429 gfx::Rect root_damage_rect = |
| 1434 root->render_surface()->damage_tracker()->current_damage_rect(); | 1430 root->render_surface()->damage_tracker()->current_damage_rect(); |
| 1435 gfx::Rect damage_we_care_about = gfx::Rect(i, i); | 1431 gfx::Rect damage_we_care_about = gfx::Rect(i, i); |
| 1436 EXPECT_LE(damage_we_care_about.right(), root_damage_rect.right()); | 1432 EXPECT_LE(damage_we_care_about.right(), root_damage_rect.right()); |
| 1437 EXPECT_LE(damage_we_care_about.bottom(), root_damage_rect.bottom()); | 1433 EXPECT_LE(damage_we_care_about.bottom(), root_damage_rect.bottom()); |
| 1438 } | 1434 } |
| 1439 } | 1435 } |
| 1440 | 1436 |
| 1441 } // namespace | 1437 } // namespace |
| 1442 } // namespace cc | 1438 } // namespace cc |
| OLD | NEW |