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

Side by Side Diff: cc/trees/layer_tree_host_common_unittest.cc

Issue 500123003: Remove implicit conversions from scoped_refptr to T* in cc/trees/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments Created 6 years, 4 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 unified diff | Download patch
« no previous file with comments | « cc/trees/layer_tree_host.cc ('k') | cc/trees/layer_tree_host_impl_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 <set> 7 #include <set>
8 8
9 #include "cc/animation/layer_animation_controller.h" 9 #include "cc/animation/layer_animation_controller.h"
10 #include "cc/animation/transform_operations.h" 10 #include "cc/animation/transform_operations.h"
(...skipping 563 matching lines...) Expand 10 before | Expand all | Expand 10 after
574 identity_matrix, 574 identity_matrix,
575 gfx::Point3F(), 575 gfx::Point3F(),
576 gfx::PointF(), 576 gfx::PointF(),
577 gfx::Size(8, 10), 577 gfx::Size(8, 10),
578 true, 578 true,
579 false); 579 false);
580 ExecuteCalculateDrawProperties(root.get()); 580 ExecuteCalculateDrawProperties(root.get());
581 581
582 // Render surface should have been created now. 582 // Render surface should have been created now.
583 ASSERT_TRUE(child->render_surface()); 583 ASSERT_TRUE(child->render_surface());
584 ASSERT_EQ(child, child->render_target()); 584 ASSERT_EQ(child.get(), child->render_target());
585 585
586 // The child layer's draw transform should refer to its new render surface. 586 // The child layer's draw transform should refer to its new render surface.
587 // The screen-space transform, however, should still refer to the root. 587 // The screen-space transform, however, should still refer to the root.
588 EXPECT_TRANSFORMATION_MATRIX_EQ(surface_sublayer_transform, 588 EXPECT_TRANSFORMATION_MATRIX_EQ(surface_sublayer_transform,
589 child->draw_transform()); 589 child->draw_transform());
590 EXPECT_TRANSFORMATION_MATRIX_EQ(parent_composite_transform, 590 EXPECT_TRANSFORMATION_MATRIX_EQ(parent_composite_transform,
591 child->screen_space_transform()); 591 child->screen_space_transform());
592 592
593 // Because the grand_child is the only drawable content, the child's render 593 // Because the grand_child is the only drawable content, the child's render
594 // surface will tighten its bounds to the grand_child. The scale at which the 594 // surface will tighten its bounds to the grand_child. The scale at which the
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
679 replica_layer_transform, 679 replica_layer_transform,
680 gfx::Point3F(), 680 gfx::Point3F(),
681 gfx::PointF(), 681 gfx::PointF(),
682 gfx::Size(), 682 gfx::Size(),
683 true, 683 true,
684 false); 684 false);
685 ExecuteCalculateDrawProperties(root.get()); 685 ExecuteCalculateDrawProperties(root.get());
686 686
687 // Render surface should have been created now. 687 // Render surface should have been created now.
688 ASSERT_TRUE(child->render_surface()); 688 ASSERT_TRUE(child->render_surface());
689 ASSERT_EQ(child, child->render_target()); 689 ASSERT_EQ(child.get(), child->render_target());
690 690
691 EXPECT_TRANSFORMATION_MATRIX_EQ( 691 EXPECT_TRANSFORMATION_MATRIX_EQ(
692 replica_composite_transform, 692 replica_composite_transform,
693 child->render_target()->render_surface()->replica_draw_transform()); 693 child->render_target()->render_surface()->replica_draw_transform());
694 EXPECT_TRANSFORMATION_MATRIX_EQ(replica_composite_transform, 694 EXPECT_TRANSFORMATION_MATRIX_EQ(replica_composite_transform,
695 child->render_target() 695 child->render_target()
696 ->render_surface() 696 ->render_surface()
697 ->replica_screen_space_transform()); 697 ->replica_screen_space_transform());
698 } 698 }
699 699
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
882 882
883 ASSERT_TRUE(render_surface1->render_surface()); 883 ASSERT_TRUE(render_surface1->render_surface());
884 ASSERT_FALSE(child_of_rs1->render_surface()); 884 ASSERT_FALSE(child_of_rs1->render_surface());
885 ASSERT_FALSE(grand_child_of_rs1->render_surface()); 885 ASSERT_FALSE(grand_child_of_rs1->render_surface());
886 886
887 ASSERT_TRUE(render_surface2->render_surface()); 887 ASSERT_TRUE(render_surface2->render_surface());
888 ASSERT_FALSE(child_of_rs2->render_surface()); 888 ASSERT_FALSE(child_of_rs2->render_surface());
889 ASSERT_FALSE(grand_child_of_rs2->render_surface()); 889 ASSERT_FALSE(grand_child_of_rs2->render_surface());
890 890
891 // Verify all render target accessors 891 // Verify all render target accessors
892 EXPECT_EQ(root, parent->render_target()); 892 EXPECT_EQ(root.get(), parent->render_target());
893 EXPECT_EQ(root, child_of_root->render_target()); 893 EXPECT_EQ(root.get(), child_of_root->render_target());
894 EXPECT_EQ(root, grand_child_of_root->render_target()); 894 EXPECT_EQ(root.get(), grand_child_of_root->render_target());
895 895
896 EXPECT_EQ(render_surface1, render_surface1->render_target()); 896 EXPECT_EQ(render_surface1.get(), render_surface1->render_target());
897 EXPECT_EQ(render_surface1, child_of_rs1->render_target()); 897 EXPECT_EQ(render_surface1.get(), child_of_rs1->render_target());
898 EXPECT_EQ(render_surface1, grand_child_of_rs1->render_target()); 898 EXPECT_EQ(render_surface1.get(), grand_child_of_rs1->render_target());
899 899
900 EXPECT_EQ(render_surface2, render_surface2->render_target()); 900 EXPECT_EQ(render_surface2.get(), render_surface2->render_target());
901 EXPECT_EQ(render_surface2, child_of_rs2->render_target()); 901 EXPECT_EQ(render_surface2.get(), child_of_rs2->render_target());
902 EXPECT_EQ(render_surface2, grand_child_of_rs2->render_target()); 902 EXPECT_EQ(render_surface2.get(), grand_child_of_rs2->render_target());
903 903
904 // Verify layer draw transforms note that draw transforms are described with 904 // Verify layer draw transforms note that draw transforms are described with
905 // respect to the nearest ancestor render surface but screen space transforms 905 // respect to the nearest ancestor render surface but screen space transforms
906 // are described with respect to the root. 906 // are described with respect to the root.
907 EXPECT_TRANSFORMATION_MATRIX_EQ(A, parent->draw_transform()); 907 EXPECT_TRANSFORMATION_MATRIX_EQ(A, parent->draw_transform());
908 EXPECT_TRANSFORMATION_MATRIX_EQ(A * A, child_of_root->draw_transform()); 908 EXPECT_TRANSFORMATION_MATRIX_EQ(A * A, child_of_root->draw_transform());
909 EXPECT_TRANSFORMATION_MATRIX_EQ(A * A * A, 909 EXPECT_TRANSFORMATION_MATRIX_EQ(A * A * A,
910 grand_child_of_root->draw_transform()); 910 grand_child_of_root->draw_transform());
911 911
912 EXPECT_TRANSFORMATION_MATRIX_EQ(SS1, render_surface1->draw_transform()); 912 EXPECT_TRANSFORMATION_MATRIX_EQ(SS1, render_surface1->draw_transform());
(...skipping 1259 matching lines...) Expand 10 before | Expand all | Expand 10 after
2172 2172
2173 ASSERT_TRUE(render_surface1->render_surface()); 2173 ASSERT_TRUE(render_surface1->render_surface());
2174 ASSERT_FALSE(child_of_rs1->render_surface()); 2174 ASSERT_FALSE(child_of_rs1->render_surface());
2175 ASSERT_FALSE(grand_child_of_rs1->render_surface()); 2175 ASSERT_FALSE(grand_child_of_rs1->render_surface());
2176 2176
2177 ASSERT_TRUE(render_surface2->render_surface()); 2177 ASSERT_TRUE(render_surface2->render_surface());
2178 ASSERT_FALSE(child_of_rs2->render_surface()); 2178 ASSERT_FALSE(child_of_rs2->render_surface());
2179 ASSERT_FALSE(grand_child_of_rs2->render_surface()); 2179 ASSERT_FALSE(grand_child_of_rs2->render_surface());
2180 2180
2181 // Verify all render target accessors 2181 // Verify all render target accessors
2182 EXPECT_EQ(parent, parent->render_target()); 2182 EXPECT_EQ(parent.get(), parent->render_target());
2183 EXPECT_EQ(parent, child_of_root->render_target()); 2183 EXPECT_EQ(parent.get(), child_of_root->render_target());
2184 EXPECT_EQ(parent, grand_child_of_root->render_target()); 2184 EXPECT_EQ(parent.get(), grand_child_of_root->render_target());
2185 2185
2186 EXPECT_EQ(render_surface1, render_surface1->render_target()); 2186 EXPECT_EQ(render_surface1.get(), render_surface1->render_target());
2187 EXPECT_EQ(render_surface1, child_of_rs1->render_target()); 2187 EXPECT_EQ(render_surface1.get(), child_of_rs1->render_target());
2188 EXPECT_EQ(render_surface1, grand_child_of_rs1->render_target()); 2188 EXPECT_EQ(render_surface1.get(), grand_child_of_rs1->render_target());
2189 2189
2190 EXPECT_EQ(render_surface2, render_surface2->render_target()); 2190 EXPECT_EQ(render_surface2.get(), render_surface2->render_target());
2191 EXPECT_EQ(render_surface2, child_of_rs2->render_target()); 2191 EXPECT_EQ(render_surface2.get(), child_of_rs2->render_target());
2192 EXPECT_EQ(render_surface2, grand_child_of_rs2->render_target()); 2192 EXPECT_EQ(render_surface2.get(), grand_child_of_rs2->render_target());
2193 2193
2194 // Verify draw_opacity_is_animating values 2194 // Verify draw_opacity_is_animating values
2195 EXPECT_FALSE(parent->draw_opacity_is_animating()); 2195 EXPECT_FALSE(parent->draw_opacity_is_animating());
2196 EXPECT_FALSE(child_of_root->draw_opacity_is_animating()); 2196 EXPECT_FALSE(child_of_root->draw_opacity_is_animating());
2197 EXPECT_TRUE(grand_child_of_root->draw_opacity_is_animating()); 2197 EXPECT_TRUE(grand_child_of_root->draw_opacity_is_animating());
2198 EXPECT_FALSE(render_surface1->draw_opacity_is_animating()); 2198 EXPECT_FALSE(render_surface1->draw_opacity_is_animating());
2199 EXPECT_TRUE(render_surface1->render_surface()->draw_opacity_is_animating()); 2199 EXPECT_TRUE(render_surface1->render_surface()->draw_opacity_is_animating());
2200 EXPECT_FALSE(child_of_rs1->draw_opacity_is_animating()); 2200 EXPECT_FALSE(child_of_rs1->draw_opacity_is_animating());
2201 EXPECT_FALSE(grand_child_of_rs1->draw_opacity_is_animating()); 2201 EXPECT_FALSE(grand_child_of_rs1->draw_opacity_is_animating());
2202 EXPECT_FALSE(render_surface2->draw_opacity_is_animating()); 2202 EXPECT_FALSE(render_surface2->draw_opacity_is_animating());
(...skipping 2027 matching lines...) Expand 10 before | Expand all | Expand 10 after
4230 host->SetRootLayer(root); 4230 host->SetRootLayer(root);
4231 4231
4232 float device_scale_factor = 2.5f; 4232 float device_scale_factor = 2.5f;
4233 float page_scale_factor = 3.f; 4233 float page_scale_factor = 3.f;
4234 4234
4235 RenderSurfaceLayerList render_surface_layer_list; 4235 RenderSurfaceLayerList render_surface_layer_list;
4236 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs( 4236 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs(
4237 root.get(), parent->bounds(), &render_surface_layer_list); 4237 root.get(), parent->bounds(), &render_surface_layer_list);
4238 inputs.device_scale_factor = device_scale_factor; 4238 inputs.device_scale_factor = device_scale_factor;
4239 inputs.page_scale_factor = page_scale_factor; 4239 inputs.page_scale_factor = page_scale_factor;
4240 inputs.page_scale_application_layer = root; 4240 inputs.page_scale_application_layer = root.get();
4241 inputs.can_adjust_raster_scales = true; 4241 inputs.can_adjust_raster_scales = true;
4242 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 4242 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
4243 4243
4244 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, parent); 4244 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, parent);
4245 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, 4245 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor,
4246 perspective_surface); 4246 perspective_surface);
4247 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, 4247 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor,
4248 scale_surface); 4248 scale_surface);
4249 4249
4250 EXPECT_EQ(3u, render_surface_layer_list.size()); 4250 EXPECT_EQ(3u, render_surface_layer_list.size());
(...skipping 1306 matching lines...) Expand 10 before | Expand all | Expand 10 after
5557 5557
5558 grand_child->SetReplicaLayer(replica_layer.get()); 5558 grand_child->SetReplicaLayer(replica_layer.get());
5559 child->AddChild(grand_child.get()); 5559 child->AddChild(grand_child.get());
5560 child->SetMaskLayer(mask_layer.get()); 5560 child->SetMaskLayer(mask_layer.get());
5561 root->AddChild(child.get()); 5561 root->AddChild(child.get());
5562 5562
5563 scoped_ptr<FakeLayerTreeHost> host = FakeLayerTreeHost::Create(); 5563 scoped_ptr<FakeLayerTreeHost> host = FakeLayerTreeHost::Create();
5564 host->SetRootLayer(root); 5564 host->SetRootLayer(root);
5565 5565
5566 int nonexistent_id = -1; 5566 int nonexistent_id = -1;
5567 EXPECT_EQ(root, 5567 EXPECT_EQ(root.get(),
5568 LayerTreeHostCommon::FindLayerInSubtree(root.get(), root->id())); 5568 LayerTreeHostCommon::FindLayerInSubtree(root.get(), root->id()));
5569 EXPECT_EQ(child, 5569 EXPECT_EQ(child.get(),
5570 LayerTreeHostCommon::FindLayerInSubtree(root.get(), child->id())); 5570 LayerTreeHostCommon::FindLayerInSubtree(root.get(), child->id()));
5571 EXPECT_EQ( 5571 EXPECT_EQ(
5572 grand_child, 5572 grand_child.get(),
5573 LayerTreeHostCommon::FindLayerInSubtree(root.get(), grand_child->id())); 5573 LayerTreeHostCommon::FindLayerInSubtree(root.get(), grand_child->id()));
5574 EXPECT_EQ( 5574 EXPECT_EQ(
5575 mask_layer, 5575 mask_layer.get(),
5576 LayerTreeHostCommon::FindLayerInSubtree(root.get(), mask_layer->id())); 5576 LayerTreeHostCommon::FindLayerInSubtree(root.get(), mask_layer->id()));
5577 EXPECT_EQ( 5577 EXPECT_EQ(
5578 replica_layer, 5578 replica_layer.get(),
5579 LayerTreeHostCommon::FindLayerInSubtree(root.get(), replica_layer->id())); 5579 LayerTreeHostCommon::FindLayerInSubtree(root.get(), replica_layer->id()));
5580 EXPECT_EQ( 5580 EXPECT_EQ(
5581 0, LayerTreeHostCommon::FindLayerInSubtree(root.get(), nonexistent_id)); 5581 0, LayerTreeHostCommon::FindLayerInSubtree(root.get(), nonexistent_id));
5582 } 5582 }
5583 5583
5584 TEST_F(LayerTreeHostCommonTest, TransparentChildRenderSurfaceCreation) { 5584 TEST_F(LayerTreeHostCommonTest, TransparentChildRenderSurfaceCreation) {
5585 scoped_refptr<Layer> root = Layer::Create(); 5585 scoped_refptr<Layer> root = Layer::Create();
5586 scoped_refptr<Layer> child = Layer::Create(); 5586 scoped_refptr<Layer> child = Layer::Create();
5587 scoped_refptr<LayerWithForcedDrawsContent> grand_child = 5587 scoped_refptr<LayerWithForcedDrawsContent> grand_child =
5588 make_scoped_refptr(new LayerWithForcedDrawsContent()); 5588 make_scoped_refptr(new LayerWithForcedDrawsContent());
(...skipping 1766 matching lines...) Expand 10 before | Expand all | Expand 10 after
7355 EXPECT_TRUE(root->render_surface()); 7355 EXPECT_TRUE(root->render_surface());
7356 7356
7357 EXPECT_EQ(gfx::Rect(0, 0, 20, 20).ToString(), 7357 EXPECT_EQ(gfx::Rect(0, 0, 20, 20).ToString(),
7358 scroll_child->clip_rect().ToString()); 7358 scroll_child->clip_rect().ToString());
7359 EXPECT_TRUE(scroll_child->is_clipped()); 7359 EXPECT_TRUE(scroll_child->is_clipped());
7360 7360
7361 // Despite the fact that we visited the above layers out of order to get the 7361 // Despite the fact that we visited the above layers out of order to get the
7362 // correct clip, the layer lists should be unaffected. 7362 // correct clip, the layer lists should be unaffected.
7363 EXPECT_EQ(3u, root->render_surface()->layer_list().size()); 7363 EXPECT_EQ(3u, root->render_surface()->layer_list().size());
7364 EXPECT_EQ(scroll_child.get(), 7364 EXPECT_EQ(scroll_child.get(),
7365 root->render_surface()->layer_list().at(0)); 7365 root->render_surface()->layer_list().at(0).get());
7366 EXPECT_EQ(scroll_parent.get(), 7366 EXPECT_EQ(scroll_parent.get(),
7367 root->render_surface()->layer_list().at(1)); 7367 root->render_surface()->layer_list().at(1).get());
7368 EXPECT_EQ(scroll_grandparent.get(), 7368 EXPECT_EQ(scroll_grandparent.get(),
7369 root->render_surface()->layer_list().at(2)); 7369 root->render_surface()->layer_list().at(2).get());
7370 } 7370 }
7371 7371
7372 TEST_F(LayerTreeHostCommonTest, OutOfOrderClippingRequiresRSLLSorting) { 7372 TEST_F(LayerTreeHostCommonTest, OutOfOrderClippingRequiresRSLLSorting) {
7373 // Ensures that even if we visit layers out of order, we still produce a 7373 // Ensures that even if we visit layers out of order, we still produce a
7374 // correctly ordered render surface layer list. 7374 // correctly ordered render surface layer list.
7375 // + root 7375 // + root
7376 // + scroll_child 7376 // + scroll_child
7377 // + scroll_parent_border 7377 // + scroll_parent_border
7378 // + scroll_parent_clip 7378 // + scroll_parent_clip
7379 // + scroll_parent 7379 // + scroll_parent
(...skipping 1174 matching lines...) Expand 10 before | Expand all | Expand 10 after
8554 EXPECT_FLOAT_EQ(4.f, 8554 EXPECT_FLOAT_EQ(4.f,
8555 child1_layer->replica_layer() 8555 child1_layer->replica_layer()
8556 ->mask_layer() 8556 ->mask_layer()
8557 ->draw_properties() 8557 ->draw_properties()
8558 .device_scale_factor); 8558 .device_scale_factor);
8559 EXPECT_FLOAT_EQ(4.f, child2_layer->draw_properties().device_scale_factor); 8559 EXPECT_FLOAT_EQ(4.f, child2_layer->draw_properties().device_scale_factor);
8560 } 8560 }
8561 8561
8562 } // namespace 8562 } // namespace
8563 } // namespace cc 8563 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host.cc ('k') | cc/trees/layer_tree_host_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698