| OLD | NEW |
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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/append_quads_data.h" | 5 #include "cc/layers/append_quads_data.h" |
| 6 #include "cc/layers/layer_impl.h" | 6 #include "cc/layers/layer_impl.h" |
| 7 #include "cc/layers/render_pass_sink.h" | 7 #include "cc/layers/render_pass_sink.h" |
| 8 #include "cc/layers/render_surface_impl.h" | 8 #include "cc/layers/render_surface_impl.h" |
| 9 #include "cc/quads/shared_quad_state.h" | 9 #include "cc/quads/shared_quad_state.h" |
| 10 #include "cc/test/fake_compositor_frame_sink.h" |
| 10 #include "cc/test/fake_impl_task_runner_provider.h" | 11 #include "cc/test/fake_impl_task_runner_provider.h" |
| 11 #include "cc/test/fake_layer_tree_host_impl.h" | 12 #include "cc/test/fake_layer_tree_host_impl.h" |
| 12 #include "cc/test/fake_output_surface.h" | |
| 13 #include "cc/test/geometry_test_utils.h" | 13 #include "cc/test/geometry_test_utils.h" |
| 14 #include "cc/test/mock_occlusion_tracker.h" | 14 #include "cc/test/mock_occlusion_tracker.h" |
| 15 #include "cc/test/test_shared_bitmap_manager.h" | 15 #include "cc/test/test_shared_bitmap_manager.h" |
| 16 #include "cc/test/test_task_graph_runner.h" | 16 #include "cc/test/test_task_graph_runner.h" |
| 17 #include "cc/trees/layer_tree_impl.h" | 17 #include "cc/trees/layer_tree_impl.h" |
| 18 #include "cc/trees/single_thread_proxy.h" | 18 #include "cc/trees/single_thread_proxy.h" |
| 19 #include "testing/gmock/include/gmock/gmock.h" | 19 #include "testing/gmock/include/gmock/gmock.h" |
| 20 #include "testing/gtest/include/gtest/gtest.h" | 20 #include "testing/gtest/include/gtest/gtest.h" |
| 21 #include "ui/gfx/transform.h" | 21 #include "ui/gfx/transform.h" |
| 22 | 22 |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 87 render_surface->SetDrawTransform(dummy_matrix)); | 87 render_surface->SetDrawTransform(dummy_matrix)); |
| 88 EXECUTE_AND_VERIFY_SURFACE_DID_NOT_CHANGE( | 88 EXECUTE_AND_VERIFY_SURFACE_DID_NOT_CHANGE( |
| 89 render_surface->SetReplicaDrawTransform(dummy_matrix)); | 89 render_surface->SetReplicaDrawTransform(dummy_matrix)); |
| 90 EXECUTE_AND_VERIFY_SURFACE_DID_NOT_CHANGE(render_surface->ClearLayerLists()); | 90 EXECUTE_AND_VERIFY_SURFACE_DID_NOT_CHANGE(render_surface->ClearLayerLists()); |
| 91 } | 91 } |
| 92 | 92 |
| 93 TEST(RenderSurfaceTest, SanityCheckSurfaceCreatesCorrectSharedQuadState) { | 93 TEST(RenderSurfaceTest, SanityCheckSurfaceCreatesCorrectSharedQuadState) { |
| 94 FakeImplTaskRunnerProvider task_runner_provider; | 94 FakeImplTaskRunnerProvider task_runner_provider; |
| 95 TestSharedBitmapManager shared_bitmap_manager; | 95 TestSharedBitmapManager shared_bitmap_manager; |
| 96 TestTaskGraphRunner task_graph_runner; | 96 TestTaskGraphRunner task_graph_runner; |
| 97 std::unique_ptr<OutputSurface> output_surface = | 97 std::unique_ptr<CompositorFrameSink> compositor_frame_sink = |
| 98 FakeOutputSurface::CreateDelegating3d(); | 98 FakeCompositorFrameSink::Create3d(); |
| 99 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager, | 99 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager, |
| 100 &task_graph_runner); | 100 &task_graph_runner); |
| 101 std::unique_ptr<LayerImpl> root_layer = | 101 std::unique_ptr<LayerImpl> root_layer = |
| 102 LayerImpl::Create(host_impl.active_tree(), 1); | 102 LayerImpl::Create(host_impl.active_tree(), 1); |
| 103 | 103 |
| 104 std::unique_ptr<LayerImpl> owning_layer = | 104 std::unique_ptr<LayerImpl> owning_layer = |
| 105 LayerImpl::Create(host_impl.active_tree(), 2); | 105 LayerImpl::Create(host_impl.active_tree(), 2); |
| 106 owning_layer->SetHasRenderSurface(true); | 106 owning_layer->SetHasRenderSurface(true); |
| 107 ASSERT_TRUE(owning_layer->render_surface()); | 107 ASSERT_TRUE(owning_layer->render_surface()); |
| 108 | 108 |
| 109 SkXfermode::Mode blend_mode = SkXfermode::kSoftLight_Mode; | 109 SkXfermode::Mode blend_mode = SkXfermode::kSoftLight_Mode; |
| 110 owning_layer->test_properties()->blend_mode = blend_mode; | 110 owning_layer->test_properties()->blend_mode = blend_mode; |
| 111 RenderSurfaceImpl* render_surface = owning_layer->render_surface(); | 111 RenderSurfaceImpl* render_surface = owning_layer->render_surface(); |
| 112 | 112 |
| 113 root_layer->test_properties()->AddChild(std::move(owning_layer)); | 113 root_layer->test_properties()->AddChild(std::move(owning_layer)); |
| 114 host_impl.active_tree()->SetRootLayerForTesting(std::move(root_layer)); | 114 host_impl.active_tree()->SetRootLayerForTesting(std::move(root_layer)); |
| 115 host_impl.SetVisible(true); | 115 host_impl.SetVisible(true); |
| 116 host_impl.InitializeRenderer(output_surface.get()); | 116 host_impl.InitializeRenderer(compositor_frame_sink.get()); |
| 117 host_impl.active_tree()->BuildLayerListAndPropertyTreesForTesting(); | 117 host_impl.active_tree()->BuildLayerListAndPropertyTreesForTesting(); |
| 118 host_impl.active_tree()->UpdateDrawProperties(false /* update_lcd_text */); | 118 host_impl.active_tree()->UpdateDrawProperties(false /* update_lcd_text */); |
| 119 | 119 |
| 120 gfx::Rect content_rect(0, 0, 50, 50); | 120 gfx::Rect content_rect(0, 0, 50, 50); |
| 121 gfx::Rect clip_rect(5, 5, 40, 40); | 121 gfx::Rect clip_rect(5, 5, 40, 40); |
| 122 gfx::Transform origin; | 122 gfx::Transform origin; |
| 123 origin.Translate(30, 40); | 123 origin.Translate(30, 40); |
| 124 | 124 |
| 125 render_surface->SetContentRectForTesting(content_rect); | 125 render_surface->SetContentRectForTesting(content_rect); |
| 126 render_surface->SetClipRect(clip_rect); | 126 render_surface->SetClipRect(clip_rect); |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 194 ASSERT_EQ(1u, pass_sink.RenderPasses().size()); | 194 ASSERT_EQ(1u, pass_sink.RenderPasses().size()); |
| 195 RenderPass* pass = pass_sink.RenderPasses()[0].get(); | 195 RenderPass* pass = pass_sink.RenderPasses()[0].get(); |
| 196 | 196 |
| 197 EXPECT_EQ(RenderPassId(2, 0), pass->id); | 197 EXPECT_EQ(RenderPassId(2, 0), pass->id); |
| 198 EXPECT_EQ(content_rect, pass->output_rect); | 198 EXPECT_EQ(content_rect, pass->output_rect); |
| 199 EXPECT_EQ(origin, pass->transform_to_root_target); | 199 EXPECT_EQ(origin, pass->transform_to_root_target); |
| 200 } | 200 } |
| 201 | 201 |
| 202 } // namespace | 202 } // namespace |
| 203 } // namespace cc | 203 } // namespace cc |
| OLD | NEW |