| 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 "build/build_config.h" | 5 #include "build/build_config.h" |
| 6 #include "cc/layers/solid_color_layer.h" | 6 #include "cc/layers/solid_color_layer.h" |
| 7 #include "cc/layers/texture_layer.h" | 7 #include "cc/layers/texture_layer.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_picture_layer.h" | 10 #include "cc/test/fake_picture_layer.h" |
| 11 #include "cc/test/fake_picture_layer_impl.h" | 11 #include "cc/test/fake_picture_layer_impl.h" |
| 12 #include "cc/test/layer_tree_pixel_test.h" | 12 #include "cc/test/layer_tree_pixel_test.h" |
| 13 #include "cc/test/paths.h" | 13 #include "cc/test/paths.h" |
| 14 #include "cc/test/solid_color_content_layer_client.h" | 14 #include "cc/test/solid_color_content_layer_client.h" |
| 15 #include "cc/trees/layer_tree_impl.h" | 15 #include "cc/trees/layer_tree_impl.h" |
| 16 | 16 |
| 17 #if !defined(OS_ANDROID) | 17 #if !defined(OS_ANDROID) |
| 18 | 18 |
| 19 namespace cc { | 19 namespace cc { |
| 20 namespace { | 20 namespace { |
| 21 | 21 |
| 22 class LayerTreeHostReadbackPixelTest : public LayerTreePixelTest { | 22 class LayerTreeHostReadbackPixelTest : public LayerTreePixelTest { |
| 23 protected: | 23 protected: |
| 24 LayerTreeHostReadbackPixelTest() | 24 LayerTreeHostReadbackPixelTest() |
| 25 : insert_copy_request_after_frame_count_(0) {} | 25 : insert_copy_request_after_frame_count_(0) {} |
| 26 | 26 |
| 27 virtual scoped_ptr<CopyOutputRequest> CreateCopyOutputRequest() OVERRIDE { | 27 virtual scoped_ptr<CopyOutputRequest> CreateCopyOutputRequest() override { |
| 28 scoped_ptr<CopyOutputRequest> request; | 28 scoped_ptr<CopyOutputRequest> request; |
| 29 | 29 |
| 30 switch (test_type_) { | 30 switch (test_type_) { |
| 31 case GL_WITH_BITMAP: | 31 case GL_WITH_BITMAP: |
| 32 case SOFTWARE_WITH_BITMAP: | 32 case SOFTWARE_WITH_BITMAP: |
| 33 request = CopyOutputRequest::CreateBitmapRequest( | 33 request = CopyOutputRequest::CreateBitmapRequest( |
| 34 base::Bind(&LayerTreeHostReadbackPixelTest::ReadbackResultAsBitmap, | 34 base::Bind(&LayerTreeHostReadbackPixelTest::ReadbackResultAsBitmap, |
| 35 base::Unretained(this))); | 35 base::Unretained(this))); |
| 36 break; | 36 break; |
| 37 case SOFTWARE_WITH_DEFAULT: | 37 case SOFTWARE_WITH_DEFAULT: |
| 38 request = CopyOutputRequest::CreateRequest( | 38 request = CopyOutputRequest::CreateRequest( |
| 39 base::Bind(&LayerTreeHostReadbackPixelTest::ReadbackResultAsBitmap, | 39 base::Bind(&LayerTreeHostReadbackPixelTest::ReadbackResultAsBitmap, |
| 40 base::Unretained(this))); | 40 base::Unretained(this))); |
| 41 break; | 41 break; |
| 42 case GL_WITH_DEFAULT: | 42 case GL_WITH_DEFAULT: |
| 43 request = CopyOutputRequest::CreateRequest( | 43 request = CopyOutputRequest::CreateRequest( |
| 44 base::Bind(&LayerTreeHostReadbackPixelTest::ReadbackResultAsTexture, | 44 base::Bind(&LayerTreeHostReadbackPixelTest::ReadbackResultAsTexture, |
| 45 base::Unretained(this))); | 45 base::Unretained(this))); |
| 46 break; | 46 break; |
| 47 } | 47 } |
| 48 | 48 |
| 49 if (!copy_subrect_.IsEmpty()) | 49 if (!copy_subrect_.IsEmpty()) |
| 50 request->set_area(copy_subrect_); | 50 request->set_area(copy_subrect_); |
| 51 return request.Pass(); | 51 return request.Pass(); |
| 52 } | 52 } |
| 53 | 53 |
| 54 virtual void BeginTest() OVERRIDE { | 54 virtual void BeginTest() override { |
| 55 if (insert_copy_request_after_frame_count_ == 0) { | 55 if (insert_copy_request_after_frame_count_ == 0) { |
| 56 Layer* const target = | 56 Layer* const target = |
| 57 readback_target_ ? readback_target_ : layer_tree_host()->root_layer(); | 57 readback_target_ ? readback_target_ : layer_tree_host()->root_layer(); |
| 58 target->RequestCopyOfOutput(CreateCopyOutputRequest().Pass()); | 58 target->RequestCopyOfOutput(CreateCopyOutputRequest().Pass()); |
| 59 } | 59 } |
| 60 PostSetNeedsCommitToMainThread(); | 60 PostSetNeedsCommitToMainThread(); |
| 61 } | 61 } |
| 62 | 62 |
| 63 virtual void DidCommitAndDrawFrame() OVERRIDE { | 63 virtual void DidCommitAndDrawFrame() override { |
| 64 if (insert_copy_request_after_frame_count_ == | 64 if (insert_copy_request_after_frame_count_ == |
| 65 layer_tree_host()->source_frame_number()) { | 65 layer_tree_host()->source_frame_number()) { |
| 66 Layer* const target = | 66 Layer* const target = |
| 67 readback_target_ ? readback_target_ : layer_tree_host()->root_layer(); | 67 readback_target_ ? readback_target_ : layer_tree_host()->root_layer(); |
| 68 target->RequestCopyOfOutput(CreateCopyOutputRequest().Pass()); | 68 target->RequestCopyOfOutput(CreateCopyOutputRequest().Pass()); |
| 69 } | 69 } |
| 70 } | 70 } |
| 71 | 71 |
| 72 void ReadbackResultAsBitmap(scoped_ptr<CopyOutputResult> result) { | 72 void ReadbackResultAsBitmap(scoped_ptr<CopyOutputResult> result) { |
| 73 EXPECT_TRUE(proxy()->IsMainThread()); | 73 EXPECT_TRUE(proxy()->IsMainThread()); |
| (...skipping 839 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 913 | 913 |
| 914 class LayerTreeHostReadbackDeviceScalePixelTest | 914 class LayerTreeHostReadbackDeviceScalePixelTest |
| 915 : public LayerTreeHostReadbackPixelTest { | 915 : public LayerTreeHostReadbackPixelTest { |
| 916 protected: | 916 protected: |
| 917 LayerTreeHostReadbackDeviceScalePixelTest() | 917 LayerTreeHostReadbackDeviceScalePixelTest() |
| 918 : device_scale_factor_(1.f), | 918 : device_scale_factor_(1.f), |
| 919 white_client_(SK_ColorWHITE), | 919 white_client_(SK_ColorWHITE), |
| 920 green_client_(SK_ColorGREEN), | 920 green_client_(SK_ColorGREEN), |
| 921 blue_client_(SK_ColorBLUE) {} | 921 blue_client_(SK_ColorBLUE) {} |
| 922 | 922 |
| 923 virtual void InitializeSettings(LayerTreeSettings* settings) OVERRIDE { | 923 virtual void InitializeSettings(LayerTreeSettings* settings) override { |
| 924 // Cause the device scale factor to be inherited by contents scales. | 924 // Cause the device scale factor to be inherited by contents scales. |
| 925 settings->layer_transforms_should_scale_layer_contents = true; | 925 settings->layer_transforms_should_scale_layer_contents = true; |
| 926 } | 926 } |
| 927 | 927 |
| 928 virtual void SetupTree() OVERRIDE { | 928 virtual void SetupTree() override { |
| 929 layer_tree_host()->SetDeviceScaleFactor(device_scale_factor_); | 929 layer_tree_host()->SetDeviceScaleFactor(device_scale_factor_); |
| 930 LayerTreePixelTest::SetupTree(); | 930 LayerTreePixelTest::SetupTree(); |
| 931 } | 931 } |
| 932 | 932 |
| 933 virtual void DrawLayersOnThread(LayerTreeHostImpl* host_impl) OVERRIDE { | 933 virtual void DrawLayersOnThread(LayerTreeHostImpl* host_impl) override { |
| 934 EXPECT_EQ(device_scale_factor_, | 934 EXPECT_EQ(device_scale_factor_, |
| 935 host_impl->active_tree()->device_scale_factor()); | 935 host_impl->active_tree()->device_scale_factor()); |
| 936 } | 936 } |
| 937 | 937 |
| 938 float device_scale_factor_; | 938 float device_scale_factor_; |
| 939 SolidColorContentLayerClient white_client_; | 939 SolidColorContentLayerClient white_client_; |
| 940 SolidColorContentLayerClient green_client_; | 940 SolidColorContentLayerClient green_client_; |
| 941 SolidColorContentLayerClient blue_client_; | 941 SolidColorContentLayerClient blue_client_; |
| 942 }; | 942 }; |
| 943 | 943 |
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1080 background, | 1080 background, |
| 1081 green.get(), | 1081 green.get(), |
| 1082 base::FilePath(FILE_PATH_LITERAL( | 1082 base::FilePath(FILE_PATH_LITERAL( |
| 1083 "green_with_blue_corner.png"))); | 1083 "green_with_blue_corner.png"))); |
| 1084 } | 1084 } |
| 1085 | 1085 |
| 1086 } // namespace | 1086 } // namespace |
| 1087 } // namespace cc | 1087 } // namespace cc |
| 1088 | 1088 |
| 1089 #endif // OS_ANDROID | 1089 #endif // OS_ANDROID |
| OLD | NEW |