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 "cc/layers/layer_iterator.h" | 5 #include "cc/layers/layer_iterator.h" |
6 #include "cc/output/copy_output_request.h" | 6 #include "cc/output/copy_output_request.h" |
7 #include "cc/output/copy_output_result.h" | 7 #include "cc/output/copy_output_result.h" |
8 #include "cc/test/fake_content_layer_client.h" | 8 #include "cc/test/fake_content_layer_client.h" |
9 #include "cc/test/fake_output_surface.h" | 9 #include "cc/test/fake_output_surface.h" |
10 #include "cc/test/fake_picture_layer.h" | 10 #include "cc/test/fake_picture_layer.h" |
(...skipping 18 matching lines...) Expand all Loading... |
29 child = FakePictureLayer::Create(layer_settings(), &client_); | 29 child = FakePictureLayer::Create(layer_settings(), &client_); |
30 child->SetBounds(gfx::Size(10, 10)); | 30 child->SetBounds(gfx::Size(10, 10)); |
31 root->AddChild(child); | 31 root->AddChild(child); |
32 | 32 |
33 grand_child = FakePictureLayer::Create(layer_settings(), &client_); | 33 grand_child = FakePictureLayer::Create(layer_settings(), &client_); |
34 grand_child->SetBounds(gfx::Size(5, 5)); | 34 grand_child->SetBounds(gfx::Size(5, 5)); |
35 child->AddChild(grand_child); | 35 child->AddChild(grand_child); |
36 | 36 |
37 layer_tree_host()->SetRootLayer(root); | 37 layer_tree_host()->SetRootLayer(root); |
38 LayerTreeHostCopyRequestTest::SetupTree(); | 38 LayerTreeHostCopyRequestTest::SetupTree(); |
| 39 client_.set_bounds(root->bounds()); |
39 } | 40 } |
40 | 41 |
41 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 42 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
42 | 43 |
43 void DidCommitAndDrawFrame() override { WaitForCallback(); } | 44 void DidCommitAndDrawFrame() override { WaitForCallback(); } |
44 | 45 |
45 void WaitForCallback() { | 46 void WaitForCallback() { |
46 base::MessageLoop::current()->PostTask( | 47 base::MessageLoop::current()->PostTask( |
47 FROM_HERE, | 48 FROM_HERE, |
48 base::Bind(&LayerTreeHostCopyRequestTestMultipleRequests::NextStep, | 49 base::Bind(&LayerTreeHostCopyRequestTestMultipleRequests::NextStep, |
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
184 main_destroyed_ = FakePictureLayer::Create(layer_settings(), &client_); | 185 main_destroyed_ = FakePictureLayer::Create(layer_settings(), &client_); |
185 main_destroyed_->SetBounds(gfx::Size(15, 15)); | 186 main_destroyed_->SetBounds(gfx::Size(15, 15)); |
186 root_->AddChild(main_destroyed_); | 187 root_->AddChild(main_destroyed_); |
187 | 188 |
188 impl_destroyed_ = FakePictureLayer::Create(layer_settings(), &client_); | 189 impl_destroyed_ = FakePictureLayer::Create(layer_settings(), &client_); |
189 impl_destroyed_->SetBounds(gfx::Size(10, 10)); | 190 impl_destroyed_->SetBounds(gfx::Size(10, 10)); |
190 root_->AddChild(impl_destroyed_); | 191 root_->AddChild(impl_destroyed_); |
191 | 192 |
192 layer_tree_host()->SetRootLayer(root_); | 193 layer_tree_host()->SetRootLayer(root_); |
193 LayerTreeHostCopyRequestTest::SetupTree(); | 194 LayerTreeHostCopyRequestTest::SetupTree(); |
| 195 client_.set_bounds(root_->bounds()); |
194 } | 196 } |
195 | 197 |
196 void BeginTest() override { | 198 void BeginTest() override { |
197 callback_count_ = 0; | 199 callback_count_ = 0; |
198 PostSetNeedsCommitToMainThread(); | 200 PostSetNeedsCommitToMainThread(); |
199 } | 201 } |
200 | 202 |
201 void DidCommit() override { | 203 void DidCommit() override { |
202 int frame = layer_tree_host()->source_frame_number(); | 204 int frame = layer_tree_host()->source_frame_number(); |
203 switch (frame) { | 205 switch (frame) { |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
282 parent_layer_->SetBounds(gfx::Size(15, 15)); | 284 parent_layer_->SetBounds(gfx::Size(15, 15)); |
283 parent_layer_->SetForceRenderSurface(true); | 285 parent_layer_->SetForceRenderSurface(true); |
284 grand_parent_layer_->AddChild(parent_layer_); | 286 grand_parent_layer_->AddChild(parent_layer_); |
285 | 287 |
286 copy_layer_ = FakePictureLayer::Create(layer_settings(), &client_); | 288 copy_layer_ = FakePictureLayer::Create(layer_settings(), &client_); |
287 copy_layer_->SetBounds(gfx::Size(10, 10)); | 289 copy_layer_->SetBounds(gfx::Size(10, 10)); |
288 parent_layer_->AddChild(copy_layer_); | 290 parent_layer_->AddChild(copy_layer_); |
289 | 291 |
290 layer_tree_host()->SetRootLayer(root_); | 292 layer_tree_host()->SetRootLayer(root_); |
291 LayerTreeHostCopyRequestTest::SetupTree(); | 293 LayerTreeHostCopyRequestTest::SetupTree(); |
| 294 client_.set_bounds(root_->bounds()); |
292 } | 295 } |
293 | 296 |
294 void AddCopyRequest(Layer* layer) { | 297 void AddCopyRequest(Layer* layer) { |
295 layer->RequestCopyOfOutput( | 298 layer->RequestCopyOfOutput( |
296 CopyOutputRequest::CreateBitmapRequest(base::Bind( | 299 CopyOutputRequest::CreateBitmapRequest(base::Bind( |
297 &LayerTreeHostCopyRequestTestInHiddenSubtree::CopyOutputCallback, | 300 &LayerTreeHostCopyRequestTestInHiddenSubtree::CopyOutputCallback, |
298 base::Unretained(this)))); | 301 base::Unretained(this)))); |
299 } | 302 } |
300 | 303 |
301 void BeginTest() override { | 304 void BeginTest() override { |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
382 parent_layer_->SetBounds(gfx::Size(15, 15)); | 385 parent_layer_->SetBounds(gfx::Size(15, 15)); |
383 parent_layer_->SetForceRenderSurface(true); | 386 parent_layer_->SetForceRenderSurface(true); |
384 grand_parent_layer_->AddChild(parent_layer_); | 387 grand_parent_layer_->AddChild(parent_layer_); |
385 | 388 |
386 copy_layer_ = FakePictureLayer::Create(layer_settings(), &client_); | 389 copy_layer_ = FakePictureLayer::Create(layer_settings(), &client_); |
387 copy_layer_->SetBounds(gfx::Size(10, 10)); | 390 copy_layer_->SetBounds(gfx::Size(10, 10)); |
388 parent_layer_->AddChild(copy_layer_); | 391 parent_layer_->AddChild(copy_layer_); |
389 | 392 |
390 layer_tree_host()->SetRootLayer(root_); | 393 layer_tree_host()->SetRootLayer(root_); |
391 LayerTreeHostCopyRequestTest::SetupTree(); | 394 LayerTreeHostCopyRequestTest::SetupTree(); |
| 395 client_.set_bounds(root_->bounds()); |
392 } | 396 } |
393 | 397 |
394 void BeginTest() override { | 398 void BeginTest() override { |
395 did_draw_ = false; | 399 did_draw_ = false; |
396 PostSetNeedsCommitToMainThread(); | 400 PostSetNeedsCommitToMainThread(); |
397 | 401 |
398 copy_layer_->RequestCopyOfOutput( | 402 copy_layer_->RequestCopyOfOutput( |
399 CopyOutputRequest::CreateBitmapRequest(base::Bind( | 403 CopyOutputRequest::CreateBitmapRequest(base::Bind( |
400 &LayerTreeHostTestHiddenSurfaceNotAllocatedForSubtreeCopyRequest:: | 404 &LayerTreeHostTestHiddenSurfaceNotAllocatedForSubtreeCopyRequest:: |
401 CopyOutputCallback, | 405 CopyOutputCallback, |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
455 parent_layer_->SetMasksToBounds(true); | 459 parent_layer_->SetMasksToBounds(true); |
456 root_->AddChild(parent_layer_); | 460 root_->AddChild(parent_layer_); |
457 | 461 |
458 copy_layer_ = FakePictureLayer::Create(layer_settings(), &client_); | 462 copy_layer_ = FakePictureLayer::Create(layer_settings(), &client_); |
459 copy_layer_->SetPosition(gfx::PointF(15.f, 15.f)); | 463 copy_layer_->SetPosition(gfx::PointF(15.f, 15.f)); |
460 copy_layer_->SetBounds(gfx::Size(10, 10)); | 464 copy_layer_->SetBounds(gfx::Size(10, 10)); |
461 parent_layer_->AddChild(copy_layer_); | 465 parent_layer_->AddChild(copy_layer_); |
462 | 466 |
463 layer_tree_host()->SetRootLayer(root_); | 467 layer_tree_host()->SetRootLayer(root_); |
464 LayerTreeHostCopyRequestTest::SetupTree(); | 468 LayerTreeHostCopyRequestTest::SetupTree(); |
| 469 client_.set_bounds(root_->bounds()); |
465 } | 470 } |
466 | 471 |
467 void BeginTest() override { | 472 void BeginTest() override { |
468 PostSetNeedsCommitToMainThread(); | 473 PostSetNeedsCommitToMainThread(); |
469 | 474 |
470 copy_layer_->RequestCopyOfOutput(CopyOutputRequest::CreateBitmapRequest( | 475 copy_layer_->RequestCopyOfOutput(CopyOutputRequest::CreateBitmapRequest( |
471 base::Bind(&LayerTreeHostCopyRequestTestClippedOut::CopyOutputCallback, | 476 base::Bind(&LayerTreeHostCopyRequestTestClippedOut::CopyOutputCallback, |
472 base::Unretained(this)))); | 477 base::Unretained(this)))); |
473 } | 478 } |
474 | 479 |
(...skipping 22 matching lines...) Expand all Loading... |
497 void SetupTree() override { | 502 void SetupTree() override { |
498 root_ = FakePictureLayer::Create(layer_settings(), &client_); | 503 root_ = FakePictureLayer::Create(layer_settings(), &client_); |
499 root_->SetBounds(gfx::Size(20, 20)); | 504 root_->SetBounds(gfx::Size(20, 20)); |
500 | 505 |
501 copy_layer_ = FakePictureLayer::Create(layer_settings(), &client_); | 506 copy_layer_ = FakePictureLayer::Create(layer_settings(), &client_); |
502 copy_layer_->SetBounds(gfx::Size(10, 10)); | 507 copy_layer_->SetBounds(gfx::Size(10, 10)); |
503 root_->AddChild(copy_layer_); | 508 root_->AddChild(copy_layer_); |
504 | 509 |
505 layer_tree_host()->SetRootLayer(root_); | 510 layer_tree_host()->SetRootLayer(root_); |
506 LayerTreeHostCopyRequestTest::SetupTree(); | 511 LayerTreeHostCopyRequestTest::SetupTree(); |
| 512 client_.set_bounds(root_->bounds()); |
507 } | 513 } |
508 | 514 |
509 void AddCopyRequest(Layer* layer) { | 515 void AddCopyRequest(Layer* layer) { |
510 layer->RequestCopyOfOutput( | 516 layer->RequestCopyOfOutput( |
511 CopyOutputRequest::CreateBitmapRequest(base::Bind( | 517 CopyOutputRequest::CreateBitmapRequest(base::Bind( |
512 &LayerTreeHostTestAsyncTwoReadbacksWithoutDraw::CopyOutputCallback, | 518 &LayerTreeHostTestAsyncTwoReadbacksWithoutDraw::CopyOutputCallback, |
513 base::Unretained(this)))); | 519 base::Unretained(this)))); |
514 } | 520 } |
515 | 521 |
516 void BeginTest() override { | 522 void BeginTest() override { |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
592 void SetupTree() override { | 598 void SetupTree() override { |
593 root_ = FakePictureLayer::Create(layer_settings(), &client_); | 599 root_ = FakePictureLayer::Create(layer_settings(), &client_); |
594 root_->SetBounds(gfx::Size(20, 20)); | 600 root_->SetBounds(gfx::Size(20, 20)); |
595 | 601 |
596 copy_layer_ = FakePictureLayer::Create(layer_settings(), &client_); | 602 copy_layer_ = FakePictureLayer::Create(layer_settings(), &client_); |
597 copy_layer_->SetBounds(gfx::Size(10, 10)); | 603 copy_layer_->SetBounds(gfx::Size(10, 10)); |
598 root_->AddChild(copy_layer_); | 604 root_->AddChild(copy_layer_); |
599 | 605 |
600 layer_tree_host()->SetRootLayer(root_); | 606 layer_tree_host()->SetRootLayer(root_); |
601 LayerTreeHostCopyRequestTest::SetupTree(); | 607 LayerTreeHostCopyRequestTest::SetupTree(); |
| 608 client_.set_bounds(root_->bounds()); |
602 } | 609 } |
603 | 610 |
604 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 611 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
605 | 612 |
606 void CopyOutputCallback(scoped_ptr<CopyOutputResult> result) { | 613 void CopyOutputCallback(scoped_ptr<CopyOutputResult> result) { |
607 EXPECT_TRUE(layer_tree_host()->task_runner_provider()->IsMainThread()); | 614 EXPECT_TRUE(layer_tree_host()->task_runner_provider()->IsMainThread()); |
608 EXPECT_EQ(gfx::Size(10, 10).ToString(), result->size().ToString()); | 615 EXPECT_EQ(gfx::Size(10, 10).ToString(), result->size().ToString()); |
609 EXPECT_TRUE(result->HasTexture()); | 616 EXPECT_TRUE(result->HasTexture()); |
610 | 617 |
611 // Save the result for later. | 618 // Save the result for later. |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
716 | 723 |
717 root_ = FakePictureLayer::Create(layer_settings(), &client_); | 724 root_ = FakePictureLayer::Create(layer_settings(), &client_); |
718 root_->SetBounds(gfx::Size(20, 20)); | 725 root_->SetBounds(gfx::Size(20, 20)); |
719 | 726 |
720 copy_layer_ = FakePictureLayer::Create(layer_settings(), &client_); | 727 copy_layer_ = FakePictureLayer::Create(layer_settings(), &client_); |
721 copy_layer_->SetBounds(gfx::Size(10, 10)); | 728 copy_layer_->SetBounds(gfx::Size(10, 10)); |
722 root_->AddChild(copy_layer_); | 729 root_->AddChild(copy_layer_); |
723 | 730 |
724 layer_tree_host()->SetRootLayer(root_); | 731 layer_tree_host()->SetRootLayer(root_); |
725 LayerTreeHostCopyRequestTest::SetupTree(); | 732 LayerTreeHostCopyRequestTest::SetupTree(); |
| 733 client_.set_bounds(root_->bounds()); |
726 } | 734 } |
727 | 735 |
728 void BeginTest() override { | 736 void BeginTest() override { |
729 num_textures_without_readback_ = 0; | 737 num_textures_without_readback_ = 0; |
730 num_textures_with_readback_ = 0; | 738 num_textures_with_readback_ = 0; |
731 waited_sync_token_after_readback_.Clear(); | 739 waited_sync_token_after_readback_.Clear(); |
732 PostSetNeedsCommitToMainThread(); | 740 PostSetNeedsCommitToMainThread(); |
733 } | 741 } |
734 | 742 |
735 virtual void RequestCopy(Layer* layer) = 0; | 743 virtual void RequestCopy(Layer* layer) = 0; |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
870 void SetupTree() override { | 878 void SetupTree() override { |
871 root_ = FakePictureLayer::Create(layer_settings(), &client_); | 879 root_ = FakePictureLayer::Create(layer_settings(), &client_); |
872 root_->SetBounds(gfx::Size(20, 20)); | 880 root_->SetBounds(gfx::Size(20, 20)); |
873 | 881 |
874 copy_layer_ = FakePictureLayer::Create(layer_settings(), &client_); | 882 copy_layer_ = FakePictureLayer::Create(layer_settings(), &client_); |
875 copy_layer_->SetBounds(gfx::Size(10, 10)); | 883 copy_layer_->SetBounds(gfx::Size(10, 10)); |
876 root_->AddChild(copy_layer_); | 884 root_->AddChild(copy_layer_); |
877 | 885 |
878 layer_tree_host()->SetRootLayer(root_); | 886 layer_tree_host()->SetRootLayer(root_); |
879 LayerTreeHostCopyRequestTest::SetupTree(); | 887 LayerTreeHostCopyRequestTest::SetupTree(); |
| 888 client_.set_bounds(root_->bounds()); |
880 } | 889 } |
881 | 890 |
882 void BeginTest() override { | 891 void BeginTest() override { |
883 callback_count_ = 0; | 892 callback_count_ = 0; |
884 PostSetNeedsCommitToMainThread(); | 893 PostSetNeedsCommitToMainThread(); |
885 } | 894 } |
886 | 895 |
887 void CopyOutputCallback(scoped_ptr<CopyOutputResult> result) { | 896 void CopyOutputCallback(scoped_ptr<CopyOutputResult> result) { |
888 EXPECT_TRUE(result->IsEmpty()); | 897 EXPECT_TRUE(result->IsEmpty()); |
889 ++callback_count_; | 898 ++callback_count_; |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
947 void SetupTree() override { | 956 void SetupTree() override { |
948 root_ = FakePictureLayer::Create(layer_settings(), &client_); | 957 root_ = FakePictureLayer::Create(layer_settings(), &client_); |
949 root_->SetBounds(gfx::Size(20, 20)); | 958 root_->SetBounds(gfx::Size(20, 20)); |
950 | 959 |
951 copy_layer_ = FakePictureLayer::Create(layer_settings(), &client_); | 960 copy_layer_ = FakePictureLayer::Create(layer_settings(), &client_); |
952 copy_layer_->SetBounds(gfx::Size(10, 10)); | 961 copy_layer_->SetBounds(gfx::Size(10, 10)); |
953 root_->AddChild(copy_layer_); | 962 root_->AddChild(copy_layer_); |
954 | 963 |
955 layer_tree_host()->SetRootLayer(root_); | 964 layer_tree_host()->SetRootLayer(root_); |
956 LayerTreeHostCopyRequestTest::SetupTree(); | 965 LayerTreeHostCopyRequestTest::SetupTree(); |
| 966 client_.set_bounds(root_->bounds()); |
957 } | 967 } |
958 | 968 |
959 void BeginTest() override { | 969 void BeginTest() override { |
960 callback_count_ = 0; | 970 callback_count_ = 0; |
961 PostSetNeedsCommitToMainThread(); | 971 PostSetNeedsCommitToMainThread(); |
962 } | 972 } |
963 | 973 |
964 void CopyOutputCallback(scoped_ptr<CopyOutputResult> result) { | 974 void CopyOutputCallback(scoped_ptr<CopyOutputResult> result) { |
965 EXPECT_TRUE(result->IsEmpty()); | 975 EXPECT_TRUE(result->IsEmpty()); |
966 ++callback_count_; | 976 ++callback_count_; |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1020 FakePictureLayer::Create(layer_settings(), &client_); | 1030 FakePictureLayer::Create(layer_settings(), &client_); |
1021 root->SetBounds(gfx::Size(20, 20)); | 1031 root->SetBounds(gfx::Size(20, 20)); |
1022 | 1032 |
1023 child_ = FakePictureLayer::Create(layer_settings(), &client_); | 1033 child_ = FakePictureLayer::Create(layer_settings(), &client_); |
1024 child_->SetBounds(gfx::Size(10, 10)); | 1034 child_->SetBounds(gfx::Size(10, 10)); |
1025 root->AddChild(child_); | 1035 root->AddChild(child_); |
1026 child_->SetHideLayerAndSubtree(true); | 1036 child_->SetHideLayerAndSubtree(true); |
1027 | 1037 |
1028 layer_tree_host()->SetRootLayer(root); | 1038 layer_tree_host()->SetRootLayer(root); |
1029 LayerTreeHostCopyRequestTest::SetupTree(); | 1039 LayerTreeHostCopyRequestTest::SetupTree(); |
| 1040 client_.set_bounds(root->bounds()); |
1030 } | 1041 } |
1031 | 1042 |
1032 void BeginTest() override { | 1043 void BeginTest() override { |
1033 num_draws_ = 0; | 1044 num_draws_ = 0; |
1034 copy_happened_ = false; | 1045 copy_happened_ = false; |
1035 draw_happened_ = false; | 1046 draw_happened_ = false; |
1036 PostSetNeedsCommitToMainThread(); | 1047 PostSetNeedsCommitToMainThread(); |
1037 } | 1048 } |
1038 | 1049 |
1039 void DidCommitAndDrawFrame() override { | 1050 void DidCommitAndDrawFrame() override { |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1123 int num_draws_; | 1134 int num_draws_; |
1124 bool copy_happened_; | 1135 bool copy_happened_; |
1125 bool draw_happened_; | 1136 bool draw_happened_; |
1126 }; | 1137 }; |
1127 | 1138 |
1128 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F( | 1139 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F( |
1129 LayerTreeHostCopyRequestTestMultipleDrawsHiddenCopyRequest); | 1140 LayerTreeHostCopyRequestTestMultipleDrawsHiddenCopyRequest); |
1130 | 1141 |
1131 } // namespace | 1142 } // namespace |
1132 } // namespace cc | 1143 } // namespace cc |
OLD | NEW |