| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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.h" | 5 #include "cc/trees/layer_tree_host.h" |
| 6 | 6 |
| 7 #include "cc/layers/layer.h" | 7 #include "cc/layers/layer.h" |
| 8 #include "cc/layers/picture_layer.h" | 8 #include "cc/layers/picture_layer.h" |
| 9 #include "cc/test/fake_content_layer_client.h" | 9 #include "cc/test/fake_content_layer_client.h" |
| 10 #include "cc/test/layer_tree_test.h" | 10 #include "cc/test/layer_tree_test.h" |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 101 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 101 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 102 | 102 |
| 103 void DrawLayersOnThread(LayerTreeHostImpl* impl) override { | 103 void DrawLayersOnThread(LayerTreeHostImpl* impl) override { |
| 104 LayerImpl* root = impl->active_tree()->root_layer(); | 104 LayerImpl* root = impl->active_tree()->root_layer(); |
| 105 LayerImpl* child = root->children()[0]; | 105 LayerImpl* child = root->children()[0]; |
| 106 RenderSurfaceImpl* surface = child->render_surface(); | 106 RenderSurfaceImpl* surface = child->render_surface(); |
| 107 | 107 |
| 108 // Verify the draw properties are valid. | 108 // Verify the draw properties are valid. |
| 109 EXPECT_TRUE(root->IsDrawnRenderSurfaceLayerListMember()); | 109 EXPECT_TRUE(root->IsDrawnRenderSurfaceLayerListMember()); |
| 110 EXPECT_TRUE(child->IsDrawnRenderSurfaceLayerListMember()); | 110 EXPECT_TRUE(child->IsDrawnRenderSurfaceLayerListMember()); |
| 111 EXPECT_EQ(child, child->render_target()); | 111 EXPECT_TRUE(child->has_render_surface()); |
| 112 EXPECT_EQ(child->render_surface(), child->render_target()); |
| 112 | 113 |
| 113 EXPECT_OCCLUSION_EQ( | 114 EXPECT_OCCLUSION_EQ( |
| 114 Occlusion(surface->draw_transform(), SimpleEnclosedRegion(), | 115 Occlusion(surface->draw_transform(), SimpleEnclosedRegion(), |
| 115 SimpleEnclosedRegion(gfx::Rect(13, 9, 10, 11))), | 116 SimpleEnclosedRegion(gfx::Rect(13, 9, 10, 11))), |
| 116 surface->occlusion_in_content_space()); | 117 surface->occlusion_in_content_space()); |
| 117 EndTest(); | 118 EndTest(); |
| 118 } | 119 } |
| 119 | 120 |
| 120 void AfterTest() override {} | 121 void AfterTest() override {} |
| 121 }; | 122 }; |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 165 | 166 |
| 166 void DrawLayersOnThread(LayerTreeHostImpl* impl) override { | 167 void DrawLayersOnThread(LayerTreeHostImpl* impl) override { |
| 167 LayerImpl* root = impl->active_tree()->root_layer(); | 168 LayerImpl* root = impl->active_tree()->root_layer(); |
| 168 LayerImpl* child = root->children()[0]; | 169 LayerImpl* child = root->children()[0]; |
| 169 RenderSurfaceImpl* surface = child->render_surface(); | 170 RenderSurfaceImpl* surface = child->render_surface(); |
| 170 LayerImpl* mask = child->mask_layer(); | 171 LayerImpl* mask = child->mask_layer(); |
| 171 | 172 |
| 172 // Verify the draw properties are valid. | 173 // Verify the draw properties are valid. |
| 173 EXPECT_TRUE(root->IsDrawnRenderSurfaceLayerListMember()); | 174 EXPECT_TRUE(root->IsDrawnRenderSurfaceLayerListMember()); |
| 174 EXPECT_TRUE(child->IsDrawnRenderSurfaceLayerListMember()); | 175 EXPECT_TRUE(child->IsDrawnRenderSurfaceLayerListMember()); |
| 175 EXPECT_EQ(child, child->render_target()); | 176 EXPECT_TRUE(child->has_render_surface()); |
| 177 EXPECT_EQ(child->render_surface(), child->render_target()); |
| 176 | 178 |
| 177 gfx::Transform transform = surface->draw_transform(); | 179 gfx::Transform transform = surface->draw_transform(); |
| 178 transform.PreconcatTransform(child->DrawTransform()); | 180 transform.PreconcatTransform(child->DrawTransform()); |
| 179 | 181 |
| 180 EXPECT_OCCLUSION_EQ( | 182 EXPECT_OCCLUSION_EQ( |
| 181 Occlusion(transform, SimpleEnclosedRegion(), | 183 Occlusion(transform, SimpleEnclosedRegion(), |
| 182 SimpleEnclosedRegion(gfx::Rect(13, 9, 10, 11))), | 184 SimpleEnclosedRegion(gfx::Rect(13, 9, 10, 11))), |
| 183 mask->draw_properties().occlusion_in_content_space); | 185 mask->draw_properties().occlusion_in_content_space); |
| 184 EndTest(); | 186 EndTest(); |
| 185 } | 187 } |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 302 | 304 |
| 303 void DrawLayersOnThread(LayerTreeHostImpl* impl) override { | 305 void DrawLayersOnThread(LayerTreeHostImpl* impl) override { |
| 304 LayerImpl* root = impl->active_tree()->root_layer(); | 306 LayerImpl* root = impl->active_tree()->root_layer(); |
| 305 LayerImpl* child = root->children()[0]; | 307 LayerImpl* child = root->children()[0]; |
| 306 RenderSurfaceImpl* surface = child->render_surface(); | 308 RenderSurfaceImpl* surface = child->render_surface(); |
| 307 LayerImpl* mask = child->mask_layer(); | 309 LayerImpl* mask = child->mask_layer(); |
| 308 | 310 |
| 309 // Verify the draw properties are valid. | 311 // Verify the draw properties are valid. |
| 310 EXPECT_TRUE(root->IsDrawnRenderSurfaceLayerListMember()); | 312 EXPECT_TRUE(root->IsDrawnRenderSurfaceLayerListMember()); |
| 311 EXPECT_TRUE(child->IsDrawnRenderSurfaceLayerListMember()); | 313 EXPECT_TRUE(child->IsDrawnRenderSurfaceLayerListMember()); |
| 312 EXPECT_EQ(child, child->render_target()); | 314 EXPECT_TRUE(child->has_render_surface()); |
| 315 EXPECT_EQ(child->render_surface(), child->render_target()); |
| 313 | 316 |
| 314 // No occlusion from on child, which is part of the replica. | 317 // No occlusion from on child, which is part of the replica. |
| 315 EXPECT_OCCLUSION_EQ(Occlusion(), | 318 EXPECT_OCCLUSION_EQ(Occlusion(), |
| 316 child->draw_properties().occlusion_in_content_space); | 319 child->draw_properties().occlusion_in_content_space); |
| 317 // Occlusion on the surface is okay. | 320 // Occlusion on the surface is okay. |
| 318 EXPECT_OCCLUSION_EQ( | 321 EXPECT_OCCLUSION_EQ( |
| 319 Occlusion(surface->draw_transform(), SimpleEnclosedRegion(), | 322 Occlusion(surface->draw_transform(), SimpleEnclosedRegion(), |
| 320 SimpleEnclosedRegion(gfx::Rect(13, 9, 10, 11))), | 323 SimpleEnclosedRegion(gfx::Rect(13, 9, 10, 11))), |
| 321 surface->occlusion_in_content_space()); | 324 surface->occlusion_in_content_space()); |
| 322 // No occlusion on the replica'd mask. | 325 // No occlusion on the replica'd mask. |
| 323 EXPECT_OCCLUSION_EQ(Occlusion(), | 326 EXPECT_OCCLUSION_EQ(Occlusion(), |
| 324 mask->draw_properties().occlusion_in_content_space); | 327 mask->draw_properties().occlusion_in_content_space); |
| 325 EndTest(); | 328 EndTest(); |
| 326 } | 329 } |
| 327 | 330 |
| 328 void AfterTest() override {} | 331 void AfterTest() override {} |
| 329 | 332 |
| 330 FakeContentLayerClient client_; | 333 FakeContentLayerClient client_; |
| 331 }; | 334 }; |
| 332 | 335 |
| 333 SINGLE_AND_MULTI_THREAD_TEST_F( | 336 SINGLE_AND_MULTI_THREAD_TEST_F( |
| 334 LayerTreeHostOcclusionTestDrawPropertiesInsideReplica); | 337 LayerTreeHostOcclusionTestDrawPropertiesInsideReplica); |
| 335 | 338 |
| 336 } // namespace | 339 } // namespace |
| 337 } // namespace cc | 340 } // namespace cc |
| OLD | NEW |