| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 <stddef.h> | 5 #include <stddef.h> |
| 6 | 6 |
| 7 #include "cc/layers/layer_iterator.h" | 7 #include "cc/layers/layer_iterator.h" |
| 8 #include "cc/output/copy_output_request.h" | 8 #include "cc/output/copy_output_request.h" |
| 9 #include "cc/output/copy_output_result.h" | 9 #include "cc/output/copy_output_result.h" |
| 10 #include "cc/test/fake_content_layer_client.h" | 10 #include "cc/test/fake_content_layer_client.h" |
| (...skipping 360 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 371 } | 371 } |
| 372 | 372 |
| 373 void CopyOutputCallback(scoped_ptr<CopyOutputResult> result) { | 373 void CopyOutputCallback(scoped_ptr<CopyOutputResult> result) { |
| 374 ++callback_count_; | 374 ++callback_count_; |
| 375 EXPECT_TRUE(layer_tree_host()->task_runner_provider()->IsMainThread()); | 375 EXPECT_TRUE(layer_tree_host()->task_runner_provider()->IsMainThread()); |
| 376 EXPECT_EQ(copy_layer_->bounds().ToString(), result->size().ToString()) | 376 EXPECT_EQ(copy_layer_->bounds().ToString(), result->size().ToString()) |
| 377 << callback_count_; | 377 << callback_count_; |
| 378 switch (callback_count_) { | 378 switch (callback_count_) { |
| 379 case 1: | 379 case 1: |
| 380 // Hide the copy request layer. | 380 // Hide the copy request layer. |
| 381 grand_parent_layer_->SetHideLayerAndSubtree(false); | 381 grand_parent_layer_->SetOpacity(1.f); |
| 382 parent_layer_->SetHideLayerAndSubtree(false); | 382 parent_layer_->SetOpacity(1.f); |
| 383 copy_layer_->SetHideLayerAndSubtree(true); | 383 copy_layer_->SetOpacity(0.f); |
| 384 AddCopyRequest(copy_layer_.get()); | 384 AddCopyRequest(copy_layer_.get()); |
| 385 break; | 385 break; |
| 386 case 2: | 386 case 2: |
| 387 // Hide the copy request layer's parent only. | 387 // Hide the copy request layer's parent only. |
| 388 grand_parent_layer_->SetHideLayerAndSubtree(false); | 388 grand_parent_layer_->SetOpacity(1.f); |
| 389 parent_layer_->SetHideLayerAndSubtree(true); | 389 parent_layer_->SetOpacity(0.f); |
| 390 copy_layer_->SetHideLayerAndSubtree(false); | 390 copy_layer_->SetOpacity(1.f); |
| 391 AddCopyRequest(copy_layer_.get()); | 391 AddCopyRequest(copy_layer_.get()); |
| 392 break; | 392 break; |
| 393 case 3: | 393 case 3: |
| 394 // Hide the copy request layer's grand parent only. | 394 // Hide the copy request layer's grand parent only. |
| 395 grand_parent_layer_->SetHideLayerAndSubtree(true); | 395 grand_parent_layer_->SetOpacity(0.f); |
| 396 parent_layer_->SetHideLayerAndSubtree(false); | 396 parent_layer_->SetOpacity(1.f); |
| 397 copy_layer_->SetHideLayerAndSubtree(false); | 397 copy_layer_->SetOpacity(1.f); |
| 398 AddCopyRequest(copy_layer_.get()); | 398 AddCopyRequest(copy_layer_.get()); |
| 399 break; | 399 break; |
| 400 case 4: | 400 case 4: |
| 401 // Hide the copy request layer's parent and grandparent. | 401 // Hide the copy request layer's parent and grandparent. |
| 402 grand_parent_layer_->SetHideLayerAndSubtree(true); | 402 grand_parent_layer_->SetOpacity(0.f); |
| 403 parent_layer_->SetHideLayerAndSubtree(true); | 403 parent_layer_->SetOpacity(0.f); |
| 404 copy_layer_->SetHideLayerAndSubtree(false); | 404 copy_layer_->SetOpacity(1.f); |
| 405 AddCopyRequest(copy_layer_.get()); | 405 AddCopyRequest(copy_layer_.get()); |
| 406 break; | 406 break; |
| 407 case 5: | 407 case 5: |
| 408 // Hide the copy request layer as well as its parent and grandparent. | 408 // Hide the copy request layer as well as its parent and grandparent. |
| 409 grand_parent_layer_->SetHideLayerAndSubtree(true); | 409 grand_parent_layer_->SetOpacity(0.f); |
| 410 parent_layer_->SetHideLayerAndSubtree(true); | 410 parent_layer_->SetOpacity(0.f); |
| 411 copy_layer_->SetHideLayerAndSubtree(true); | 411 copy_layer_->SetOpacity(0.f); |
| 412 AddCopyRequest(copy_layer_.get()); | 412 AddCopyRequest(copy_layer_.get()); |
| 413 break; | 413 break; |
| 414 case 6: | 414 case 6: |
| 415 EndTest(); | 415 EndTest(); |
| 416 break; | 416 break; |
| 417 } | 417 } |
| 418 } | 418 } |
| 419 | 419 |
| 420 void AfterTest() override {} | 420 void AfterTest() override {} |
| 421 | 421 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 432 | 432 |
| 433 class LayerTreeHostTestHiddenSurfaceNotAllocatedForSubtreeCopyRequest | 433 class LayerTreeHostTestHiddenSurfaceNotAllocatedForSubtreeCopyRequest |
| 434 : public LayerTreeHostCopyRequestTest { | 434 : public LayerTreeHostCopyRequestTest { |
| 435 protected: | 435 protected: |
| 436 void SetupTree() override { | 436 void SetupTree() override { |
| 437 root_ = FakePictureLayer::Create(layer_settings(), &client_); | 437 root_ = FakePictureLayer::Create(layer_settings(), &client_); |
| 438 root_->SetBounds(gfx::Size(20, 20)); | 438 root_->SetBounds(gfx::Size(20, 20)); |
| 439 | 439 |
| 440 grand_parent_layer_ = FakePictureLayer::Create(layer_settings(), &client_); | 440 grand_parent_layer_ = FakePictureLayer::Create(layer_settings(), &client_); |
| 441 grand_parent_layer_->SetBounds(gfx::Size(15, 15)); | 441 grand_parent_layer_->SetBounds(gfx::Size(15, 15)); |
| 442 grand_parent_layer_->SetHideLayerAndSubtree(true); | 442 grand_parent_layer_->SetOpacity(0.f); |
| 443 root_->AddChild(grand_parent_layer_); | 443 root_->AddChild(grand_parent_layer_); |
| 444 | 444 |
| 445 // parent_layer_ owns a render surface. | 445 // parent_layer_ owns a render surface. |
| 446 parent_layer_ = FakePictureLayer::Create(layer_settings(), &client_); | 446 parent_layer_ = FakePictureLayer::Create(layer_settings(), &client_); |
| 447 parent_layer_->SetBounds(gfx::Size(15, 15)); | 447 parent_layer_->SetBounds(gfx::Size(15, 15)); |
| 448 parent_layer_->SetForceRenderSurface(true); | 448 parent_layer_->SetForceRenderSurface(true); |
| 449 grand_parent_layer_->AddChild(parent_layer_); | 449 grand_parent_layer_->AddChild(parent_layer_); |
| 450 | 450 |
| 451 copy_layer_ = FakePictureLayer::Create(layer_settings(), &client_); | 451 copy_layer_ = FakePictureLayer::Create(layer_settings(), &client_); |
| 452 copy_layer_->SetBounds(gfx::Size(10, 10)); | 452 copy_layer_->SetBounds(gfx::Size(10, 10)); |
| (...skipping 702 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1155 class LayerTreeHostCopyRequestTestMultipleDrawsHiddenCopyRequest | 1155 class LayerTreeHostCopyRequestTestMultipleDrawsHiddenCopyRequest |
| 1156 : public LayerTreeHostCopyRequestTest { | 1156 : public LayerTreeHostCopyRequestTest { |
| 1157 protected: | 1157 protected: |
| 1158 void SetupTree() override { | 1158 void SetupTree() override { |
| 1159 scoped_refptr<FakePictureLayer> root = | 1159 scoped_refptr<FakePictureLayer> root = |
| 1160 FakePictureLayer::Create(layer_settings(), &client_); | 1160 FakePictureLayer::Create(layer_settings(), &client_); |
| 1161 root->SetBounds(gfx::Size(20, 20)); | 1161 root->SetBounds(gfx::Size(20, 20)); |
| 1162 | 1162 |
| 1163 child_ = FakePictureLayer::Create(layer_settings(), &client_); | 1163 child_ = FakePictureLayer::Create(layer_settings(), &client_); |
| 1164 child_->SetBounds(gfx::Size(10, 10)); | 1164 child_->SetBounds(gfx::Size(10, 10)); |
| 1165 child_->SetOpacity(0.f); |
| 1165 root->AddChild(child_); | 1166 root->AddChild(child_); |
| 1166 child_->SetHideLayerAndSubtree(true); | |
| 1167 | 1167 |
| 1168 layer_tree_host()->SetRootLayer(root); | 1168 layer_tree_host()->SetRootLayer(root); |
| 1169 LayerTreeHostCopyRequestTest::SetupTree(); | 1169 LayerTreeHostCopyRequestTest::SetupTree(); |
| 1170 client_.set_bounds(root->bounds()); | 1170 client_.set_bounds(root->bounds()); |
| 1171 } | 1171 } |
| 1172 | 1172 |
| 1173 void BeginTest() override { | 1173 void BeginTest() override { |
| 1174 num_draws_ = 0; | 1174 num_draws_ = 0; |
| 1175 copy_happened_ = false; | 1175 copy_happened_ = false; |
| 1176 draw_happened_ = false; | 1176 draw_happened_ = false; |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1264 int num_draws_; | 1264 int num_draws_; |
| 1265 bool copy_happened_; | 1265 bool copy_happened_; |
| 1266 bool draw_happened_; | 1266 bool draw_happened_; |
| 1267 }; | 1267 }; |
| 1268 | 1268 |
| 1269 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F( | 1269 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F( |
| 1270 LayerTreeHostCopyRequestTestMultipleDrawsHiddenCopyRequest); | 1270 LayerTreeHostCopyRequestTestMultipleDrawsHiddenCopyRequest); |
| 1271 | 1271 |
| 1272 } // namespace | 1272 } // namespace |
| 1273 } // namespace cc | 1273 } // namespace cc |
| OLD | NEW |