| 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 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 99 | 99 |
| 100 layer_tree_host()->SetRootLayer(root); | 100 layer_tree_host()->SetRootLayer(root); |
| 101 LayerTreeTest::SetupTree(); | 101 LayerTreeTest::SetupTree(); |
| 102 } | 102 } |
| 103 | 103 |
| 104 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 104 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 105 | 105 |
| 106 void DrawLayersOnThread(LayerTreeHostImpl* impl) override { | 106 void DrawLayersOnThread(LayerTreeHostImpl* impl) override { |
| 107 LayerImpl* root = impl->active_tree()->root_layer_for_testing(); | 107 LayerImpl* root = impl->active_tree()->root_layer_for_testing(); |
| 108 LayerImpl* child = impl->active_tree()->LayerById(child_->id()); | 108 LayerImpl* child = impl->active_tree()->LayerById(child_->id()); |
| 109 RenderSurfaceImpl* surface = child->render_surface(); | 109 RenderSurfaceImpl* surface = child->GetRenderSurface(); |
| 110 | 110 |
| 111 // Verify the draw properties are valid. | 111 // Verify the draw properties are valid. |
| 112 EXPECT_TRUE(root->is_drawn_render_surface_layer_list_member()); | 112 EXPECT_TRUE(root->is_drawn_render_surface_layer_list_member()); |
| 113 EXPECT_TRUE(child->is_drawn_render_surface_layer_list_member()); | 113 EXPECT_TRUE(child->is_drawn_render_surface_layer_list_member()); |
| 114 EXPECT_TRUE(child->has_render_surface()); | 114 EXPECT_TRUE(child->GetRenderSurface()); |
| 115 EXPECT_EQ(child->render_surface(), child->render_target()); | 115 EXPECT_EQ(child->GetRenderSurface(), child->render_target()); |
| 116 | 116 |
| 117 EXPECT_OCCLUSION_EQ( | 117 EXPECT_OCCLUSION_EQ( |
| 118 Occlusion(surface->draw_transform(), SimpleEnclosedRegion(), | 118 Occlusion(surface->draw_transform(), SimpleEnclosedRegion(), |
| 119 SimpleEnclosedRegion(gfx::Rect(13, 9, 10, 11))), | 119 SimpleEnclosedRegion(gfx::Rect(13, 9, 10, 11))), |
| 120 surface->occlusion_in_content_space()); | 120 surface->occlusion_in_content_space()); |
| 121 EndTest(); | 121 EndTest(); |
| 122 } | 122 } |
| 123 | 123 |
| 124 void AfterTest() override {} | 124 void AfterTest() override {} |
| 125 | 125 |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 166 layer_tree_host()->SetRootLayer(root); | 166 layer_tree_host()->SetRootLayer(root); |
| 167 LayerTreeTest::SetupTree(); | 167 LayerTreeTest::SetupTree(); |
| 168 client_.set_bounds(root->bounds()); | 168 client_.set_bounds(root->bounds()); |
| 169 } | 169 } |
| 170 | 170 |
| 171 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 171 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 172 | 172 |
| 173 void DrawLayersOnThread(LayerTreeHostImpl* impl) override { | 173 void DrawLayersOnThread(LayerTreeHostImpl* impl) override { |
| 174 LayerImpl* root = impl->active_tree()->root_layer_for_testing(); | 174 LayerImpl* root = impl->active_tree()->root_layer_for_testing(); |
| 175 LayerImpl* child = impl->active_tree()->LayerById(child_->id()); | 175 LayerImpl* child = impl->active_tree()->LayerById(child_->id()); |
| 176 RenderSurfaceImpl* surface = child->render_surface(); | 176 RenderSurfaceImpl* surface = child->GetRenderSurface(); |
| 177 LayerImpl* mask = surface->MaskLayer(); | 177 LayerImpl* mask = surface->MaskLayer(); |
| 178 | 178 |
| 179 // Verify the draw properties are valid. | 179 // Verify the draw properties are valid. |
| 180 EXPECT_TRUE(root->is_drawn_render_surface_layer_list_member()); | 180 EXPECT_TRUE(root->is_drawn_render_surface_layer_list_member()); |
| 181 EXPECT_TRUE(child->is_drawn_render_surface_layer_list_member()); | 181 EXPECT_TRUE(child->is_drawn_render_surface_layer_list_member()); |
| 182 EXPECT_TRUE(child->has_render_surface()); | 182 EXPECT_TRUE(child->GetRenderSurface()); |
| 183 EXPECT_EQ(child->render_surface(), child->render_target()); | 183 EXPECT_EQ(child->GetRenderSurface(), child->render_target()); |
| 184 | 184 |
| 185 gfx::Transform transform = surface->draw_transform(); | 185 gfx::Transform transform = surface->draw_transform(); |
| 186 transform.PreconcatTransform(child->DrawTransform()); | 186 transform.PreconcatTransform(child->DrawTransform()); |
| 187 | 187 |
| 188 EXPECT_OCCLUSION_EQ( | 188 EXPECT_OCCLUSION_EQ( |
| 189 Occlusion(transform, SimpleEnclosedRegion(), | 189 Occlusion(transform, SimpleEnclosedRegion(), |
| 190 SimpleEnclosedRegion(gfx::Rect(13, 9, 10, 11))), | 190 SimpleEnclosedRegion(gfx::Rect(13, 9, 10, 11))), |
| 191 mask->draw_properties().occlusion_in_content_space); | 191 mask->draw_properties().occlusion_in_content_space); |
| 192 EndTest(); | 192 EndTest(); |
| 193 } | 193 } |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 238 | 238 |
| 239 layer_tree_host()->SetRootLayer(root); | 239 layer_tree_host()->SetRootLayer(root); |
| 240 LayerTreeTest::SetupTree(); | 240 LayerTreeTest::SetupTree(); |
| 241 client_.set_bounds(root->bounds()); | 241 client_.set_bounds(root->bounds()); |
| 242 } | 242 } |
| 243 | 243 |
| 244 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 244 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 245 | 245 |
| 246 void DrawLayersOnThread(LayerTreeHostImpl* impl) override { | 246 void DrawLayersOnThread(LayerTreeHostImpl* impl) override { |
| 247 LayerImpl* child = impl->active_tree()->LayerById(child_->id()); | 247 LayerImpl* child = impl->active_tree()->LayerById(child_->id()); |
| 248 LayerImpl* mask = child->render_surface()->MaskLayer(); | 248 LayerImpl* mask = child->GetRenderSurface()->MaskLayer(); |
| 249 | 249 |
| 250 gfx::Transform scale; | 250 gfx::Transform scale; |
| 251 scale.Scale(2, 2); | 251 scale.Scale(2, 2); |
| 252 | 252 |
| 253 EXPECT_OCCLUSION_EQ( | 253 EXPECT_OCCLUSION_EQ( |
| 254 Occlusion(scale, SimpleEnclosedRegion(), | 254 Occlusion(scale, SimpleEnclosedRegion(), |
| 255 SimpleEnclosedRegion(gfx::Rect(13, 15, 10, 11))), | 255 SimpleEnclosedRegion(gfx::Rect(13, 15, 10, 11))), |
| 256 mask->draw_properties().occlusion_in_content_space); | 256 mask->draw_properties().occlusion_in_content_space); |
| 257 EndTest(); | 257 EndTest(); |
| 258 } | 258 } |
| 259 | 259 |
| 260 void AfterTest() override {} | 260 void AfterTest() override {} |
| 261 | 261 |
| 262 private: | 262 private: |
| 263 FakeContentLayerClient client_; | 263 FakeContentLayerClient client_; |
| 264 scoped_refptr<Layer> child_; | 264 scoped_refptr<Layer> child_; |
| 265 }; | 265 }; |
| 266 | 266 |
| 267 SINGLE_AND_MULTI_THREAD_TEST_F( | 267 SINGLE_AND_MULTI_THREAD_TEST_F( |
| 268 LayerTreeHostOcclusionTestDrawPropertiesOnScaledMask); | 268 LayerTreeHostOcclusionTestDrawPropertiesOnScaledMask); |
| 269 | 269 |
| 270 } // namespace | 270 } // namespace |
| 271 } // namespace cc | 271 } // namespace cc |
| OLD | NEW |