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

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

Issue 2615773003: Replace LayerImpl::sorting_context_id with transform reference. (Closed)
Patch Set: Update tests. Created 3 years, 11 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
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 <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <memory> 10 #include <memory>
(...skipping 3428 matching lines...) Expand 10 before | Expand all | Expand 10 after
3439 perspective.ApplyPerspectiveDepth(SkDoubleToMScalar(1e-12)); 3439 perspective.ApplyPerspectiveDepth(SkDoubleToMScalar(1e-12));
3440 3440
3441 gfx::Transform rotation; 3441 gfx::Transform rotation;
3442 rotation.RotateAboutYAxis(45.0); 3442 rotation.RotateAboutYAxis(45.0);
3443 3443
3444 root->SetBounds(gfx::Size(100, 100)); 3444 root->SetBounds(gfx::Size(100, 100));
3445 child->test_properties()->transform = perspective; 3445 child->test_properties()->transform = perspective;
3446 child->SetPosition(gfx::PointF(10.f, 10.f)); 3446 child->SetPosition(gfx::PointF(10.f, 10.f));
3447 child->SetBounds(gfx::Size(100, 100)); 3447 child->SetBounds(gfx::Size(100, 100));
3448 child->SetDrawsContent(true); 3448 child->SetDrawsContent(true);
3449 child->Set3dSortingContextId(1); 3449 child->test_properties()->sorting_context_id = 1;
3450 child->test_properties()->should_flatten_transform = false; 3450 child->test_properties()->should_flatten_transform = false;
3451 grand_child->test_properties()->transform = rotation; 3451 grand_child->test_properties()->transform = rotation;
3452 grand_child->SetBounds(gfx::Size(100, 100)); 3452 grand_child->SetBounds(gfx::Size(100, 100));
3453 grand_child->SetDrawsContent(true); 3453 grand_child->SetDrawsContent(true);
3454 grand_child->Set3dSortingContextId(1); 3454 child->test_properties()->sorting_context_id = 1;
3455 grand_child->test_properties()->should_flatten_transform = false; 3455 grand_child->test_properties()->should_flatten_transform = false;
3456 grand_child->test_properties()->sorting_context_id = 1;
3456 ExecuteCalculateDrawProperties(root); 3457 ExecuteCalculateDrawProperties(root);
3457 3458
3458 // Though all layers have invertible transforms, matrix multiplication using 3459 // Though all layers have invertible transforms, matrix multiplication using
3459 // floating-point math makes the draw transform uninvertible. 3460 // floating-point math makes the draw transform uninvertible.
3460 EXPECT_FALSE(root->layer_tree_impl() 3461 EXPECT_FALSE(root->layer_tree_impl()
3461 ->property_trees() 3462 ->property_trees()
3462 ->transform_tree.Node(grand_child->transform_tree_index()) 3463 ->transform_tree.Node(grand_child->transform_tree_index())
3463 ->ancestors_are_invertible); 3464 ->ancestors_are_invertible);
3464 3465
3465 // CalcDrawProps skips a subtree when a layer's screen space transform is 3466 // CalcDrawProps skips a subtree when a layer's screen space transform is
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
3604 perspective.ApplyPerspectiveDepth(SkDoubleToMScalar(1e-12)); 3605 perspective.ApplyPerspectiveDepth(SkDoubleToMScalar(1e-12));
3605 3606
3606 gfx::Transform rotation; 3607 gfx::Transform rotation;
3607 rotation.RotateAboutYAxis(45.0); 3608 rotation.RotateAboutYAxis(45.0);
3608 3609
3609 root->SetBounds(gfx::Size(1000, 1000)); 3610 root->SetBounds(gfx::Size(1000, 1000));
3610 child->test_properties()->transform = perspective; 3611 child->test_properties()->transform = perspective;
3611 child->SetPosition(gfx::PointF(10.f, 10.f)); 3612 child->SetPosition(gfx::PointF(10.f, 10.f));
3612 child->SetBounds(gfx::Size(300, 300)); 3613 child->SetBounds(gfx::Size(300, 300));
3613 child->test_properties()->should_flatten_transform = false; 3614 child->test_properties()->should_flatten_transform = false;
3614 child->Set3dSortingContextId(1); 3615 child->test_properties()->sorting_context_id = 1;
3615 grand_child->test_properties()->transform = rotation; 3616 grand_child->test_properties()->transform = rotation;
3616 grand_child->SetBounds(gfx::Size(200, 200)); 3617 grand_child->SetBounds(gfx::Size(200, 200));
3617 grand_child->test_properties()->should_flatten_transform = false; 3618 grand_child->test_properties()->should_flatten_transform = false;
3618 grand_child->Set3dSortingContextId(1); 3619 grand_child->test_properties()->sorting_context_id = 1;
3619 occluding_child->SetBounds(gfx::Size(200, 200)); 3620 occluding_child->SetBounds(gfx::Size(200, 200));
3620 occluding_child->test_properties()->should_flatten_transform = false; 3621 occluding_child->test_properties()->should_flatten_transform = false;
3621 3622
3622 child->SetDrawsContent(true); 3623 child->SetDrawsContent(true);
3623 grand_child->SetDrawsContent(true); 3624 grand_child->SetDrawsContent(true);
3624 occluding_child->SetDrawsContent(true); 3625 occluding_child->SetDrawsContent(true);
3625 occluding_child->SetContentsOpaque(true); 3626 occluding_child->SetContentsOpaque(true);
3626 3627
3627 host_impl.SetViewportSize(root->bounds()); 3628 host_impl.SetViewportSize(root->bounds());
3628 3629
(...skipping 659 matching lines...) Expand 10 before | Expand all | Expand 10 after
4288 backface_matrix; 4289 backface_matrix;
4289 back_facing_child_of_back_facing_surface->test_properties()->transform = 4290 back_facing_child_of_back_facing_surface->test_properties()->transform =
4290 backface_matrix; 4291 backface_matrix;
4291 4292
4292 // Each surface creates its own new 3d rendering context (as defined by W3C 4293 // Each surface creates its own new 3d rendering context (as defined by W3C
4293 // spec). According to current W3C CSS gfx::Transforms spec, layers in a 3d 4294 // spec). According to current W3C CSS gfx::Transforms spec, layers in a 3d
4294 // rendering context should use the transform with respect to that context. 4295 // rendering context should use the transform with respect to that context.
4295 // This 3d rendering context occurs when (a) parent's transform style is flat 4296 // This 3d rendering context occurs when (a) parent's transform style is flat
4296 // and (b) the layer's transform style is preserve-3d. 4297 // and (b) the layer's transform style is preserve-3d.
4297 front_facing_surface->test_properties()->should_flatten_transform = false; 4298 front_facing_surface->test_properties()->should_flatten_transform = false;
4298 front_facing_surface->Set3dSortingContextId(1); 4299 front_facing_surface->test_properties()->sorting_context_id = 1;
4299 back_facing_surface->test_properties()->should_flatten_transform = false; 4300 back_facing_surface->test_properties()->should_flatten_transform = false;
4300 back_facing_surface->Set3dSortingContextId(1); 4301 back_facing_surface->test_properties()->sorting_context_id = 1;
4301 front_facing_child_of_front_facing_surface->Set3dSortingContextId(1); 4302 front_facing_child_of_front_facing_surface->test_properties()
4302 back_facing_child_of_front_facing_surface->Set3dSortingContextId(1); 4303 ->sorting_context_id = 1;
4303 front_facing_child_of_back_facing_surface->Set3dSortingContextId(1); 4304 back_facing_child_of_front_facing_surface->test_properties()
4304 back_facing_child_of_back_facing_surface->Set3dSortingContextId(1); 4305 ->sorting_context_id = 1;
4306 front_facing_child_of_back_facing_surface->test_properties()
4307 ->sorting_context_id = 1;
4308 back_facing_child_of_back_facing_surface->test_properties()
4309 ->sorting_context_id = 1;
4305 4310
4306 ExecuteCalculateDrawPropertiesAndSaveUpdateLayerList(root); 4311 ExecuteCalculateDrawPropertiesAndSaveUpdateLayerList(root);
4307 4312
4308 // Verify which render surfaces were created and used. 4313 // Verify which render surfaces were created and used.
4309 EXPECT_FALSE(front_facing_child->has_render_surface()); 4314 EXPECT_FALSE(front_facing_child->has_render_surface());
4310 EXPECT_FALSE(back_facing_child->has_render_surface()); 4315 EXPECT_FALSE(back_facing_child->has_render_surface());
4311 EXPECT_TRUE(front_facing_surface->has_render_surface()); 4316 EXPECT_TRUE(front_facing_surface->has_render_surface());
4312 // We expect that a has_render_surface was created but not used. 4317 // We expect that a has_render_surface was created but not used.
4313 EXPECT_TRUE(back_facing_surface->has_render_surface()); 4318 EXPECT_TRUE(back_facing_surface->has_render_surface());
4314 EXPECT_FALSE( 4319 EXPECT_FALSE(
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
4428 4433
4429 root->SetBounds(gfx::Size(100, 100)); 4434 root->SetBounds(gfx::Size(100, 100));
4430 front_facing_surface->SetBounds(gfx::Size(100, 100)); 4435 front_facing_surface->SetBounds(gfx::Size(100, 100));
4431 front_facing_surface->test_properties()->force_render_surface = true; 4436 front_facing_surface->test_properties()->force_render_surface = true;
4432 back_facing_surface->SetBounds(gfx::Size(100, 100)); 4437 back_facing_surface->SetBounds(gfx::Size(100, 100));
4433 back_facing_surface->test_properties()->transform = backface_matrix; 4438 back_facing_surface->test_properties()->transform = backface_matrix;
4434 back_facing_surface->test_properties()->force_render_surface = true; 4439 back_facing_surface->test_properties()->force_render_surface = true;
4435 child1->SetBounds(gfx::Size(100, 100)); 4440 child1->SetBounds(gfx::Size(100, 100));
4436 child2->SetBounds(gfx::Size(100, 100)); 4441 child2->SetBounds(gfx::Size(100, 100));
4437 4442
4438 front_facing_surface->Set3dSortingContextId(1); 4443 front_facing_surface->test_properties()->sorting_context_id = 1;
4439 back_facing_surface->Set3dSortingContextId(1); 4444 back_facing_surface->test_properties()->sorting_context_id = 1;
4440 4445
4441 ExecuteCalculateDrawPropertiesAndSaveUpdateLayerList(root); 4446 ExecuteCalculateDrawPropertiesAndSaveUpdateLayerList(root);
4442 4447
4443 // Verify which render surfaces were created and used. 4448 // Verify which render surfaces were created and used.
4444 EXPECT_TRUE(front_facing_surface->has_render_surface()); 4449 EXPECT_TRUE(front_facing_surface->has_render_surface());
4445 4450
4446 // We expect the render surface to have been created, but remain unused. 4451 // We expect the render surface to have been created, but remain unused.
4447 EXPECT_TRUE(back_facing_surface->has_render_surface()); 4452 EXPECT_TRUE(back_facing_surface->has_render_surface());
4448 EXPECT_FALSE(child1->has_render_surface()); 4453 EXPECT_FALSE(child1->has_render_surface());
4449 EXPECT_FALSE(child2->has_render_surface()); 4454 EXPECT_FALSE(child2->has_render_surface());
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
4708 // Animating layers compute ideal scale in the same way as when 4713 // Animating layers compute ideal scale in the same way as when
4709 // they are static. 4714 // they are static.
4710 EXPECT_FLOAT_EQ(initial_child_scale * initial_parent_scale, 4715 EXPECT_FLOAT_EQ(initial_child_scale * initial_parent_scale,
4711 child_scale->GetIdealContentsScale()); 4716 child_scale->GetIdealContentsScale());
4712 } 4717 }
4713 4718
4714 TEST_F(LayerTreeHostCommonTest, RenderSurfaceTransformsInHighDPI) { 4719 TEST_F(LayerTreeHostCommonTest, RenderSurfaceTransformsInHighDPI) {
4715 LayerImpl* parent = root_layer_for_testing(); 4720 LayerImpl* parent = root_layer_for_testing();
4716 parent->SetBounds(gfx::Size(30, 30)); 4721 parent->SetBounds(gfx::Size(30, 30));
4717 parent->SetDrawsContent(true); 4722 parent->SetDrawsContent(true);
4718 parent->Set3dSortingContextId(1);
4719 parent->test_properties()->should_flatten_transform = false; 4723 parent->test_properties()->should_flatten_transform = false;
4724 parent->test_properties()->sorting_context_id = 1;
4720 4725
4721 LayerImpl* child = AddChildToRoot<LayerImpl>(); 4726 LayerImpl* child = AddChildToRoot<LayerImpl>();
4722 child->SetBounds(gfx::Size(10, 10)); 4727 child->SetBounds(gfx::Size(10, 10));
4723 child->SetPosition(gfx::PointF(2.f, 2.f)); 4728 child->SetPosition(gfx::PointF(2.f, 2.f));
4724 child->SetDrawsContent(true); 4729 child->SetDrawsContent(true);
4725 child->test_properties()->force_render_surface = true; 4730 child->test_properties()->force_render_surface = true;
4726 4731
4727 // This layer should end up in the same surface as child, with the same draw 4732 // This layer should end up in the same surface as child, with the same draw
4728 // and screen space transforms. 4733 // and screen space transforms.
4729 LayerImpl* duplicate_child_non_owner = AddChild<LayerImpl>(child); 4734 LayerImpl* duplicate_child_non_owner = AddChild<LayerImpl>(child);
(...skipping 1151 matching lines...) Expand 10 before | Expand all | Expand 10 after
5881 LayerImpl* child1 = AddChildToRoot<LayerImpl>(); 5886 LayerImpl* child1 = AddChildToRoot<LayerImpl>();
5882 LayerImpl* child2 = AddChild<LayerImpl>(child1); 5887 LayerImpl* child2 = AddChild<LayerImpl>(child1);
5883 LayerImpl* child3 = AddChild<LayerImpl>(child2); 5888 LayerImpl* child3 = AddChild<LayerImpl>(child2);
5884 root->SetDrawsContent(true); 5889 root->SetDrawsContent(true);
5885 5890
5886 gfx::Size bounds(100, 100); 5891 gfx::Size bounds(100, 100);
5887 5892
5888 root->SetBounds(bounds); 5893 root->SetBounds(bounds);
5889 child1->SetBounds(bounds); 5894 child1->SetBounds(bounds);
5890 child1->SetDrawsContent(true); 5895 child1->SetDrawsContent(true);
5891 child1->Set3dSortingContextId(1);
5892 child1->test_properties()->should_flatten_transform = false; 5896 child1->test_properties()->should_flatten_transform = false;
5897 child1->test_properties()->sorting_context_id = 1;
5893 child2->SetBounds(bounds); 5898 child2->SetBounds(bounds);
5894 child2->SetDrawsContent(true); 5899 child2->SetDrawsContent(true);
5895 child2->Set3dSortingContextId(1); 5900 child2->test_properties()->sorting_context_id = 1;
5896 child3->SetBounds(bounds); 5901 child3->SetBounds(bounds);
5897 child3->SetDrawsContent(true); 5902 child3->SetDrawsContent(true);
5898 child3->Set3dSortingContextId(1); 5903 child3->test_properties()->sorting_context_id = 1;
5899 ExecuteCalculateDrawPropertiesAndSaveUpdateLayerList(root); 5904 ExecuteCalculateDrawPropertiesAndSaveUpdateLayerList(root);
5900 5905
5901 // Verify which render surfaces were created. 5906 // Verify which render surfaces were created.
5902 EXPECT_TRUE(root->has_render_surface()); 5907 EXPECT_TRUE(root->has_render_surface());
5903 EXPECT_FALSE(child1->has_render_surface()); 5908 EXPECT_FALSE(child1->has_render_surface());
5904 EXPECT_TRUE(child2->has_render_surface()); 5909 EXPECT_TRUE(child2->has_render_surface());
5905 EXPECT_FALSE(child3->has_render_surface()); 5910 EXPECT_FALSE(child3->has_render_surface());
5906 } 5911 }
5907 5912
5908 TEST_F(LayerTreeHostCommonTest, CanRenderToSeparateSurface) { 5913 TEST_F(LayerTreeHostCommonTest, CanRenderToSeparateSurface) {
(...skipping 12 matching lines...) Expand all
5921 5926
5922 gfx::Size bounds(100, 100); 5927 gfx::Size bounds(100, 100);
5923 5928
5924 root->SetBounds(bounds); 5929 root->SetBounds(bounds);
5925 root->SetDrawsContent(true); 5930 root->SetDrawsContent(true);
5926 5931
5927 // This layer structure normally forces render surface due to preserves3d 5932 // This layer structure normally forces render surface due to preserves3d
5928 // behavior. 5933 // behavior.
5929 child1->SetBounds(bounds); 5934 child1->SetBounds(bounds);
5930 child1->SetDrawsContent(true); 5935 child1->SetDrawsContent(true);
5931 child1->Set3dSortingContextId(1);
5932 child1->test_properties()->should_flatten_transform = false; 5936 child1->test_properties()->should_flatten_transform = false;
5937 child1->test_properties()->sorting_context_id = 1;
5933 child2->SetBounds(bounds); 5938 child2->SetBounds(bounds);
5934 child2->SetDrawsContent(true); 5939 child2->SetDrawsContent(true);
5935 child2->Set3dSortingContextId(1); 5940 child2->test_properties()->sorting_context_id = 1;
5936 child3->SetBounds(bounds); 5941 child3->SetBounds(bounds);
5937 child3->SetDrawsContent(true); 5942 child3->SetDrawsContent(true);
5938 child3->Set3dSortingContextId(1); 5943 child3->test_properties()->sorting_context_id = 1;
5939 5944
5940 child2->test_properties()->AddChild(std::move(child3)); 5945 child2->test_properties()->AddChild(std::move(child3));
5941 child1->test_properties()->AddChild(std::move(child2)); 5946 child1->test_properties()->AddChild(std::move(child2));
5942 root->test_properties()->AddChild(std::move(child1)); 5947 root->test_properties()->AddChild(std::move(child1));
5943 LayerImpl* root_layer = root.get(); 5948 LayerImpl* root_layer = root.get();
5944 root_layer->layer_tree_impl()->SetRootLayerForTesting(std::move(root)); 5949 root_layer->layer_tree_impl()->SetRootLayerForTesting(std::move(root));
5945 5950
5946 { 5951 {
5947 LayerImplList render_surface_layer_list; 5952 LayerImplList render_surface_layer_list;
5948 FakeLayerTreeHostImpl::RecursiveUpdateNumChildren(root_layer); 5953 FakeLayerTreeHostImpl::RecursiveUpdateNumChildren(root_layer);
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
6102 // As there are no 3d rendering contexts, all layers should use their local 6107 // As there are no 3d rendering contexts, all layers should use their local
6103 // transform for backface visibility. 6108 // transform for backface visibility.
6104 EXPECT_TRUE(root->use_local_transform_for_backface_visibility()); 6109 EXPECT_TRUE(root->use_local_transform_for_backface_visibility());
6105 EXPECT_TRUE(child->use_local_transform_for_backface_visibility()); 6110 EXPECT_TRUE(child->use_local_transform_for_backface_visibility());
6106 EXPECT_TRUE(grand_child->use_local_transform_for_backface_visibility()); 6111 EXPECT_TRUE(grand_child->use_local_transform_for_backface_visibility());
6107 6112
6108 gfx::Transform rotation_transform; 6113 gfx::Transform rotation_transform;
6109 rotation_transform.RotateAboutXAxis(180.0); 6114 rotation_transform.RotateAboutXAxis(180.0);
6110 6115
6111 child->test_properties()->transform = rotation_transform; 6116 child->test_properties()->transform = rotation_transform;
6112 child->Set3dSortingContextId(1); 6117 child->test_properties()->sorting_context_id = 1;
6113 grand_child->Set3dSortingContextId(1); 6118 grand_child->test_properties()->sorting_context_id = 1;
6114 child->layer_tree_impl()->property_trees()->needs_rebuild = true; 6119 child->layer_tree_impl()->property_trees()->needs_rebuild = true;
6115 6120
6116 ExecuteCalculateDrawProperties(root); 6121 ExecuteCalculateDrawProperties(root);
6117 EXPECT_EQ(1u, render_surface_layer_list_impl()->size()); 6122 EXPECT_EQ(1u, render_surface_layer_list_impl()->size());
6118 EXPECT_EQ(0u, render_surface_layer_list_impl() 6123 EXPECT_EQ(0u, render_surface_layer_list_impl()
6119 ->at(0) 6124 ->at(0)
6120 ->render_surface() 6125 ->render_surface()
6121 ->layer_list() 6126 ->layer_list()
6122 .size()); 6127 .size());
6123 6128
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
6163 TEST_F(LayerTreeHostCommonTest, TransformAnimationUpdatesBackfaceVisibility) { 6168 TEST_F(LayerTreeHostCommonTest, TransformAnimationUpdatesBackfaceVisibility) {
6164 LayerImpl* root = root_layer_for_testing(); 6169 LayerImpl* root = root_layer_for_testing();
6165 LayerImpl* back_facing = AddChild<LayerImpl>(root); 6170 LayerImpl* back_facing = AddChild<LayerImpl>(root);
6166 LayerImpl* render_surface1 = AddChild<LayerImpl>(back_facing); 6171 LayerImpl* render_surface1 = AddChild<LayerImpl>(back_facing);
6167 LayerImpl* render_surface2 = AddChild<LayerImpl>(back_facing); 6172 LayerImpl* render_surface2 = AddChild<LayerImpl>(back_facing);
6168 6173
6169 gfx::Transform rotate_about_y; 6174 gfx::Transform rotate_about_y;
6170 rotate_about_y.RotateAboutYAxis(180.0); 6175 rotate_about_y.RotateAboutYAxis(180.0);
6171 6176
6172 root->SetBounds(gfx::Size(50, 50)); 6177 root->SetBounds(gfx::Size(50, 50));
6173 root->Set3dSortingContextId(1);
6174 root->test_properties()->should_flatten_transform = false; 6178 root->test_properties()->should_flatten_transform = false;
6179 root->test_properties()->sorting_context_id = 1;
6175 back_facing->test_properties()->transform = rotate_about_y; 6180 back_facing->test_properties()->transform = rotate_about_y;
6176 back_facing->SetBounds(gfx::Size(50, 50)); 6181 back_facing->SetBounds(gfx::Size(50, 50));
6177 back_facing->Set3dSortingContextId(1);
6178 back_facing->test_properties()->should_flatten_transform = false; 6182 back_facing->test_properties()->should_flatten_transform = false;
6183 back_facing->test_properties()->sorting_context_id = 1;
6179 render_surface1->SetBounds(gfx::Size(30, 30)); 6184 render_surface1->SetBounds(gfx::Size(30, 30));
6180 render_surface1->Set3dSortingContextId(1);
6181 render_surface1->test_properties()->should_flatten_transform = false; 6185 render_surface1->test_properties()->should_flatten_transform = false;
6182 render_surface1->test_properties()->double_sided = false; 6186 render_surface1->test_properties()->double_sided = false;
6183 render_surface1->test_properties()->force_render_surface = true; 6187 render_surface1->test_properties()->force_render_surface = true;
6188 render_surface1->test_properties()->sorting_context_id = 1;
6184 render_surface2->SetBounds(gfx::Size(30, 30)); 6189 render_surface2->SetBounds(gfx::Size(30, 30));
6185 render_surface2->Set3dSortingContextId(1);
6186 render_surface2->test_properties()->should_flatten_transform = false; 6190 render_surface2->test_properties()->should_flatten_transform = false;
6187 render_surface2->test_properties()->double_sided = false; 6191 render_surface2->test_properties()->double_sided = false;
6188 render_surface2->test_properties()->force_render_surface = true; 6192 render_surface2->test_properties()->force_render_surface = true;
6193 render_surface2->test_properties()->sorting_context_id = 1;
6189 ExecuteCalculateDrawProperties(root); 6194 ExecuteCalculateDrawProperties(root);
6190 6195
6191 const EffectTree& tree = 6196 const EffectTree& tree =
6192 root->layer_tree_impl()->property_trees()->effect_tree; 6197 root->layer_tree_impl()->property_trees()->effect_tree;
6193 EXPECT_TRUE(tree.Node(render_surface1->effect_tree_index()) 6198 EXPECT_TRUE(tree.Node(render_surface1->effect_tree_index())
6194 ->hidden_by_backface_visibility); 6199 ->hidden_by_backface_visibility);
6195 EXPECT_TRUE(tree.Node(render_surface2->effect_tree_index()) 6200 EXPECT_TRUE(tree.Node(render_surface2->effect_tree_index())
6196 ->hidden_by_backface_visibility); 6201 ->hidden_by_backface_visibility);
6197 6202
6198 root->layer_tree_impl()->property_trees()->transform_tree.OnTransformAnimated( 6203 root->layer_tree_impl()->property_trees()->transform_tree.OnTransformAnimated(
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
6346 child_of_scroll_child->transform_tree_index())); 6351 child_of_scroll_child->transform_tree_index()));
6347 } 6352 }
6348 6353
6349 TEST_F(LayerTreeHostCommonTest, SingularTransformSubtreesDoNotDraw) { 6354 TEST_F(LayerTreeHostCommonTest, SingularTransformSubtreesDoNotDraw) {
6350 LayerImpl* root = root_layer_for_testing(); 6355 LayerImpl* root = root_layer_for_testing();
6351 LayerImpl* parent = AddChildToRoot<LayerImpl>(); 6356 LayerImpl* parent = AddChildToRoot<LayerImpl>();
6352 LayerImpl* child = AddChild<LayerImpl>(parent); 6357 LayerImpl* child = AddChild<LayerImpl>(parent);
6353 6358
6354 root->SetBounds(gfx::Size(50, 50)); 6359 root->SetBounds(gfx::Size(50, 50));
6355 root->SetDrawsContent(true); 6360 root->SetDrawsContent(true);
6356 root->Set3dSortingContextId(1); 6361 root->test_properties()->sorting_context_id = 1;
6357 parent->SetBounds(gfx::Size(30, 30)); 6362 parent->SetBounds(gfx::Size(30, 30));
6358 parent->SetDrawsContent(true); 6363 parent->SetDrawsContent(true);
6359 parent->Set3dSortingContextId(1);
6360 parent->test_properties()->force_render_surface = true; 6364 parent->test_properties()->force_render_surface = true;
6365 parent->test_properties()->sorting_context_id = 1;
6361 child->SetBounds(gfx::Size(20, 20)); 6366 child->SetBounds(gfx::Size(20, 20));
6362 child->SetDrawsContent(true); 6367 child->SetDrawsContent(true);
6363 child->Set3dSortingContextId(1);
6364 child->test_properties()->force_render_surface = true; 6368 child->test_properties()->force_render_surface = true;
6369 child->test_properties()->sorting_context_id = 1;
6365 ExecuteCalculateDrawProperties(root); 6370 ExecuteCalculateDrawProperties(root);
6366 6371
6367 EXPECT_EQ(3u, render_surface_layer_list_impl()->size()); 6372 EXPECT_EQ(3u, render_surface_layer_list_impl()->size());
6368 6373
6369 gfx::Transform singular_transform; 6374 gfx::Transform singular_transform;
6370 singular_transform.Scale3d( 6375 singular_transform.Scale3d(
6371 SkDoubleToMScalar(1.0), SkDoubleToMScalar(1.0), SkDoubleToMScalar(0.0)); 6376 SkDoubleToMScalar(1.0), SkDoubleToMScalar(1.0), SkDoubleToMScalar(0.0));
6372 6377
6373 child->test_properties()->transform = singular_transform; 6378 child->test_properties()->transform = singular_transform;
6374 6379
(...skipping 4203 matching lines...) Expand 10 before | Expand all | Expand 10 after
10578 EXPECT_EQ(scroll_child6.id, grand_child10->scroll_tree_index()); 10583 EXPECT_EQ(scroll_child6.id, grand_child10->scroll_tree_index());
10579 EXPECT_EQ(scroll_root1.id, parent3->scroll_tree_index()); 10584 EXPECT_EQ(scroll_root1.id, parent3->scroll_tree_index());
10580 EXPECT_EQ(scroll_child7.id, child8->scroll_tree_index()); 10585 EXPECT_EQ(scroll_child7.id, child8->scroll_tree_index());
10581 EXPECT_EQ(scroll_root1.id, parent4->scroll_tree_index()); 10586 EXPECT_EQ(scroll_root1.id, parent4->scroll_tree_index());
10582 EXPECT_EQ(scroll_root1.id, child9->scroll_tree_index()); 10587 EXPECT_EQ(scroll_root1.id, child9->scroll_tree_index());
10583 EXPECT_EQ(scroll_root1.id, grand_child12->scroll_tree_index()); 10588 EXPECT_EQ(scroll_root1.id, grand_child12->scroll_tree_index());
10584 } 10589 }
10585 10590
10586 } // namespace 10591 } // namespace
10587 } // namespace cc 10592 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698