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 |