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 <stddef.h> | 5 #include <stddef.h> |
6 | 6 |
7 #include "cc/layers/append_quads_data.h" | 7 #include "cc/layers/append_quads_data.h" |
8 #include "cc/layers/ui_resource_layer_impl.h" | 8 #include "cc/layers/ui_resource_layer_impl.h" |
9 #include "cc/quads/draw_quad.h" | 9 #include "cc/quads/draw_quad.h" |
10 #include "cc/resources/ui_resource_bitmap.h" | 10 #include "cc/resources/ui_resource_bitmap.h" |
11 #include "cc/resources/ui_resource_client.h" | 11 #include "cc/resources/ui_resource_client.h" |
| 12 #include "cc/test/fake_compositor_frame_sink.h" |
12 #include "cc/test/fake_impl_task_runner_provider.h" | 13 #include "cc/test/fake_impl_task_runner_provider.h" |
13 #include "cc/test/fake_layer_tree_host_impl.h" | 14 #include "cc/test/fake_layer_tree_host_impl.h" |
14 #include "cc/test/fake_output_surface.h" | |
15 #include "cc/test/fake_ui_resource_layer_tree_host_impl.h" | 15 #include "cc/test/fake_ui_resource_layer_tree_host_impl.h" |
16 #include "cc/test/layer_test_common.h" | 16 #include "cc/test/layer_test_common.h" |
17 #include "cc/test/test_shared_bitmap_manager.h" | 17 #include "cc/test/test_shared_bitmap_manager.h" |
18 #include "cc/test/test_task_graph_runner.h" | 18 #include "cc/test/test_task_graph_runner.h" |
19 #include "cc/trees/single_thread_proxy.h" | 19 #include "cc/trees/single_thread_proxy.h" |
20 #include "testing/gmock/include/gmock/gmock.h" | 20 #include "testing/gmock/include/gmock/gmock.h" |
21 #include "testing/gtest/include/gtest/gtest.h" | 21 #include "testing/gtest/include/gtest/gtest.h" |
22 #include "ui/gfx/transform.h" | 22 #include "ui/gfx/transform.h" |
23 | 23 |
24 namespace cc { | 24 namespace cc { |
(...skipping 29 matching lines...) Expand all Loading... |
54 | 54 |
55 // Verify quad rects | 55 // Verify quad rects |
56 const QuadList& quads = render_pass->quad_list; | 56 const QuadList& quads = render_pass->quad_list; |
57 EXPECT_EQ(expected_quad_size, quads.size()); | 57 EXPECT_EQ(expected_quad_size, quads.size()); |
58 } | 58 } |
59 | 59 |
60 TEST(UIResourceLayerImplTest, VerifyDrawQuads) { | 60 TEST(UIResourceLayerImplTest, VerifyDrawQuads) { |
61 FakeImplTaskRunnerProvider task_runner_provider; | 61 FakeImplTaskRunnerProvider task_runner_provider; |
62 TestSharedBitmapManager shared_bitmap_manager; | 62 TestSharedBitmapManager shared_bitmap_manager; |
63 TestTaskGraphRunner task_graph_runner; | 63 TestTaskGraphRunner task_graph_runner; |
64 std::unique_ptr<OutputSurface> output_surface = | 64 std::unique_ptr<CompositorFrameSink> compositor_frame_sink = |
65 FakeOutputSurface::CreateDelegating3d(); | 65 FakeCompositorFrameSink::Create3d(); |
66 FakeUIResourceLayerTreeHostImpl host_impl( | 66 FakeUIResourceLayerTreeHostImpl host_impl( |
67 &task_runner_provider, &shared_bitmap_manager, &task_graph_runner); | 67 &task_runner_provider, &shared_bitmap_manager, &task_graph_runner); |
68 host_impl.SetVisible(true); | 68 host_impl.SetVisible(true); |
69 host_impl.InitializeRenderer(output_surface.get()); | 69 host_impl.InitializeRenderer(compositor_frame_sink.get()); |
70 | 70 |
71 // Make sure we're appending quads when there are valid values. | 71 // Make sure we're appending quads when there are valid values. |
72 gfx::Size bitmap_size(100, 100); | 72 gfx::Size bitmap_size(100, 100); |
73 gfx::Size layer_size(100, 100); | 73 gfx::Size layer_size(100, 100); |
74 size_t expected_quad_size = 1; | 74 size_t expected_quad_size = 1; |
75 bool opaque = true; | 75 bool opaque = true; |
76 UIResourceId uid = 1; | 76 UIResourceId uid = 1; |
77 std::unique_ptr<UIResourceLayerImpl> layer = | 77 std::unique_ptr<UIResourceLayerImpl> layer = |
78 GenerateUIResourceLayer(&host_impl, bitmap_size, layer_size, opaque, uid); | 78 GenerateUIResourceLayer(&host_impl, bitmap_size, layer_size, opaque, uid); |
79 QuadSizeTest(std::move(layer), expected_quad_size); | 79 QuadSizeTest(std::move(layer), expected_quad_size); |
(...skipping 20 matching lines...) Expand all Loading... |
100 const QuadList& quads = render_pass->quad_list; | 100 const QuadList& quads = render_pass->quad_list; |
101 EXPECT_GE(quads.size(), (size_t)0); | 101 EXPECT_GE(quads.size(), (size_t)0); |
102 gfx::Rect opaque_rect = quads.front()->opaque_rect; | 102 gfx::Rect opaque_rect = quads.front()->opaque_rect; |
103 EXPECT_EQ(expected_opaque_bounds, opaque_rect); | 103 EXPECT_EQ(expected_opaque_bounds, opaque_rect); |
104 } | 104 } |
105 | 105 |
106 TEST(UIResourceLayerImplTest, VerifySetOpaqueOnSkBitmap) { | 106 TEST(UIResourceLayerImplTest, VerifySetOpaqueOnSkBitmap) { |
107 FakeImplTaskRunnerProvider task_runner_provider; | 107 FakeImplTaskRunnerProvider task_runner_provider; |
108 TestSharedBitmapManager shared_bitmap_manager; | 108 TestSharedBitmapManager shared_bitmap_manager; |
109 TestTaskGraphRunner task_graph_runner; | 109 TestTaskGraphRunner task_graph_runner; |
110 std::unique_ptr<OutputSurface> output_surface = | 110 std::unique_ptr<CompositorFrameSink> compositor_frame_sink = |
111 FakeOutputSurface::CreateDelegating3d(); | 111 FakeCompositorFrameSink::Create3d(); |
112 FakeUIResourceLayerTreeHostImpl host_impl( | 112 FakeUIResourceLayerTreeHostImpl host_impl( |
113 &task_runner_provider, &shared_bitmap_manager, &task_graph_runner); | 113 &task_runner_provider, &shared_bitmap_manager, &task_graph_runner); |
114 host_impl.SetVisible(true); | 114 host_impl.SetVisible(true); |
115 host_impl.InitializeRenderer(output_surface.get()); | 115 host_impl.InitializeRenderer(compositor_frame_sink.get()); |
116 | 116 |
117 gfx::Size bitmap_size(100, 100); | 117 gfx::Size bitmap_size(100, 100); |
118 gfx::Size layer_size(100, 100); | 118 gfx::Size layer_size(100, 100); |
119 bool opaque = false; | 119 bool opaque = false; |
120 UIResourceId uid = 1; | 120 UIResourceId uid = 1; |
121 std::unique_ptr<UIResourceLayerImpl> layer = | 121 std::unique_ptr<UIResourceLayerImpl> layer = |
122 GenerateUIResourceLayer(&host_impl, bitmap_size, layer_size, opaque, uid); | 122 GenerateUIResourceLayer(&host_impl, bitmap_size, layer_size, opaque, uid); |
123 gfx::Rect expected_opaque_bounds; | 123 gfx::Rect expected_opaque_bounds; |
124 OpaqueBoundsTest(std::move(layer), expected_opaque_bounds); | 124 OpaqueBoundsTest(std::move(layer), expected_opaque_bounds); |
125 | 125 |
126 opaque = true; | 126 opaque = true; |
127 layer = GenerateUIResourceLayer(&host_impl, | 127 layer = GenerateUIResourceLayer(&host_impl, |
128 bitmap_size, | 128 bitmap_size, |
129 layer_size, | 129 layer_size, |
130 opaque, | 130 opaque, |
131 uid); | 131 uid); |
132 expected_opaque_bounds = gfx::Rect(layer->bounds()); | 132 expected_opaque_bounds = gfx::Rect(layer->bounds()); |
133 OpaqueBoundsTest(std::move(layer), expected_opaque_bounds); | 133 OpaqueBoundsTest(std::move(layer), expected_opaque_bounds); |
134 } | 134 } |
135 | 135 |
136 TEST(UIResourceLayerImplTest, VerifySetOpaqueOnLayer) { | 136 TEST(UIResourceLayerImplTest, VerifySetOpaqueOnLayer) { |
137 FakeImplTaskRunnerProvider task_runner_provider; | 137 FakeImplTaskRunnerProvider task_runner_provider; |
138 TestSharedBitmapManager shared_bitmap_manager; | 138 TestSharedBitmapManager shared_bitmap_manager; |
139 TestTaskGraphRunner task_graph_runner; | 139 TestTaskGraphRunner task_graph_runner; |
140 std::unique_ptr<OutputSurface> output_surface = | 140 std::unique_ptr<CompositorFrameSink> compositor_frame_sink = |
141 FakeOutputSurface::CreateDelegating3d(); | 141 FakeCompositorFrameSink::Create3d(); |
142 FakeUIResourceLayerTreeHostImpl host_impl( | 142 FakeUIResourceLayerTreeHostImpl host_impl( |
143 &task_runner_provider, &shared_bitmap_manager, &task_graph_runner); | 143 &task_runner_provider, &shared_bitmap_manager, &task_graph_runner); |
144 host_impl.SetVisible(true); | 144 host_impl.SetVisible(true); |
145 host_impl.InitializeRenderer(output_surface.get()); | 145 host_impl.InitializeRenderer(compositor_frame_sink.get()); |
146 | 146 |
147 gfx::Size bitmap_size(100, 100); | 147 gfx::Size bitmap_size(100, 100); |
148 gfx::Size layer_size(100, 100); | 148 gfx::Size layer_size(100, 100); |
149 bool skbitmap_opaque = false; | 149 bool skbitmap_opaque = false; |
150 UIResourceId uid = 1; | 150 UIResourceId uid = 1; |
151 std::unique_ptr<UIResourceLayerImpl> layer = GenerateUIResourceLayer( | 151 std::unique_ptr<UIResourceLayerImpl> layer = GenerateUIResourceLayer( |
152 &host_impl, bitmap_size, layer_size, skbitmap_opaque, uid); | 152 &host_impl, bitmap_size, layer_size, skbitmap_opaque, uid); |
153 layer->SetContentsOpaque(false); | 153 layer->SetContentsOpaque(false); |
154 gfx::Rect expected_opaque_bounds; | 154 gfx::Rect expected_opaque_bounds; |
155 OpaqueBoundsTest(std::move(layer), expected_opaque_bounds); | 155 OpaqueBoundsTest(std::move(layer), expected_opaque_bounds); |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
210 LayerTestCommon::VerifyQuadsAreOccluded( | 210 LayerTestCommon::VerifyQuadsAreOccluded( |
211 impl.quad_list(), occluded, &partially_occluded_count); | 211 impl.quad_list(), occluded, &partially_occluded_count); |
212 // The layer outputs one quad, which is partially occluded. | 212 // The layer outputs one quad, which is partially occluded. |
213 EXPECT_EQ(1u, impl.quad_list().size()); | 213 EXPECT_EQ(1u, impl.quad_list().size()); |
214 EXPECT_EQ(1u, partially_occluded_count); | 214 EXPECT_EQ(1u, partially_occluded_count); |
215 } | 215 } |
216 } | 216 } |
217 | 217 |
218 } // namespace | 218 } // namespace |
219 } // namespace cc | 219 } // namespace cc |
OLD | NEW |