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/layer_tree_host_common.h" | 5 #include "cc/trees/layer_tree_host_common.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <memory> | 10 #include <memory> |
(...skipping 503 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
514 TEST_F(LayerTreeHostCommonTest, TransformsAboutScrollOffset) { | 514 TEST_F(LayerTreeHostCommonTest, TransformsAboutScrollOffset) { |
515 const gfx::ScrollOffset kScrollOffset(50, 100); | 515 const gfx::ScrollOffset kScrollOffset(50, 100); |
516 const gfx::Vector2dF kScrollDelta(2.34f, 5.67f); | 516 const gfx::Vector2dF kScrollDelta(2.34f, 5.67f); |
517 const gfx::Vector2d kMaxScrollOffset(200, 200); | 517 const gfx::Vector2d kMaxScrollOffset(200, 200); |
518 const gfx::PointF kScrollLayerPosition(-kScrollOffset.x(), | 518 const gfx::PointF kScrollLayerPosition(-kScrollOffset.x(), |
519 -kScrollOffset.y()); | 519 -kScrollOffset.y()); |
520 float page_scale = 0.888f; | 520 float page_scale = 0.888f; |
521 const float kDeviceScale = 1.666f; | 521 const float kDeviceScale = 1.666f; |
522 | 522 |
523 FakeImplTaskRunnerProvider task_runner_provider; | 523 FakeImplTaskRunnerProvider task_runner_provider; |
524 TestSharedBitmapManager shared_bitmap_manager; | |
525 TestTaskGraphRunner task_graph_runner; | 524 TestTaskGraphRunner task_graph_runner; |
526 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager, | 525 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &task_graph_runner); |
527 &task_graph_runner); | |
528 | 526 |
529 std::unique_ptr<LayerImpl> sublayer_scoped_ptr( | 527 std::unique_ptr<LayerImpl> sublayer_scoped_ptr( |
530 LayerImpl::Create(host_impl.active_tree(), 1)); | 528 LayerImpl::Create(host_impl.active_tree(), 1)); |
531 LayerImpl* sublayer = sublayer_scoped_ptr.get(); | 529 LayerImpl* sublayer = sublayer_scoped_ptr.get(); |
532 sublayer->SetDrawsContent(true); | 530 sublayer->SetDrawsContent(true); |
533 sublayer->SetBounds(gfx::Size(500, 500)); | 531 sublayer->SetBounds(gfx::Size(500, 500)); |
534 | 532 |
535 std::unique_ptr<LayerImpl> scroll_layer_scoped_ptr( | 533 std::unique_ptr<LayerImpl> scroll_layer_scoped_ptr( |
536 LayerImpl::Create(host_impl.active_tree(), 2)); | 534 LayerImpl::Create(host_impl.active_tree(), 2)); |
537 LayerImpl* scroll_layer = scroll_layer_scoped_ptr.get(); | 535 LayerImpl* scroll_layer = scroll_layer_scoped_ptr.get(); |
(...skipping 2902 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3440 ->transform_tree.Node(grand_child->transform_tree_index()) | 3438 ->transform_tree.Node(grand_child->transform_tree_index()) |
3441 ->ancestors_are_invertible); | 3439 ->ancestors_are_invertible); |
3442 | 3440 |
3443 // CalcDrawProps skips a subtree when a layer's screen space transform is | 3441 // CalcDrawProps skips a subtree when a layer's screen space transform is |
3444 // uninvertible | 3442 // uninvertible |
3445 EXPECT_EQ(gfx::Rect(), grand_child->visible_layer_rect()); | 3443 EXPECT_EQ(gfx::Rect(), grand_child->visible_layer_rect()); |
3446 } | 3444 } |
3447 | 3445 |
3448 TEST_F(LayerTreeHostCommonTest, OcclusionBySiblingOfTarget) { | 3446 TEST_F(LayerTreeHostCommonTest, OcclusionBySiblingOfTarget) { |
3449 FakeImplTaskRunnerProvider task_runner_provider; | 3447 FakeImplTaskRunnerProvider task_runner_provider; |
3450 TestSharedBitmapManager shared_bitmap_manager; | |
3451 TestTaskGraphRunner task_graph_runner; | 3448 TestTaskGraphRunner task_graph_runner; |
3452 std::unique_ptr<CompositorFrameSink> compositor_frame_sink = | 3449 std::unique_ptr<CompositorFrameSink> compositor_frame_sink = |
3453 FakeCompositorFrameSink::Create3d(); | 3450 FakeCompositorFrameSink::Create3d(); |
3454 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager, | 3451 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &task_graph_runner); |
3455 &task_graph_runner); | |
3456 | 3452 |
3457 std::unique_ptr<LayerImpl> root = | 3453 std::unique_ptr<LayerImpl> root = |
3458 LayerImpl::Create(host_impl.active_tree(), 1); | 3454 LayerImpl::Create(host_impl.active_tree(), 1); |
3459 std::unique_ptr<LayerImpl> child = | 3455 std::unique_ptr<LayerImpl> child = |
3460 LayerImpl::Create(host_impl.active_tree(), 2); | 3456 LayerImpl::Create(host_impl.active_tree(), 2); |
3461 std::unique_ptr<TextureLayerImpl> surface = | 3457 std::unique_ptr<TextureLayerImpl> surface = |
3462 TextureLayerImpl::Create(host_impl.active_tree(), 3); | 3458 TextureLayerImpl::Create(host_impl.active_tree(), 3); |
3463 std::unique_ptr<TextureLayerImpl> surface_child = | 3459 std::unique_ptr<TextureLayerImpl> surface_child = |
3464 TextureLayerImpl::Create(host_impl.active_tree(), 4); | 3460 TextureLayerImpl::Create(host_impl.active_tree(), 4); |
3465 std::unique_ptr<TextureLayerImpl> surface_sibling = | 3461 std::unique_ptr<TextureLayerImpl> surface_sibling = |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3517 EXPECT_TRUE(expected_occlusion.IsEqual(actual_occlusion)); | 3513 EXPECT_TRUE(expected_occlusion.IsEqual(actual_occlusion)); |
3518 | 3514 |
3519 // Mask layer should have the same occlusion. | 3515 // Mask layer should have the same occlusion. |
3520 actual_occlusion = | 3516 actual_occlusion = |
3521 surface_child_mask_ptr->draw_properties().occlusion_in_content_space; | 3517 surface_child_mask_ptr->draw_properties().occlusion_in_content_space; |
3522 EXPECT_TRUE(expected_occlusion.IsEqual(actual_occlusion)); | 3518 EXPECT_TRUE(expected_occlusion.IsEqual(actual_occlusion)); |
3523 } | 3519 } |
3524 | 3520 |
3525 TEST_F(LayerTreeHostCommonTest, TextureLayerSnapping) { | 3521 TEST_F(LayerTreeHostCommonTest, TextureLayerSnapping) { |
3526 FakeImplTaskRunnerProvider task_runner_provider; | 3522 FakeImplTaskRunnerProvider task_runner_provider; |
3527 TestSharedBitmapManager shared_bitmap_manager; | |
3528 TestTaskGraphRunner task_graph_runner; | 3523 TestTaskGraphRunner task_graph_runner; |
3529 std::unique_ptr<CompositorFrameSink> compositor_frame_sink = | 3524 std::unique_ptr<CompositorFrameSink> compositor_frame_sink = |
3530 FakeCompositorFrameSink::Create3d(); | 3525 FakeCompositorFrameSink::Create3d(); |
3531 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager, | 3526 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &task_graph_runner); |
3532 &task_graph_runner); | |
3533 | 3527 |
3534 std::unique_ptr<LayerImpl> root = | 3528 std::unique_ptr<LayerImpl> root = |
3535 LayerImpl::Create(host_impl.active_tree(), 1); | 3529 LayerImpl::Create(host_impl.active_tree(), 1); |
3536 std::unique_ptr<TextureLayerImpl> child = | 3530 std::unique_ptr<TextureLayerImpl> child = |
3537 TextureLayerImpl::Create(host_impl.active_tree(), 2); | 3531 TextureLayerImpl::Create(host_impl.active_tree(), 2); |
3538 | 3532 |
3539 LayerImpl* child_ptr = child.get(); | 3533 LayerImpl* child_ptr = child.get(); |
3540 | 3534 |
3541 root->SetBounds(gfx::Size(100, 100)); | 3535 root->SetBounds(gfx::Size(100, 100)); |
3542 child->SetBounds(gfx::Size(100, 100)); | 3536 child->SetBounds(gfx::Size(100, 100)); |
(...skipping 18 matching lines...) Expand all Loading... |
3561 fractional_translate); | 3555 fractional_translate); |
3562 gfx::RectF layer_bounds_in_screen_space = | 3556 gfx::RectF layer_bounds_in_screen_space = |
3563 MathUtil::MapClippedRect(child_ptr->ScreenSpaceTransform(), | 3557 MathUtil::MapClippedRect(child_ptr->ScreenSpaceTransform(), |
3564 gfx::RectF(gfx::SizeF(child_ptr->bounds()))); | 3558 gfx::RectF(gfx::SizeF(child_ptr->bounds()))); |
3565 EXPECT_EQ(layer_bounds_in_screen_space, gfx::RectF(11.f, 20.f, 100.f, 100.f)); | 3559 EXPECT_EQ(layer_bounds_in_screen_space, gfx::RectF(11.f, 20.f, 100.f, 100.f)); |
3566 } | 3560 } |
3567 | 3561 |
3568 TEST_F(LayerTreeHostCommonTest, | 3562 TEST_F(LayerTreeHostCommonTest, |
3569 OcclusionForLayerWithUninvertibleDrawTransform) { | 3563 OcclusionForLayerWithUninvertibleDrawTransform) { |
3570 FakeImplTaskRunnerProvider task_runner_provider; | 3564 FakeImplTaskRunnerProvider task_runner_provider; |
3571 TestSharedBitmapManager shared_bitmap_manager; | |
3572 TestTaskGraphRunner task_graph_runner; | 3565 TestTaskGraphRunner task_graph_runner; |
3573 std::unique_ptr<CompositorFrameSink> compositor_frame_sink = | 3566 std::unique_ptr<CompositorFrameSink> compositor_frame_sink = |
3574 FakeCompositorFrameSink::Create3d(); | 3567 FakeCompositorFrameSink::Create3d(); |
3575 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager, | 3568 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &task_graph_runner); |
3576 &task_graph_runner); | |
3577 | 3569 |
3578 std::unique_ptr<LayerImpl> root = | 3570 std::unique_ptr<LayerImpl> root = |
3579 LayerImpl::Create(host_impl.active_tree(), 1); | 3571 LayerImpl::Create(host_impl.active_tree(), 1); |
3580 std::unique_ptr<LayerImpl> child = | 3572 std::unique_ptr<LayerImpl> child = |
3581 LayerImpl::Create(host_impl.active_tree(), 2); | 3573 LayerImpl::Create(host_impl.active_tree(), 2); |
3582 std::unique_ptr<LayerImpl> grand_child = | 3574 std::unique_ptr<LayerImpl> grand_child = |
3583 LayerImpl::Create(host_impl.active_tree(), 3); | 3575 LayerImpl::Create(host_impl.active_tree(), 3); |
3584 std::unique_ptr<LayerImpl> occluding_child = | 3576 std::unique_ptr<LayerImpl> occluding_child = |
3585 LayerImpl::Create(host_impl.active_tree(), 4); | 3577 LayerImpl::Create(host_impl.active_tree(), 4); |
3586 | 3578 |
(...skipping 1244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4831 child->SetBounds(gfx::Size(10, 10)); | 4823 child->SetBounds(gfx::Size(10, 10)); |
4832 child->test_properties()->opacity = 0.5f; | 4824 child->test_properties()->opacity = 0.5f; |
4833 grand_child->SetBounds(gfx::Size(10, 10)); | 4825 grand_child->SetBounds(gfx::Size(10, 10)); |
4834 grand_child->SetDrawsContent(true); | 4826 grand_child->SetDrawsContent(true); |
4835 ExecuteCalculateDrawProperties(root); | 4827 ExecuteCalculateDrawProperties(root); |
4836 EXPECT_FALSE(child->has_render_surface()); | 4828 EXPECT_FALSE(child->has_render_surface()); |
4837 } | 4829 } |
4838 | 4830 |
4839 TEST_F(LayerTreeHostCommonTest, OpacityAnimatingOnPendingTree) { | 4831 TEST_F(LayerTreeHostCommonTest, OpacityAnimatingOnPendingTree) { |
4840 FakeImplTaskRunnerProvider task_runner_provider; | 4832 FakeImplTaskRunnerProvider task_runner_provider; |
4841 TestSharedBitmapManager shared_bitmap_manager; | |
4842 TestTaskGraphRunner task_graph_runner; | 4833 TestTaskGraphRunner task_graph_runner; |
4843 FakeLayerTreeHostImpl host_impl(host()->GetSettings(), &task_runner_provider, | 4834 FakeLayerTreeHostImpl host_impl(host()->GetSettings(), &task_runner_provider, |
4844 &shared_bitmap_manager, &task_graph_runner); | 4835 &task_graph_runner); |
4845 host_impl.CreatePendingTree(); | 4836 host_impl.CreatePendingTree(); |
4846 std::unique_ptr<LayerImpl> root = | 4837 std::unique_ptr<LayerImpl> root = |
4847 LayerImpl::Create(host_impl.pending_tree(), 1); | 4838 LayerImpl::Create(host_impl.pending_tree(), 1); |
4848 root->SetBounds(gfx::Size(100, 100)); | 4839 root->SetBounds(gfx::Size(100, 100)); |
4849 root->SetDrawsContent(true); | 4840 root->SetDrawsContent(true); |
4850 | 4841 |
4851 std::unique_ptr<LayerImpl> child = | 4842 std::unique_ptr<LayerImpl> child = |
4852 LayerImpl::Create(host_impl.pending_tree(), 2); | 4843 LayerImpl::Create(host_impl.pending_tree(), 2); |
4853 child->SetBounds(gfx::Size(50, 50)); | 4844 child->SetBounds(gfx::Size(50, 50)); |
4854 child->SetDrawsContent(true); | 4845 child->SetDrawsContent(true); |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4936 } | 4927 } |
4937 | 4928 |
4938 using LCDTextTestParam = std::tr1::tuple<bool, bool, bool>; | 4929 using LCDTextTestParam = std::tr1::tuple<bool, bool, bool>; |
4939 class LCDTextTest : public LayerTreeHostCommonTestBase, | 4930 class LCDTextTest : public LayerTreeHostCommonTestBase, |
4940 public testing::TestWithParam<LCDTextTestParam> { | 4931 public testing::TestWithParam<LCDTextTestParam> { |
4941 public: | 4932 public: |
4942 LCDTextTest() | 4933 LCDTextTest() |
4943 : LayerTreeHostCommonTestBase(LCDTextTestLayerTreeSettings()), | 4934 : LayerTreeHostCommonTestBase(LCDTextTestLayerTreeSettings()), |
4944 host_impl_(LCDTextTestLayerTreeSettings(), | 4935 host_impl_(LCDTextTestLayerTreeSettings(), |
4945 &task_runner_provider_, | 4936 &task_runner_provider_, |
4946 &shared_bitmap_manager_, | |
4947 &task_graph_runner_) {} | 4937 &task_graph_runner_) {} |
4948 | 4938 |
4949 scoped_refptr<AnimationTimeline> timeline() { return timeline_; } | 4939 scoped_refptr<AnimationTimeline> timeline() { return timeline_; } |
4950 | 4940 |
4951 protected: | 4941 protected: |
4952 LayerTreeSettings LCDTextTestLayerTreeSettings() { | 4942 LayerTreeSettings LCDTextTestLayerTreeSettings() { |
4953 LayerTreeSettings settings = VerifyTreeCalcsLayerTreeSettings(); | 4943 LayerTreeSettings settings = VerifyTreeCalcsLayerTreeSettings(); |
4954 | 4944 |
4955 can_use_lcd_text_ = std::tr1::get<0>(GetParam()); | 4945 can_use_lcd_text_ = std::tr1::get<0>(GetParam()); |
4956 layers_always_allowed_lcd_text_ = std::tr1::get<1>(GetParam()); | 4946 layers_always_allowed_lcd_text_ = std::tr1::get<1>(GetParam()); |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4995 grand_child_->SetBounds(gfx::Size(1, 1)); | 4985 grand_child_->SetBounds(gfx::Size(1, 1)); |
4996 | 4986 |
4997 child_->test_properties()->force_render_surface = | 4987 child_->test_properties()->force_render_surface = |
4998 std::tr1::get<2>(GetParam()); | 4988 std::tr1::get<2>(GetParam()); |
4999 } | 4989 } |
5000 | 4990 |
5001 bool can_use_lcd_text_; | 4991 bool can_use_lcd_text_; |
5002 bool layers_always_allowed_lcd_text_; | 4992 bool layers_always_allowed_lcd_text_; |
5003 | 4993 |
5004 FakeImplTaskRunnerProvider task_runner_provider_; | 4994 FakeImplTaskRunnerProvider task_runner_provider_; |
5005 TestSharedBitmapManager shared_bitmap_manager_; | |
5006 TestTaskGraphRunner task_graph_runner_; | 4995 TestTaskGraphRunner task_graph_runner_; |
5007 FakeLayerTreeHostImpl host_impl_; | 4996 FakeLayerTreeHostImpl host_impl_; |
5008 scoped_refptr<AnimationTimeline> timeline_; | 4997 scoped_refptr<AnimationTimeline> timeline_; |
5009 | 4998 |
5010 LayerImpl* root_ = nullptr; | 4999 LayerImpl* root_ = nullptr; |
5011 LayerImpl* child_ = nullptr; | 5000 LayerImpl* child_ = nullptr; |
5012 LayerImpl* grand_child_ = nullptr; | 5001 LayerImpl* grand_child_ = nullptr; |
5013 }; | 5002 }; |
5014 | 5003 |
5015 TEST_P(LCDTextTest, CanUseLCDText) { | 5004 TEST_P(LCDTextTest, CanUseLCDText) { |
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5153 } | 5142 } |
5154 | 5143 |
5155 INSTANTIATE_TEST_CASE_P(LayerTreeHostCommonTest, | 5144 INSTANTIATE_TEST_CASE_P(LayerTreeHostCommonTest, |
5156 LCDTextTest, | 5145 LCDTextTest, |
5157 testing::Combine(testing::Bool(), | 5146 testing::Combine(testing::Bool(), |
5158 testing::Bool(), | 5147 testing::Bool(), |
5159 testing::Bool())); | 5148 testing::Bool())); |
5160 | 5149 |
5161 TEST_F(LayerTreeHostCommonTest, SubtreeHidden_SingleLayerImpl) { | 5150 TEST_F(LayerTreeHostCommonTest, SubtreeHidden_SingleLayerImpl) { |
5162 FakeImplTaskRunnerProvider task_runner_provider; | 5151 FakeImplTaskRunnerProvider task_runner_provider; |
5163 TestSharedBitmapManager shared_bitmap_manager; | |
5164 TestTaskGraphRunner task_graph_runner; | 5152 TestTaskGraphRunner task_graph_runner; |
5165 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager, | 5153 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &task_graph_runner); |
5166 &task_graph_runner); | |
5167 host_impl.CreatePendingTree(); | 5154 host_impl.CreatePendingTree(); |
5168 | 5155 |
5169 std::unique_ptr<LayerImpl> root = | 5156 std::unique_ptr<LayerImpl> root = |
5170 LayerImpl::Create(host_impl.pending_tree(), 1); | 5157 LayerImpl::Create(host_impl.pending_tree(), 1); |
5171 root->SetBounds(gfx::Size(50, 50)); | 5158 root->SetBounds(gfx::Size(50, 50)); |
5172 root->SetDrawsContent(true); | 5159 root->SetDrawsContent(true); |
5173 LayerImpl* root_layer = root.get(); | 5160 LayerImpl* root_layer = root.get(); |
5174 | 5161 |
5175 std::unique_ptr<LayerImpl> child = | 5162 std::unique_ptr<LayerImpl> child = |
5176 LayerImpl::Create(host_impl.pending_tree(), 2); | 5163 LayerImpl::Create(host_impl.pending_tree(), 2); |
(...skipping 20 matching lines...) Expand all Loading... |
5197 // We should have one render surface and two layers. The grand child has | 5184 // We should have one render surface and two layers. The grand child has |
5198 // hidden itself. | 5185 // hidden itself. |
5199 ASSERT_EQ(1u, render_surface_layer_list.size()); | 5186 ASSERT_EQ(1u, render_surface_layer_list.size()); |
5200 ASSERT_EQ(2u, root_layer->render_surface()->layer_list().size()); | 5187 ASSERT_EQ(2u, root_layer->render_surface()->layer_list().size()); |
5201 EXPECT_EQ(1, root_layer->render_surface()->layer_list().at(0)->id()); | 5188 EXPECT_EQ(1, root_layer->render_surface()->layer_list().at(0)->id()); |
5202 EXPECT_EQ(2, root_layer->render_surface()->layer_list().at(1)->id()); | 5189 EXPECT_EQ(2, root_layer->render_surface()->layer_list().at(1)->id()); |
5203 } | 5190 } |
5204 | 5191 |
5205 TEST_F(LayerTreeHostCommonTest, SubtreeHidden_TwoLayersImpl) { | 5192 TEST_F(LayerTreeHostCommonTest, SubtreeHidden_TwoLayersImpl) { |
5206 FakeImplTaskRunnerProvider task_runner_provider; | 5193 FakeImplTaskRunnerProvider task_runner_provider; |
5207 TestSharedBitmapManager shared_bitmap_manager; | |
5208 TestTaskGraphRunner task_graph_runner; | 5194 TestTaskGraphRunner task_graph_runner; |
5209 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager, | 5195 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &task_graph_runner); |
5210 &task_graph_runner); | |
5211 host_impl.CreatePendingTree(); | 5196 host_impl.CreatePendingTree(); |
5212 | 5197 |
5213 std::unique_ptr<LayerImpl> root = | 5198 std::unique_ptr<LayerImpl> root = |
5214 LayerImpl::Create(host_impl.pending_tree(), 1); | 5199 LayerImpl::Create(host_impl.pending_tree(), 1); |
5215 root->SetBounds(gfx::Size(50, 50)); | 5200 root->SetBounds(gfx::Size(50, 50)); |
5216 root->SetDrawsContent(true); | 5201 root->SetDrawsContent(true); |
5217 LayerImpl* root_layer = root.get(); | 5202 LayerImpl* root_layer = root.get(); |
5218 | 5203 |
5219 std::unique_ptr<LayerImpl> child = | 5204 std::unique_ptr<LayerImpl> child = |
5220 LayerImpl::Create(host_impl.pending_tree(), 2); | 5205 LayerImpl::Create(host_impl.pending_tree(), 2); |
(...skipping 20 matching lines...) Expand all Loading... |
5241 // hidden itself and the grand child. | 5226 // hidden itself and the grand child. |
5242 ASSERT_EQ(1u, render_surface_layer_list.size()); | 5227 ASSERT_EQ(1u, render_surface_layer_list.size()); |
5243 ASSERT_EQ(1u, root_layer->render_surface()->layer_list().size()); | 5228 ASSERT_EQ(1u, root_layer->render_surface()->layer_list().size()); |
5244 EXPECT_EQ(1, root_layer->render_surface()->layer_list().at(0)->id()); | 5229 EXPECT_EQ(1, root_layer->render_surface()->layer_list().at(0)->id()); |
5245 } | 5230 } |
5246 | 5231 |
5247 void EmptyCopyOutputCallback(std::unique_ptr<CopyOutputResult> result) {} | 5232 void EmptyCopyOutputCallback(std::unique_ptr<CopyOutputResult> result) {} |
5248 | 5233 |
5249 TEST_F(LayerTreeHostCommonTest, SubtreeHiddenWithCopyRequest) { | 5234 TEST_F(LayerTreeHostCommonTest, SubtreeHiddenWithCopyRequest) { |
5250 FakeImplTaskRunnerProvider task_runner_provider; | 5235 FakeImplTaskRunnerProvider task_runner_provider; |
5251 TestSharedBitmapManager shared_bitmap_manager; | |
5252 TestTaskGraphRunner task_graph_runner; | 5236 TestTaskGraphRunner task_graph_runner; |
5253 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager, | 5237 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &task_graph_runner); |
5254 &task_graph_runner); | |
5255 host_impl.CreatePendingTree(); | 5238 host_impl.CreatePendingTree(); |
5256 | 5239 |
5257 std::unique_ptr<LayerImpl> root = | 5240 std::unique_ptr<LayerImpl> root = |
5258 LayerImpl::Create(host_impl.pending_tree(), 1); | 5241 LayerImpl::Create(host_impl.pending_tree(), 1); |
5259 root->SetBounds(gfx::Size(50, 50)); | 5242 root->SetBounds(gfx::Size(50, 50)); |
5260 root->SetDrawsContent(true); | 5243 root->SetDrawsContent(true); |
5261 LayerImpl* root_layer = root.get(); | 5244 LayerImpl* root_layer = root.get(); |
5262 | 5245 |
5263 std::unique_ptr<LayerImpl> copy_grand_parent = | 5246 std::unique_ptr<LayerImpl> copy_grand_parent = |
5264 LayerImpl::Create(host_impl.pending_tree(), 2); | 5247 LayerImpl::Create(host_impl.pending_tree(), 2); |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5387 node = tree.Node(copy_grand_child_layer->effect_tree_index()); | 5370 node = tree.Node(copy_grand_child_layer->effect_tree_index()); |
5388 EXPECT_FALSE(node->is_drawn); | 5371 EXPECT_FALSE(node->is_drawn); |
5389 | 5372 |
5390 // Though copy_layer is drawn, it shouldn't contribute to drawn surface as its | 5373 // Though copy_layer is drawn, it shouldn't contribute to drawn surface as its |
5391 // actually hidden. | 5374 // actually hidden. |
5392 EXPECT_FALSE(copy_layer->render_surface()->contributes_to_drawn_surface()); | 5375 EXPECT_FALSE(copy_layer->render_surface()->contributes_to_drawn_surface()); |
5393 } | 5376 } |
5394 | 5377 |
5395 TEST_F(LayerTreeHostCommonTest, ClippedOutCopyRequest) { | 5378 TEST_F(LayerTreeHostCommonTest, ClippedOutCopyRequest) { |
5396 FakeImplTaskRunnerProvider task_runner_provider; | 5379 FakeImplTaskRunnerProvider task_runner_provider; |
5397 TestSharedBitmapManager shared_bitmap_manager; | |
5398 TestTaskGraphRunner task_graph_runner; | 5380 TestTaskGraphRunner task_graph_runner; |
5399 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager, | 5381 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &task_graph_runner); |
5400 &task_graph_runner); | |
5401 host_impl.CreatePendingTree(); | 5382 host_impl.CreatePendingTree(); |
5402 | 5383 |
5403 std::unique_ptr<LayerImpl> root = | 5384 std::unique_ptr<LayerImpl> root = |
5404 LayerImpl::Create(host_impl.pending_tree(), 1); | 5385 LayerImpl::Create(host_impl.pending_tree(), 1); |
5405 root->SetBounds(gfx::Size(50, 50)); | 5386 root->SetBounds(gfx::Size(50, 50)); |
5406 root->SetDrawsContent(true); | 5387 root->SetDrawsContent(true); |
5407 | 5388 |
5408 std::unique_ptr<LayerImpl> copy_parent = | 5389 std::unique_ptr<LayerImpl> copy_parent = |
5409 LayerImpl::Create(host_impl.pending_tree(), 2); | 5390 LayerImpl::Create(host_impl.pending_tree(), 2); |
5410 copy_parent->SetDrawsContent(true); | 5391 copy_parent->SetDrawsContent(true); |
(...skipping 486 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5897 | 5878 |
5898 // Verify which render surfaces were created. | 5879 // Verify which render surfaces were created. |
5899 EXPECT_TRUE(root->has_render_surface()); | 5880 EXPECT_TRUE(root->has_render_surface()); |
5900 EXPECT_FALSE(child1->has_render_surface()); | 5881 EXPECT_FALSE(child1->has_render_surface()); |
5901 EXPECT_TRUE(child2->has_render_surface()); | 5882 EXPECT_TRUE(child2->has_render_surface()); |
5902 EXPECT_FALSE(child3->has_render_surface()); | 5883 EXPECT_FALSE(child3->has_render_surface()); |
5903 } | 5884 } |
5904 | 5885 |
5905 TEST_F(LayerTreeHostCommonTest, CanRenderToSeparateSurface) { | 5886 TEST_F(LayerTreeHostCommonTest, CanRenderToSeparateSurface) { |
5906 FakeImplTaskRunnerProvider task_runner_provider; | 5887 FakeImplTaskRunnerProvider task_runner_provider; |
5907 TestSharedBitmapManager shared_bitmap_manager; | |
5908 TestTaskGraphRunner task_graph_runner; | 5888 TestTaskGraphRunner task_graph_runner; |
5909 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager, | 5889 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &task_graph_runner); |
5910 &task_graph_runner); | |
5911 | 5890 |
5912 std::unique_ptr<LayerImpl> root = | 5891 std::unique_ptr<LayerImpl> root = |
5913 LayerImpl::Create(host_impl.active_tree(), 12345); | 5892 LayerImpl::Create(host_impl.active_tree(), 12345); |
5914 std::unique_ptr<LayerImpl> child1 = | 5893 std::unique_ptr<LayerImpl> child1 = |
5915 LayerImpl::Create(host_impl.active_tree(), 123456); | 5894 LayerImpl::Create(host_impl.active_tree(), 123456); |
5916 std::unique_ptr<LayerImpl> child2 = | 5895 std::unique_ptr<LayerImpl> child2 = |
5917 LayerImpl::Create(host_impl.active_tree(), 1234567); | 5896 LayerImpl::Create(host_impl.active_tree(), 1234567); |
5918 std::unique_ptr<LayerImpl> child3 = | 5897 std::unique_ptr<LayerImpl> child3 = |
5919 LayerImpl::Create(host_impl.active_tree(), 12345678); | 5898 LayerImpl::Create(host_impl.active_tree(), 12345678); |
5920 | 5899 |
(...skipping 676 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6597 TEST_F(LayerTreeHostCommonTest, ScrollCompensationWithRounding) { | 6576 TEST_F(LayerTreeHostCommonTest, ScrollCompensationWithRounding) { |
6598 // This test verifies that a scrolling layer that gets snapped to | 6577 // This test verifies that a scrolling layer that gets snapped to |
6599 // integer coordinates doesn't move a fixed position child. | 6578 // integer coordinates doesn't move a fixed position child. |
6600 // | 6579 // |
6601 // + root | 6580 // + root |
6602 // + container | 6581 // + container |
6603 // + scroller | 6582 // + scroller |
6604 // + fixed | 6583 // + fixed |
6605 // | 6584 // |
6606 FakeImplTaskRunnerProvider task_runner_provider; | 6585 FakeImplTaskRunnerProvider task_runner_provider; |
6607 TestSharedBitmapManager shared_bitmap_manager; | |
6608 TestTaskGraphRunner task_graph_runner; | 6586 TestTaskGraphRunner task_graph_runner; |
6609 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager, | 6587 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &task_graph_runner); |
6610 &task_graph_runner); | |
6611 host_impl.CreatePendingTree(); | 6588 host_impl.CreatePendingTree(); |
6612 std::unique_ptr<LayerImpl> root_ptr = | 6589 std::unique_ptr<LayerImpl> root_ptr = |
6613 LayerImpl::Create(host_impl.active_tree(), 1); | 6590 LayerImpl::Create(host_impl.active_tree(), 1); |
6614 LayerImpl* root = root_ptr.get(); | 6591 LayerImpl* root = root_ptr.get(); |
6615 std::unique_ptr<LayerImpl> container = | 6592 std::unique_ptr<LayerImpl> container = |
6616 LayerImpl::Create(host_impl.active_tree(), 2); | 6593 LayerImpl::Create(host_impl.active_tree(), 2); |
6617 LayerImpl* container_layer = container.get(); | 6594 LayerImpl* container_layer = container.get(); |
6618 std::unique_ptr<LayerImpl> scroller = | 6595 std::unique_ptr<LayerImpl> scroller = |
6619 LayerImpl::Create(host_impl.active_tree(), 3); | 6596 LayerImpl::Create(host_impl.active_tree(), 3); |
6620 LayerImpl* scroll_layer = scroller.get(); | 6597 LayerImpl* scroll_layer = scroller.get(); |
(...skipping 1007 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7628 private: | 7605 private: |
7629 explicit AnimationScaleFactorTrackingLayerImpl(LayerTreeImpl* tree_impl, | 7606 explicit AnimationScaleFactorTrackingLayerImpl(LayerTreeImpl* tree_impl, |
7630 int id) | 7607 int id) |
7631 : LayerImpl(tree_impl, id) { | 7608 : LayerImpl(tree_impl, id) { |
7632 SetDrawsContent(true); | 7609 SetDrawsContent(true); |
7633 } | 7610 } |
7634 }; | 7611 }; |
7635 | 7612 |
7636 TEST_F(LayerTreeHostCommonTest, MaximumAnimationScaleFactor) { | 7613 TEST_F(LayerTreeHostCommonTest, MaximumAnimationScaleFactor) { |
7637 FakeImplTaskRunnerProvider task_runner_provider; | 7614 FakeImplTaskRunnerProvider task_runner_provider; |
7638 TestSharedBitmapManager shared_bitmap_manager; | |
7639 TestTaskGraphRunner task_graph_runner; | 7615 TestTaskGraphRunner task_graph_runner; |
7640 LayerTreeSettings settings = host()->GetSettings(); | 7616 LayerTreeSettings settings = host()->GetSettings(); |
7641 settings.layer_transforms_should_scale_layer_contents = true; | 7617 settings.layer_transforms_should_scale_layer_contents = true; |
7642 FakeLayerTreeHostImpl host_impl(settings, &task_runner_provider, | 7618 FakeLayerTreeHostImpl host_impl(settings, &task_runner_provider, |
7643 &shared_bitmap_manager, &task_graph_runner); | 7619 &task_graph_runner); |
7644 std::unique_ptr<AnimationScaleFactorTrackingLayerImpl> grand_parent = | 7620 std::unique_ptr<AnimationScaleFactorTrackingLayerImpl> grand_parent = |
7645 AnimationScaleFactorTrackingLayerImpl::Create(host_impl.active_tree(), 1); | 7621 AnimationScaleFactorTrackingLayerImpl::Create(host_impl.active_tree(), 1); |
7646 std::unique_ptr<AnimationScaleFactorTrackingLayerImpl> parent = | 7622 std::unique_ptr<AnimationScaleFactorTrackingLayerImpl> parent = |
7647 AnimationScaleFactorTrackingLayerImpl::Create(host_impl.active_tree(), 2); | 7623 AnimationScaleFactorTrackingLayerImpl::Create(host_impl.active_tree(), 2); |
7648 std::unique_ptr<AnimationScaleFactorTrackingLayerImpl> child = | 7624 std::unique_ptr<AnimationScaleFactorTrackingLayerImpl> child = |
7649 AnimationScaleFactorTrackingLayerImpl::Create(host_impl.active_tree(), 3); | 7625 AnimationScaleFactorTrackingLayerImpl::Create(host_impl.active_tree(), 3); |
7650 std::unique_ptr<AnimationScaleFactorTrackingLayerImpl> grand_child = | 7626 std::unique_ptr<AnimationScaleFactorTrackingLayerImpl> grand_child = |
7651 AnimationScaleFactorTrackingLayerImpl::Create(host_impl.active_tree(), 4); | 7627 AnimationScaleFactorTrackingLayerImpl::Create(host_impl.active_tree(), 4); |
7652 | 7628 |
7653 AnimationScaleFactorTrackingLayerImpl* parent_raw = parent.get(); | 7629 AnimationScaleFactorTrackingLayerImpl* parent_raw = parent.get(); |
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7886 if (!it.represents_contributing_render_surface()) | 7862 if (!it.represents_contributing_render_surface()) |
7887 continue; | 7863 continue; |
7888 | 7864 |
7889 if (layer->render_surface()->MaskLayer()) | 7865 if (layer->render_surface()->MaskLayer()) |
7890 drawn_layers->insert(layer->render_surface()->MaskLayer()); | 7866 drawn_layers->insert(layer->render_surface()->MaskLayer()); |
7891 } | 7867 } |
7892 } | 7868 } |
7893 | 7869 |
7894 TEST_F(LayerTreeHostCommonTest, RenderSurfaceLayerListMembership) { | 7870 TEST_F(LayerTreeHostCommonTest, RenderSurfaceLayerListMembership) { |
7895 FakeImplTaskRunnerProvider task_runner_provider; | 7871 FakeImplTaskRunnerProvider task_runner_provider; |
7896 TestSharedBitmapManager shared_bitmap_manager; | |
7897 TestTaskGraphRunner task_graph_runner; | 7872 TestTaskGraphRunner task_graph_runner; |
7898 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager, | 7873 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &task_graph_runner); |
7899 &task_graph_runner); | |
7900 | 7874 |
7901 std::unique_ptr<LayerImpl> grand_parent = | 7875 std::unique_ptr<LayerImpl> grand_parent = |
7902 LayerImpl::Create(host_impl.active_tree(), 1); | 7876 LayerImpl::Create(host_impl.active_tree(), 1); |
7903 std::unique_ptr<LayerImpl> parent = | 7877 std::unique_ptr<LayerImpl> parent = |
7904 LayerImpl::Create(host_impl.active_tree(), 3); | 7878 LayerImpl::Create(host_impl.active_tree(), 3); |
7905 std::unique_ptr<LayerImpl> child = | 7879 std::unique_ptr<LayerImpl> child = |
7906 LayerImpl::Create(host_impl.active_tree(), 5); | 7880 LayerImpl::Create(host_impl.active_tree(), 5); |
7907 std::unique_ptr<LayerImpl> grand_child1 = | 7881 std::unique_ptr<LayerImpl> grand_child1 = |
7908 LayerImpl::Create(host_impl.active_tree(), 7); | 7882 LayerImpl::Create(host_impl.active_tree(), 7); |
7909 std::unique_ptr<LayerImpl> grand_child2 = | 7883 std::unique_ptr<LayerImpl> grand_child2 = |
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8112 expected.insert(grand_child1_raw); | 8086 expected.insert(grand_child1_raw); |
8113 expected.insert(grand_child2_raw); | 8087 expected.insert(grand_child2_raw); |
8114 | 8088 |
8115 actual.clear(); | 8089 actual.clear(); |
8116 GatherDrawnLayers(render_surface_layer_list_impl(), &actual); | 8090 GatherDrawnLayers(render_surface_layer_list_impl(), &actual); |
8117 EXPECT_EQ(expected, actual); | 8091 EXPECT_EQ(expected, actual); |
8118 } | 8092 } |
8119 | 8093 |
8120 TEST_F(LayerTreeHostCommonTest, DrawPropertyScales) { | 8094 TEST_F(LayerTreeHostCommonTest, DrawPropertyScales) { |
8121 FakeImplTaskRunnerProvider task_runner_provider; | 8095 FakeImplTaskRunnerProvider task_runner_provider; |
8122 TestSharedBitmapManager shared_bitmap_manager; | |
8123 TestTaskGraphRunner task_graph_runner; | 8096 TestTaskGraphRunner task_graph_runner; |
8124 LayerTreeSettings settings = host()->GetSettings(); | 8097 LayerTreeSettings settings = host()->GetSettings(); |
8125 settings.layer_transforms_should_scale_layer_contents = true; | 8098 settings.layer_transforms_should_scale_layer_contents = true; |
8126 FakeLayerTreeHostImpl host_impl(settings, &task_runner_provider, | 8099 FakeLayerTreeHostImpl host_impl(settings, &task_runner_provider, |
8127 &shared_bitmap_manager, &task_graph_runner); | 8100 &task_graph_runner); |
8128 | 8101 |
8129 std::unique_ptr<LayerImpl> root = | 8102 std::unique_ptr<LayerImpl> root = |
8130 LayerImpl::Create(host_impl.active_tree(), 1); | 8103 LayerImpl::Create(host_impl.active_tree(), 1); |
8131 LayerImpl* root_layer = root.get(); | 8104 LayerImpl* root_layer = root.get(); |
8132 std::unique_ptr<LayerImpl> child1 = | 8105 std::unique_ptr<LayerImpl> child1 = |
8133 LayerImpl::Create(host_impl.active_tree(), 2); | 8106 LayerImpl::Create(host_impl.active_tree(), 2); |
8134 LayerImpl* child1_layer = child1.get(); | 8107 LayerImpl* child1_layer = child1.get(); |
8135 std::unique_ptr<LayerImpl> child2 = | 8108 std::unique_ptr<LayerImpl> child2 = |
8136 LayerImpl::Create(host_impl.active_tree(), 3); | 8109 LayerImpl::Create(host_impl.active_tree(), 3); |
8137 LayerImpl* child2_layer = child2.get(); | 8110 LayerImpl* child2_layer = child2.get(); |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8227 child1_layer->test_properties()->mask_layer->GetIdealContentsScale()); | 8200 child1_layer->test_properties()->mask_layer->GetIdealContentsScale()); |
8228 EXPECT_FLOAT_EQ(60.f, child2_layer->GetIdealContentsScale()); | 8201 EXPECT_FLOAT_EQ(60.f, child2_layer->GetIdealContentsScale()); |
8229 | 8202 |
8230 EXPECT_FLOAT_EQ(0.f, GetMaximumAnimationScale(root_layer)); | 8203 EXPECT_FLOAT_EQ(0.f, GetMaximumAnimationScale(root_layer)); |
8231 EXPECT_FLOAT_EQ(0.f, GetMaximumAnimationScale(child1_layer)); | 8204 EXPECT_FLOAT_EQ(0.f, GetMaximumAnimationScale(child1_layer)); |
8232 EXPECT_FLOAT_EQ(96.f, GetMaximumAnimationScale(child2_layer)); | 8205 EXPECT_FLOAT_EQ(96.f, GetMaximumAnimationScale(child2_layer)); |
8233 } | 8206 } |
8234 | 8207 |
8235 TEST_F(LayerTreeHostCommonTest, AnimationScales) { | 8208 TEST_F(LayerTreeHostCommonTest, AnimationScales) { |
8236 FakeImplTaskRunnerProvider task_runner_provider; | 8209 FakeImplTaskRunnerProvider task_runner_provider; |
8237 TestSharedBitmapManager shared_bitmap_manager; | |
8238 TestTaskGraphRunner task_graph_runner; | 8210 TestTaskGraphRunner task_graph_runner; |
8239 LayerTreeSettings settings = host()->GetSettings(); | 8211 LayerTreeSettings settings = host()->GetSettings(); |
8240 settings.layer_transforms_should_scale_layer_contents = true; | 8212 settings.layer_transforms_should_scale_layer_contents = true; |
8241 FakeLayerTreeHostImpl host_impl(settings, &task_runner_provider, | 8213 FakeLayerTreeHostImpl host_impl(settings, &task_runner_provider, |
8242 &shared_bitmap_manager, &task_graph_runner); | 8214 &task_graph_runner); |
8243 | 8215 |
8244 std::unique_ptr<LayerImpl> root = | 8216 std::unique_ptr<LayerImpl> root = |
8245 LayerImpl::Create(host_impl.active_tree(), 1); | 8217 LayerImpl::Create(host_impl.active_tree(), 1); |
8246 LayerImpl* root_layer = root.get(); | 8218 LayerImpl* root_layer = root.get(); |
8247 std::unique_ptr<LayerImpl> child1 = | 8219 std::unique_ptr<LayerImpl> child1 = |
8248 LayerImpl::Create(host_impl.active_tree(), 2); | 8220 LayerImpl::Create(host_impl.active_tree(), 2); |
8249 LayerImpl* child1_layer = child1.get(); | 8221 LayerImpl* child1_layer = child1.get(); |
8250 std::unique_ptr<LayerImpl> child2 = | 8222 std::unique_ptr<LayerImpl> child2 = |
8251 LayerImpl::Create(host_impl.active_tree(), 3); | 8223 LayerImpl::Create(host_impl.active_tree(), 3); |
8252 LayerImpl* child2_layer = child2.get(); | 8224 LayerImpl* child2_layer = child2.get(); |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8306 child2_layer->transform_tree_index(), 100.f, 100.f); | 8278 child2_layer->transform_tree_index(), 100.f, 100.f); |
8307 EXPECT_FLOAT_EQ(100.f, GetMaximumAnimationScale(child2_layer)); | 8279 EXPECT_FLOAT_EQ(100.f, GetMaximumAnimationScale(child2_layer)); |
8308 EXPECT_FLOAT_EQ(100.f, GetStartingAnimationScale(child2_layer)); | 8280 EXPECT_FLOAT_EQ(100.f, GetStartingAnimationScale(child2_layer)); |
8309 } | 8281 } |
8310 | 8282 |
8311 TEST_F(LayerTreeHostCommonTest, | 8283 TEST_F(LayerTreeHostCommonTest, |
8312 AnimationScaleWhenLayerTransformShouldNotScaleLayerBounds) { | 8284 AnimationScaleWhenLayerTransformShouldNotScaleLayerBounds) { |
8313 // Returns empty scale if layer_transforms_should_scale_layer_contents is | 8285 // Returns empty scale if layer_transforms_should_scale_layer_contents is |
8314 // false. | 8286 // false. |
8315 FakeImplTaskRunnerProvider task_runner_provider; | 8287 FakeImplTaskRunnerProvider task_runner_provider; |
8316 TestSharedBitmapManager shared_bitmap_manager; | |
8317 TestTaskGraphRunner task_graph_runner; | 8288 TestTaskGraphRunner task_graph_runner; |
8318 LayerTreeSettings settings = host()->GetSettings(); | 8289 LayerTreeSettings settings = host()->GetSettings(); |
8319 settings.layer_transforms_should_scale_layer_contents = false; | 8290 settings.layer_transforms_should_scale_layer_contents = false; |
8320 FakeLayerTreeHostImpl host_impl(settings, &task_runner_provider, | 8291 FakeLayerTreeHostImpl host_impl(settings, &task_runner_provider, |
8321 &shared_bitmap_manager, &task_graph_runner); | 8292 &task_graph_runner); |
8322 | 8293 |
8323 std::unique_ptr<LayerImpl> root = | 8294 std::unique_ptr<LayerImpl> root = |
8324 LayerImpl::Create(host_impl.active_tree(), 1); | 8295 LayerImpl::Create(host_impl.active_tree(), 1); |
8325 LayerImpl* root_layer = root.get(); | 8296 LayerImpl* root_layer = root.get(); |
8326 std::unique_ptr<LayerImpl> child = | 8297 std::unique_ptr<LayerImpl> child = |
8327 LayerImpl::Create(host_impl.active_tree(), 2); | 8298 LayerImpl::Create(host_impl.active_tree(), 2); |
8328 LayerImpl* child_layer = child.get(); | 8299 LayerImpl* child_layer = child.get(); |
8329 | 8300 |
8330 root->test_properties()->AddChild(std::move(child)); | 8301 root->test_properties()->AddChild(std::move(child)); |
8331 host_impl.active_tree()->SetRootLayerForTesting(std::move(root)); | 8302 host_impl.active_tree()->SetRootLayerForTesting(std::move(root)); |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8386 // by the viewport. | 8357 // by the viewport. |
8387 EXPECT_EQ(gfx::Rect(768 / 2, 582 / 2), root->visible_layer_rect()); | 8358 EXPECT_EQ(gfx::Rect(768 / 2, 582 / 2), root->visible_layer_rect()); |
8388 | 8359 |
8389 // Layers drawing to a child render surface should still have their visible | 8360 // Layers drawing to a child render surface should still have their visible |
8390 // content rect clipped by the viewport. | 8361 // content rect clipped by the viewport. |
8391 EXPECT_EQ(gfx::Rect(768 / 2, 582 / 2), content->visible_layer_rect()); | 8362 EXPECT_EQ(gfx::Rect(768 / 2, 582 / 2), content->visible_layer_rect()); |
8392 } | 8363 } |
8393 | 8364 |
8394 TEST_F(LayerTreeHostCommonTest, BoundsDeltaAffectVisibleContentRect) { | 8365 TEST_F(LayerTreeHostCommonTest, BoundsDeltaAffectVisibleContentRect) { |
8395 FakeImplTaskRunnerProvider task_runner_provider; | 8366 FakeImplTaskRunnerProvider task_runner_provider; |
8396 TestSharedBitmapManager shared_bitmap_manager; | |
8397 TestTaskGraphRunner task_graph_runner; | 8367 TestTaskGraphRunner task_graph_runner; |
8398 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager, | 8368 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &task_graph_runner); |
8399 &task_graph_runner); | |
8400 | 8369 |
8401 // Set two layers: the root layer clips it's child, | 8370 // Set two layers: the root layer clips it's child, |
8402 // the child draws its content. | 8371 // the child draws its content. |
8403 | 8372 |
8404 gfx::Size root_size = gfx::Size(300, 500); | 8373 gfx::Size root_size = gfx::Size(300, 500); |
8405 | 8374 |
8406 // Sublayer should be bigger than the root enlarged by bounds_delta. | 8375 // Sublayer should be bigger than the root enlarged by bounds_delta. |
8407 gfx::Size sublayer_size = gfx::Size(300, 1000); | 8376 gfx::Size sublayer_size = gfx::Size(300, 1000); |
8408 | 8377 |
8409 // Device viewport accomidated the root and the browser controls. | 8378 // Device viewport accomidated the root and the browser controls. |
(...skipping 607 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9017 animation->set_time_offset(base::TimeDelta::FromMilliseconds(-1000)); | 8986 animation->set_time_offset(base::TimeDelta::FromMilliseconds(-1000)); |
9018 AddAnimationToElementWithExistingPlayer(child->element_id(), timeline(), | 8987 AddAnimationToElementWithExistingPlayer(child->element_id(), timeline(), |
9019 std::move(animation)); | 8988 std::move(animation)); |
9020 ExecuteCalculateDrawPropertiesAndSaveUpdateLayerList(root.get()); | 8989 ExecuteCalculateDrawPropertiesAndSaveUpdateLayerList(root.get()); |
9021 update_list = GetUpdateLayerList(); | 8990 update_list = GetUpdateLayerList(); |
9022 EXPECT_TRUE(VerifyLayerInList(grandchild, update_list)); | 8991 EXPECT_TRUE(VerifyLayerInList(grandchild, update_list)); |
9023 } | 8992 } |
9024 | 8993 |
9025 TEST_F(LayerTreeHostCommonTest, SkippingLayerImpl) { | 8994 TEST_F(LayerTreeHostCommonTest, SkippingLayerImpl) { |
9026 FakeImplTaskRunnerProvider task_runner_provider; | 8995 FakeImplTaskRunnerProvider task_runner_provider; |
9027 TestSharedBitmapManager shared_bitmap_manager; | |
9028 TestTaskGraphRunner task_graph_runner; | 8996 TestTaskGraphRunner task_graph_runner; |
9029 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager, | 8997 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &task_graph_runner); |
9030 &task_graph_runner); | |
9031 | 8998 |
9032 std::unique_ptr<LayerImpl> root = | 8999 std::unique_ptr<LayerImpl> root = |
9033 LayerImpl::Create(host_impl.active_tree(), 1); | 9000 LayerImpl::Create(host_impl.active_tree(), 1); |
9034 std::unique_ptr<LayerImpl> child = | 9001 std::unique_ptr<LayerImpl> child = |
9035 LayerImpl::Create(host_impl.active_tree(), 2); | 9002 LayerImpl::Create(host_impl.active_tree(), 2); |
9036 std::unique_ptr<LayerImpl> grandchild = | 9003 std::unique_ptr<LayerImpl> grandchild = |
9037 LayerImpl::Create(host_impl.active_tree(), 3); | 9004 LayerImpl::Create(host_impl.active_tree(), 3); |
9038 | 9005 |
9039 std::unique_ptr<FakePictureLayerImpl> greatgrandchild( | 9006 std::unique_ptr<FakePictureLayerImpl> greatgrandchild( |
9040 FakePictureLayerImpl::Create(host_impl.active_tree(), 4)); | 9007 FakePictureLayerImpl::Create(host_impl.active_tree(), 4)); |
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9206 ExecuteCalculateDrawProperties(root); | 9173 ExecuteCalculateDrawProperties(root); |
9207 EXPECT_EQ(gfx::Rect(0, 0), grand_child->visible_layer_rect()); | 9174 EXPECT_EQ(gfx::Rect(0, 0), grand_child->visible_layer_rect()); |
9208 EXPECT_EQ(gfx::Rect(0, 0), child->visible_layer_rect()); | 9175 EXPECT_EQ(gfx::Rect(0, 0), child->visible_layer_rect()); |
9209 | 9176 |
9210 host_impl()->active_tree()->animation_host()->UnregisterPlayerForElement( | 9177 host_impl()->active_tree()->animation_host()->UnregisterPlayerForElement( |
9211 grand_child->element_id(), player.get()); | 9178 grand_child->element_id(), player.get()); |
9212 } | 9179 } |
9213 | 9180 |
9214 TEST_F(LayerTreeHostCommonTest, SkippingPendingLayerImpl) { | 9181 TEST_F(LayerTreeHostCommonTest, SkippingPendingLayerImpl) { |
9215 FakeImplTaskRunnerProvider task_runner_provider; | 9182 FakeImplTaskRunnerProvider task_runner_provider; |
9216 TestSharedBitmapManager shared_bitmap_manager; | |
9217 TestTaskGraphRunner task_graph_runner; | 9183 TestTaskGraphRunner task_graph_runner; |
9218 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager, | 9184 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &task_graph_runner); |
9219 &task_graph_runner); | |
9220 | 9185 |
9221 host_impl.CreatePendingTree(); | 9186 host_impl.CreatePendingTree(); |
9222 std::unique_ptr<LayerImpl> root = | 9187 std::unique_ptr<LayerImpl> root = |
9223 LayerImpl::Create(host_impl.pending_tree(), 1); | 9188 LayerImpl::Create(host_impl.pending_tree(), 1); |
9224 std::unique_ptr<LayerImpl> child = | 9189 std::unique_ptr<LayerImpl> child = |
9225 LayerImpl::Create(host_impl.pending_tree(), 2); | 9190 LayerImpl::Create(host_impl.pending_tree(), 2); |
9226 std::unique_ptr<LayerImpl> grandchild = | 9191 std::unique_ptr<LayerImpl> grandchild = |
9227 LayerImpl::Create(host_impl.pending_tree(), 3); | 9192 LayerImpl::Create(host_impl.pending_tree(), 3); |
9228 | 9193 |
9229 std::unique_ptr<FakePictureLayerImpl> greatgrandchild( | 9194 std::unique_ptr<FakePictureLayerImpl> greatgrandchild( |
(...skipping 1150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10380 EXPECT_EQ(scroll_child6.id, grand_child10->scroll_tree_index()); | 10345 EXPECT_EQ(scroll_child6.id, grand_child10->scroll_tree_index()); |
10381 EXPECT_EQ(scroll_root1.id, parent3->scroll_tree_index()); | 10346 EXPECT_EQ(scroll_root1.id, parent3->scroll_tree_index()); |
10382 EXPECT_EQ(scroll_child7.id, child8->scroll_tree_index()); | 10347 EXPECT_EQ(scroll_child7.id, child8->scroll_tree_index()); |
10383 EXPECT_EQ(scroll_root1.id, parent4->scroll_tree_index()); | 10348 EXPECT_EQ(scroll_root1.id, parent4->scroll_tree_index()); |
10384 EXPECT_EQ(scroll_root1.id, child9->scroll_tree_index()); | 10349 EXPECT_EQ(scroll_root1.id, child9->scroll_tree_index()); |
10385 EXPECT_EQ(scroll_root1.id, grand_child12->scroll_tree_index()); | 10350 EXPECT_EQ(scroll_root1.id, grand_child12->scroll_tree_index()); |
10386 } | 10351 } |
10387 | 10352 |
10388 } // namespace | 10353 } // namespace |
10389 } // namespace cc | 10354 } // namespace cc |
OLD | NEW |