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