| 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/trees/layer_tree_host.h" | 5 #include "cc/trees/layer_tree_host.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "cc/layers/delegated_renderer_layer.h" | 10 #include "cc/layers/delegated_renderer_layer.h" |
| 11 #include "cc/layers/delegated_renderer_layer_client.h" | 11 #include "cc/layers/delegated_renderer_layer_client.h" |
| 12 #include "cc/layers/delegated_renderer_layer_impl.h" | 12 #include "cc/layers/delegated_renderer_layer_impl.h" |
| 13 #include "cc/output/compositor_frame.h" | 13 #include "cc/output/compositor_frame.h" |
| 14 #include "cc/output/compositor_frame_ack.h" | 14 #include "cc/output/compositor_frame_ack.h" |
| 15 #include "cc/output/delegated_frame_data.h" | 15 #include "cc/output/delegated_frame_data.h" |
| 16 #include "cc/quads/shared_quad_state.h" | 16 #include "cc/quads/shared_quad_state.h" |
| 17 #include "cc/quads/texture_draw_quad.h" | 17 #include "cc/quads/texture_draw_quad.h" |
| 18 #include "cc/resources/returned_resource.h" |
| 18 #include "cc/test/fake_delegated_renderer_layer.h" | 19 #include "cc/test/fake_delegated_renderer_layer.h" |
| 19 #include "cc/test/fake_delegated_renderer_layer_impl.h" | 20 #include "cc/test/fake_delegated_renderer_layer_impl.h" |
| 20 #include "cc/test/fake_output_surface.h" | 21 #include "cc/test/fake_output_surface.h" |
| 21 #include "cc/test/layer_tree_test.h" | 22 #include "cc/test/layer_tree_test.h" |
| 22 #include "cc/trees/layer_tree_impl.h" | 23 #include "cc/trees/layer_tree_impl.h" |
| 23 #include "gpu/GLES2/gl2extchromium.h" | 24 #include "gpu/GLES2/gl2extchromium.h" |
| 24 #include "third_party/WebKit/public/platform/WebGraphicsContext3D.h" | 25 #include "third_party/WebKit/public/platform/WebGraphicsContext3D.h" |
| 25 | 26 |
| 26 namespace cc { | 27 namespace cc { |
| 27 namespace { | 28 namespace { |
| 28 | 29 |
| 29 bool TransferableResourceLower(const TransferableResource& a, | 30 bool ReturnedResourceLower(const ReturnedResource& a, |
| 30 const TransferableResource& b) { | 31 const ReturnedResource& b) { |
| 31 return a.id < b.id; | 32 return a.id < b.id; |
| 32 } | 33 } |
| 33 | 34 |
| 34 // Tests if the list of resources matches an expectation, modulo the order. | 35 // Tests if the list of resources matches an expectation, modulo the order. |
| 35 bool ResourcesMatch(TransferableResourceArray actual, | 36 bool ResourcesMatch(ReturnedResourceArray actual, |
| 36 unsigned* expected, | 37 unsigned* expected, |
| 37 size_t expected_count) { | 38 size_t expected_count) { |
| 38 EXPECT_EQ(expected_count, actual.size()); | 39 std::sort(actual.begin(), actual.end(), ReturnedResourceLower); |
| 39 if (expected_count != actual.size()) | 40 std::sort(expected, expected + expected_count); |
| 40 return false; | 41 size_t actual_index = 0; |
| 41 | 42 |
| 42 std::sort(actual.begin(), actual.end(), TransferableResourceLower); | 43 // for each element of the expected array, count off one of the actual array |
| 43 std::sort(expected, expected + expected_count); | 44 // (after checking it matches). |
| 44 bool result = true; | 45 for (size_t expected_index = 0; expected_index < expected_count; |
| 45 for (size_t i = 0; i < expected_count; ++i) { | 46 ++expected_index) { |
| 46 EXPECT_EQ(actual[i].id, expected[i]); | 47 EXPECT_LT(actual_index, actual.size()); |
| 47 if (actual[i].id != expected[i]) | 48 if (actual_index >= actual.size()) |
| 48 result = false; | 49 return false; |
| 50 EXPECT_EQ(actual[actual_index].id, expected[expected_index]); |
| 51 if (actual[actual_index].id != expected[expected_index]) |
| 52 return false; |
| 53 EXPECT_GT(actual[actual_index].count, 0); |
| 54 if (actual[actual_index].count <= 0) { |
| 55 return false; |
| 56 } else { |
| 57 --actual[actual_index].count; |
| 58 if (actual[actual_index].count == 0) |
| 59 ++actual_index; |
| 60 } |
| 49 } | 61 } |
| 50 | 62 EXPECT_EQ(actual_index, actual.size()); |
| 51 return result; | 63 return actual_index == actual.size(); |
| 52 } | 64 } |
| 53 | 65 |
| 54 #define EXPECT_RESOURCES(expected, actual) \ | 66 #define EXPECT_RESOURCES(expected, actual) \ |
| 55 EXPECT_TRUE(ResourcesMatch(actual, expected, arraysize(expected))); | 67 EXPECT_TRUE(ResourcesMatch(actual, expected, arraysize(expected))); |
| 56 | 68 |
| 57 // These tests deal with delegated renderer layers. | 69 // These tests deal with delegated renderer layers. |
| 58 class LayerTreeHostDelegatedTest : public LayerTreeTest { | 70 class LayerTreeHostDelegatedTest : public LayerTreeTest { |
| 59 protected: | 71 protected: |
| 60 scoped_ptr<DelegatedFrameData> CreateFrameData(gfx::Rect root_output_rect, | 72 scoped_ptr<DelegatedFrameData> CreateFrameData(gfx::Rect root_output_rect, |
| 61 gfx::Rect root_damage_rect) { | 73 gfx::Rect root_damage_rect) { |
| (...skipping 462 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 524 scoped_ptr<DelegatedFrameData> frame2 = | 536 scoped_ptr<DelegatedFrameData> frame2 = |
| 525 CreateFrameData(gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1)); | 537 CreateFrameData(gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1)); |
| 526 AddTextureQuad(frame2.get(), 999); | 538 AddTextureQuad(frame2.get(), 999); |
| 527 AddTransferableResource(frame2.get(), 999); | 539 AddTransferableResource(frame2.get(), 999); |
| 528 AddTextureQuad(frame2.get(), 555); | 540 AddTextureQuad(frame2.get(), 555); |
| 529 AddTransferableResource(frame2.get(), 555); | 541 AddTransferableResource(frame2.get(), 555); |
| 530 delegated_->SetFrameData(frame2.Pass()); | 542 delegated_->SetFrameData(frame2.Pass()); |
| 531 | 543 |
| 532 // The resource 999 from frame1 is returned since it is still on the main | 544 // The resource 999 from frame1 is returned since it is still on the main |
| 533 // thread. | 545 // thread. |
| 534 TransferableResourceArray returned_resources; | 546 ReturnedResourceArray returned_resources; |
| 535 delegated_->TakeUnusedResourcesForChildCompositor(&returned_resources); | 547 delegated_->TakeUnusedResourcesForChildCompositor(&returned_resources); |
| 536 { | 548 { |
| 537 unsigned expected[] = {999}; | 549 unsigned expected[] = {999}; |
| 538 EXPECT_RESOURCES(expected, returned_resources); | 550 EXPECT_RESOURCES(expected, returned_resources); |
| 539 } | 551 } |
| 540 | 552 |
| 541 PostSetNeedsCommitToMainThread(); | 553 PostSetNeedsCommitToMainThread(); |
| 542 } | 554 } |
| 543 | 555 |
| 544 virtual void DidActivateTreeOnThread(LayerTreeHostImpl* host_impl) OVERRIDE { | 556 virtual void DidActivateTreeOnThread(LayerTreeHostImpl* host_impl) OVERRIDE { |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 620 | 632 |
| 621 class LayerTreeHostDelegatedTestReturnUnusedResources | 633 class LayerTreeHostDelegatedTestReturnUnusedResources |
| 622 : public LayerTreeHostDelegatedTestCaseSingleDelegatedLayer { | 634 : public LayerTreeHostDelegatedTestCaseSingleDelegatedLayer { |
| 623 public: | 635 public: |
| 624 virtual void BeginTest() OVERRIDE { | 636 virtual void BeginTest() OVERRIDE { |
| 625 PostSetNeedsCommitToMainThread(); | 637 PostSetNeedsCommitToMainThread(); |
| 626 } | 638 } |
| 627 | 639 |
| 628 virtual void DidCommitAndDrawFrame() OVERRIDE { | 640 virtual void DidCommitAndDrawFrame() OVERRIDE { |
| 629 scoped_ptr<DelegatedFrameData> frame; | 641 scoped_ptr<DelegatedFrameData> frame; |
| 630 TransferableResourceArray resources; | 642 ReturnedResourceArray resources; |
| 631 | 643 |
| 632 int next_source_frame_number = layer_tree_host()->source_frame_number(); | 644 int next_source_frame_number = layer_tree_host()->source_frame_number(); |
| 633 switch (next_source_frame_number) { | 645 switch (next_source_frame_number) { |
| 634 case 1: | 646 case 1: |
| 635 // Generate a frame with two resources in it. | 647 // Generate a frame with two resources in it. |
| 636 frame = CreateFrameData(gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1)); | 648 frame = CreateFrameData(gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1)); |
| 637 AddTextureQuad(frame.get(), 999); | 649 AddTextureQuad(frame.get(), 999); |
| 638 AddTransferableResource(frame.get(), 999); | 650 AddTransferableResource(frame.get(), 999); |
| 639 AddTextureQuad(frame.get(), 555); | 651 AddTextureQuad(frame.get(), 555); |
| 640 AddTransferableResource(frame.get(), 555); | 652 AddTransferableResource(frame.get(), 555); |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 684 delegated_->TakeUnusedResourcesForChildCompositor(&resources); | 696 delegated_->TakeUnusedResourcesForChildCompositor(&resources); |
| 685 { | 697 { |
| 686 unsigned expected[] = {444, 999}; | 698 unsigned expected[] = {444, 999}; |
| 687 EXPECT_RESOURCES(expected, resources); | 699 EXPECT_RESOURCES(expected, resources); |
| 688 } | 700 } |
| 689 EndTest(); | 701 EndTest(); |
| 690 break; | 702 break; |
| 691 } | 703 } |
| 692 | 704 |
| 693 // Resource are never immediately released. | 705 // Resource are never immediately released. |
| 694 TransferableResourceArray empty_resources; | 706 ReturnedResourceArray empty_resources; |
| 695 delegated_->TakeUnusedResourcesForChildCompositor(&empty_resources); | 707 delegated_->TakeUnusedResourcesForChildCompositor(&empty_resources); |
| 696 EXPECT_TRUE(empty_resources.empty()); | 708 EXPECT_TRUE(empty_resources.empty()); |
| 697 } | 709 } |
| 698 | 710 |
| 699 virtual void SwapBuffersOnThread(LayerTreeHostImpl* host_impl, | 711 virtual void SwapBuffersOnThread(LayerTreeHostImpl* host_impl, |
| 700 bool result) OVERRIDE { | 712 bool result) OVERRIDE { |
| 701 ReturnUnusedResourcesFromParent(host_impl); | 713 ReturnUnusedResourcesFromParent(host_impl); |
| 702 } | 714 } |
| 703 | 715 |
| 704 virtual void AfterTest() OVERRIDE {} | 716 virtual void AfterTest() OVERRIDE {} |
| 705 }; | 717 }; |
| 706 | 718 |
| 707 SINGLE_AND_MULTI_THREAD_TEST_F( | 719 SINGLE_AND_MULTI_THREAD_TEST_F( |
| 708 LayerTreeHostDelegatedTestReturnUnusedResources); | 720 LayerTreeHostDelegatedTestReturnUnusedResources); |
| 709 | 721 |
| 710 class LayerTreeHostDelegatedTestReusedResources | 722 class LayerTreeHostDelegatedTestReusedResources |
| 711 : public LayerTreeHostDelegatedTestCaseSingleDelegatedLayer { | 723 : public LayerTreeHostDelegatedTestCaseSingleDelegatedLayer { |
| 712 public: | 724 public: |
| 713 virtual void BeginTest() OVERRIDE { | 725 virtual void BeginTest() OVERRIDE { |
| 714 PostSetNeedsCommitToMainThread(); | 726 PostSetNeedsCommitToMainThread(); |
| 715 } | 727 } |
| 716 | 728 |
| 717 virtual void DidCommitAndDrawFrame() OVERRIDE { | 729 virtual void DidCommitAndDrawFrame() OVERRIDE { |
| 718 scoped_ptr<DelegatedFrameData> frame; | 730 scoped_ptr<DelegatedFrameData> frame; |
| 719 TransferableResourceArray resources; | 731 ReturnedResourceArray resources; |
| 720 | 732 |
| 721 int next_source_frame_number = layer_tree_host()->source_frame_number(); | 733 int next_source_frame_number = layer_tree_host()->source_frame_number(); |
| 722 switch (next_source_frame_number) { | 734 switch (next_source_frame_number) { |
| 723 case 1: | 735 case 1: |
| 724 // Generate a frame with some resources in it. | 736 // Generate a frame with some resources in it. |
| 725 frame = CreateFrameData(gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1)); | 737 frame = CreateFrameData(gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1)); |
| 726 AddTextureQuad(frame.get(), 999); | 738 AddTextureQuad(frame.get(), 999); |
| 727 AddTransferableResource(frame.get(), 999); | 739 AddTransferableResource(frame.get(), 999); |
| 728 AddTextureQuad(frame.get(), 555); | 740 AddTextureQuad(frame.get(), 555); |
| 729 AddTransferableResource(frame.get(), 555); | 741 AddTransferableResource(frame.get(), 555); |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 785 | 797 |
| 786 class LayerTreeHostDelegatedTestFrameBeforeAck | 798 class LayerTreeHostDelegatedTestFrameBeforeAck |
| 787 : public LayerTreeHostDelegatedTestCaseSingleDelegatedLayer { | 799 : public LayerTreeHostDelegatedTestCaseSingleDelegatedLayer { |
| 788 public: | 800 public: |
| 789 virtual void BeginTest() OVERRIDE { | 801 virtual void BeginTest() OVERRIDE { |
| 790 PostSetNeedsCommitToMainThread(); | 802 PostSetNeedsCommitToMainThread(); |
| 791 } | 803 } |
| 792 | 804 |
| 793 virtual void DidCommitAndDrawFrame() OVERRIDE { | 805 virtual void DidCommitAndDrawFrame() OVERRIDE { |
| 794 scoped_ptr<DelegatedFrameData> frame; | 806 scoped_ptr<DelegatedFrameData> frame; |
| 795 TransferableResourceArray resources; | 807 ReturnedResourceArray resources; |
| 796 | 808 |
| 797 int next_source_frame_number = layer_tree_host()->source_frame_number(); | 809 int next_source_frame_number = layer_tree_host()->source_frame_number(); |
| 798 switch (next_source_frame_number) { | 810 switch (next_source_frame_number) { |
| 799 case 1: | 811 case 1: |
| 800 // Generate a frame with some resources in it. | 812 // Generate a frame with some resources in it. |
| 801 frame = CreateFrameData(gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1)); | 813 frame = CreateFrameData(gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1)); |
| 802 AddTextureQuad(frame.get(), 999); | 814 AddTextureQuad(frame.get(), 999); |
| 803 AddTransferableResource(frame.get(), 999); | 815 AddTransferableResource(frame.get(), 999); |
| 804 AddTextureQuad(frame.get(), 555); | 816 AddTextureQuad(frame.get(), 555); |
| 805 AddTransferableResource(frame.get(), 555); | 817 AddTransferableResource(frame.get(), 555); |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 893 | 905 |
| 894 class LayerTreeHostDelegatedTestFrameBeforeTakeResources | 906 class LayerTreeHostDelegatedTestFrameBeforeTakeResources |
| 895 : public LayerTreeHostDelegatedTestCaseSingleDelegatedLayer { | 907 : public LayerTreeHostDelegatedTestCaseSingleDelegatedLayer { |
| 896 public: | 908 public: |
| 897 virtual void BeginTest() OVERRIDE { | 909 virtual void BeginTest() OVERRIDE { |
| 898 PostSetNeedsCommitToMainThread(); | 910 PostSetNeedsCommitToMainThread(); |
| 899 } | 911 } |
| 900 | 912 |
| 901 virtual void DidCommitAndDrawFrame() OVERRIDE { | 913 virtual void DidCommitAndDrawFrame() OVERRIDE { |
| 902 scoped_ptr<DelegatedFrameData> frame; | 914 scoped_ptr<DelegatedFrameData> frame; |
| 903 TransferableResourceArray resources; | 915 ReturnedResourceArray resources; |
| 904 | 916 |
| 905 int next_source_frame_number = layer_tree_host()->source_frame_number(); | 917 int next_source_frame_number = layer_tree_host()->source_frame_number(); |
| 906 switch (next_source_frame_number) { | 918 switch (next_source_frame_number) { |
| 907 case 1: | 919 case 1: |
| 908 // Generate a frame with some resources in it. | 920 // Generate a frame with some resources in it. |
| 909 frame = CreateFrameData(gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1)); | 921 frame = CreateFrameData(gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1)); |
| 910 AddTextureQuad(frame.get(), 999); | 922 AddTextureQuad(frame.get(), 999); |
| 911 AddTransferableResource(frame.get(), 999); | 923 AddTransferableResource(frame.get(), 999); |
| 912 AddTextureQuad(frame.get(), 555); | 924 AddTextureQuad(frame.get(), 555); |
| 913 AddTransferableResource(frame.get(), 555); | 925 AddTransferableResource(frame.get(), 555); |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1026 | 1038 |
| 1027 class LayerTreeHostDelegatedTestBadFrame | 1039 class LayerTreeHostDelegatedTestBadFrame |
| 1028 : public LayerTreeHostDelegatedTestCaseSingleDelegatedLayer { | 1040 : public LayerTreeHostDelegatedTestCaseSingleDelegatedLayer { |
| 1029 public: | 1041 public: |
| 1030 virtual void BeginTest() OVERRIDE { | 1042 virtual void BeginTest() OVERRIDE { |
| 1031 PostSetNeedsCommitToMainThread(); | 1043 PostSetNeedsCommitToMainThread(); |
| 1032 } | 1044 } |
| 1033 | 1045 |
| 1034 virtual void DidCommitAndDrawFrame() OVERRIDE { | 1046 virtual void DidCommitAndDrawFrame() OVERRIDE { |
| 1035 scoped_ptr<DelegatedFrameData> frame; | 1047 scoped_ptr<DelegatedFrameData> frame; |
| 1036 TransferableResourceArray resources; | 1048 ReturnedResourceArray resources; |
| 1037 | 1049 |
| 1038 int next_source_frame_number = layer_tree_host()->source_frame_number(); | 1050 int next_source_frame_number = layer_tree_host()->source_frame_number(); |
| 1039 switch (next_source_frame_number) { | 1051 switch (next_source_frame_number) { |
| 1040 case 1: | 1052 case 1: |
| 1041 // Generate a frame with some resources in it. | 1053 // Generate a frame with some resources in it. |
| 1042 frame = CreateFrameData(gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1)); | 1054 frame = CreateFrameData(gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1)); |
| 1043 AddTextureQuad(frame.get(), 999); | 1055 AddTextureQuad(frame.get(), 999); |
| 1044 AddTransferableResource(frame.get(), 999); | 1056 AddTransferableResource(frame.get(), 999); |
| 1045 AddTextureQuad(frame.get(), 555); | 1057 AddTextureQuad(frame.get(), 555); |
| 1046 AddTransferableResource(frame.get(), 555); | 1058 AddTransferableResource(frame.get(), 555); |
| (...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1197 | 1209 |
| 1198 class LayerTreeHostDelegatedTestUnnamedResource | 1210 class LayerTreeHostDelegatedTestUnnamedResource |
| 1199 : public LayerTreeHostDelegatedTestCaseSingleDelegatedLayer { | 1211 : public LayerTreeHostDelegatedTestCaseSingleDelegatedLayer { |
| 1200 public: | 1212 public: |
| 1201 virtual void BeginTest() OVERRIDE { | 1213 virtual void BeginTest() OVERRIDE { |
| 1202 PostSetNeedsCommitToMainThread(); | 1214 PostSetNeedsCommitToMainThread(); |
| 1203 } | 1215 } |
| 1204 | 1216 |
| 1205 virtual void DidCommit() OVERRIDE { | 1217 virtual void DidCommit() OVERRIDE { |
| 1206 scoped_ptr<DelegatedFrameData> frame; | 1218 scoped_ptr<DelegatedFrameData> frame; |
| 1207 TransferableResourceArray resources; | 1219 ReturnedResourceArray resources; |
| 1208 | 1220 |
| 1209 int next_source_frame_number = layer_tree_host()->source_frame_number(); | 1221 int next_source_frame_number = layer_tree_host()->source_frame_number(); |
| 1210 switch (next_source_frame_number) { | 1222 switch (next_source_frame_number) { |
| 1211 case 1: | 1223 case 1: |
| 1212 // This frame includes two resources in it, but only uses one. | 1224 // This frame includes two resources in it, but only uses one. |
| 1213 frame = CreateFrameData(gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1)); | 1225 frame = CreateFrameData(gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1)); |
| 1214 AddTransferableResource(frame.get(), 999); | 1226 AddTransferableResource(frame.get(), 999); |
| 1215 AddTextureQuad(frame.get(), 555); | 1227 AddTextureQuad(frame.get(), 555); |
| 1216 AddTransferableResource(frame.get(), 555); | 1228 AddTransferableResource(frame.get(), 555); |
| 1217 delegated_->SetFrameData(frame.Pass()); | 1229 delegated_->SetFrameData(frame.Pass()); |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1256 | 1268 |
| 1257 class LayerTreeHostDelegatedTestDontLeakResource | 1269 class LayerTreeHostDelegatedTestDontLeakResource |
| 1258 : public LayerTreeHostDelegatedTestCaseSingleDelegatedLayer { | 1270 : public LayerTreeHostDelegatedTestCaseSingleDelegatedLayer { |
| 1259 public: | 1271 public: |
| 1260 virtual void BeginTest() OVERRIDE { | 1272 virtual void BeginTest() OVERRIDE { |
| 1261 PostSetNeedsCommitToMainThread(); | 1273 PostSetNeedsCommitToMainThread(); |
| 1262 } | 1274 } |
| 1263 | 1275 |
| 1264 virtual void DidCommit() OVERRIDE { | 1276 virtual void DidCommit() OVERRIDE { |
| 1265 scoped_ptr<DelegatedFrameData> frame; | 1277 scoped_ptr<DelegatedFrameData> frame; |
| 1266 TransferableResourceArray resources; | 1278 ReturnedResourceArray resources; |
| 1267 | 1279 |
| 1268 int next_source_frame_number = layer_tree_host()->source_frame_number(); | 1280 int next_source_frame_number = layer_tree_host()->source_frame_number(); |
| 1269 switch (next_source_frame_number) { | 1281 switch (next_source_frame_number) { |
| 1270 case 1: | 1282 case 1: |
| 1271 // This frame includes two resources in it. | 1283 // This frame includes two resources in it. |
| 1272 frame = CreateFrameData(gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1)); | 1284 frame = CreateFrameData(gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1)); |
| 1273 AddTextureQuad(frame.get(), 999); | 1285 AddTextureQuad(frame.get(), 999); |
| 1274 AddTransferableResource(frame.get(), 999); | 1286 AddTransferableResource(frame.get(), 999); |
| 1275 AddTextureQuad(frame.get(), 555); | 1287 AddTextureQuad(frame.get(), 555); |
| 1276 AddTransferableResource(frame.get(), 555); | 1288 AddTransferableResource(frame.get(), 555); |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1340 virtual void AfterTest() OVERRIDE {} | 1352 virtual void AfterTest() OVERRIDE {} |
| 1341 }; | 1353 }; |
| 1342 | 1354 |
| 1343 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostDelegatedTestDontLeakResource); | 1355 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostDelegatedTestDontLeakResource); |
| 1344 | 1356 |
| 1345 class LayerTreeHostDelegatedTestResourceSentToParent | 1357 class LayerTreeHostDelegatedTestResourceSentToParent |
| 1346 : public LayerTreeHostDelegatedTestCaseSingleDelegatedLayer { | 1358 : public LayerTreeHostDelegatedTestCaseSingleDelegatedLayer { |
| 1347 public: | 1359 public: |
| 1348 virtual void DidCommitAndDrawFrame() OVERRIDE { | 1360 virtual void DidCommitAndDrawFrame() OVERRIDE { |
| 1349 scoped_ptr<DelegatedFrameData> frame; | 1361 scoped_ptr<DelegatedFrameData> frame; |
| 1350 TransferableResourceArray resources; | 1362 ReturnedResourceArray resources; |
| 1351 | 1363 |
| 1352 int next_source_frame_number = layer_tree_host()->source_frame_number(); | 1364 int next_source_frame_number = layer_tree_host()->source_frame_number(); |
| 1353 switch (next_source_frame_number) { | 1365 switch (next_source_frame_number) { |
| 1354 case 1: | 1366 case 1: |
| 1355 // This frame includes two resources in it. | 1367 // This frame includes two resources in it. |
| 1356 frame = CreateFrameData(gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1)); | 1368 frame = CreateFrameData(gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1)); |
| 1357 AddTextureQuad(frame.get(), 999); | 1369 AddTextureQuad(frame.get(), 999); |
| 1358 AddTransferableResource(frame.get(), 999); | 1370 AddTransferableResource(frame.get(), 999); |
| 1359 AddTextureQuad(frame.get(), 555); | 1371 AddTextureQuad(frame.get(), 555); |
| 1360 AddTransferableResource(frame.get(), 555); | 1372 AddTransferableResource(frame.get(), 555); |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1455 : public LayerTreeHostDelegatedTestCaseSingleDelegatedLayer { | 1467 : public LayerTreeHostDelegatedTestCaseSingleDelegatedLayer { |
| 1456 public: | 1468 public: |
| 1457 virtual void BeginTest() OVERRIDE { | 1469 virtual void BeginTest() OVERRIDE { |
| 1458 // Prevent drawing with resources that are sent to the grandparent. | 1470 // Prevent drawing with resources that are sent to the grandparent. |
| 1459 layer_tree_host()->SetViewportSize(gfx::Size()); | 1471 layer_tree_host()->SetViewportSize(gfx::Size()); |
| 1460 PostSetNeedsCommitToMainThread(); | 1472 PostSetNeedsCommitToMainThread(); |
| 1461 } | 1473 } |
| 1462 | 1474 |
| 1463 virtual void DidCommit() OVERRIDE { | 1475 virtual void DidCommit() OVERRIDE { |
| 1464 scoped_ptr<DelegatedFrameData> frame; | 1476 scoped_ptr<DelegatedFrameData> frame; |
| 1465 TransferableResourceArray resources; | 1477 ReturnedResourceArray resources; |
| 1466 | 1478 |
| 1467 int next_source_frame_number = layer_tree_host()->source_frame_number(); | 1479 int next_source_frame_number = layer_tree_host()->source_frame_number(); |
| 1468 switch (next_source_frame_number) { | 1480 switch (next_source_frame_number) { |
| 1469 case 1: | 1481 case 1: |
| 1470 frame = CreateFrameData(gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1)); | 1482 frame = CreateFrameData(gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1)); |
| 1471 AddTextureQuad(frame.get(), 999); | 1483 AddTextureQuad(frame.get(), 999); |
| 1472 AddTransferableResource(frame.get(), 999); | 1484 AddTransferableResource(frame.get(), 999); |
| 1473 AddTextureQuad(frame.get(), 555); | 1485 AddTextureQuad(frame.get(), 555); |
| 1474 AddTransferableResource(frame.get(), 555); | 1486 AddTransferableResource(frame.get(), 555); |
| 1475 AddTextureQuad(frame.get(), 444); | 1487 AddTextureQuad(frame.get(), 444); |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1565 } | 1577 } |
| 1566 } | 1578 } |
| 1567 | 1579 |
| 1568 virtual void AfterTest() OVERRIDE {} | 1580 virtual void AfterTest() OVERRIDE {} |
| 1569 }; | 1581 }; |
| 1570 | 1582 |
| 1571 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostDelegatedTestCommitWithoutTake); | 1583 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostDelegatedTestCommitWithoutTake); |
| 1572 | 1584 |
| 1573 } // namespace | 1585 } // namespace |
| 1574 } // namespace cc | 1586 } // namespace cc |
| OLD | NEW |