Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(924)

Side by Side Diff: cc/layers/render_surface_unittest.cc

Issue 1866203004: Convert //cc from scoped_ptr to std::unique_ptr. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: scopedptrcc: rebase Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « cc/layers/render_surface_impl_unittest.cc ('k') | cc/layers/scrollbar_layer_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_impl_task_runner_provider.h" 10 #include "cc/test/fake_impl_task_runner_provider.h"
(...skipping 24 matching lines...) Expand all
35 TEST(RenderSurfaceTest, VerifySurfaceChangesAreTrackedProperly) { 35 TEST(RenderSurfaceTest, VerifySurfaceChangesAreTrackedProperly) {
36 // 36 //
37 // This test checks that SurfacePropertyChanged() has the correct behavior. 37 // This test checks that SurfacePropertyChanged() has the correct behavior.
38 // 38 //
39 39
40 FakeImplTaskRunnerProvider task_runner_provider; 40 FakeImplTaskRunnerProvider task_runner_provider;
41 TestSharedBitmapManager shared_bitmap_manager; 41 TestSharedBitmapManager shared_bitmap_manager;
42 TestTaskGraphRunner task_graph_runner; 42 TestTaskGraphRunner task_graph_runner;
43 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager, 43 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager,
44 &task_graph_runner); 44 &task_graph_runner);
45 scoped_ptr<LayerImpl> owning_layer = 45 std::unique_ptr<LayerImpl> owning_layer =
46 LayerImpl::Create(host_impl.active_tree(), 1); 46 LayerImpl::Create(host_impl.active_tree(), 1);
47 owning_layer->SetHasRenderSurface(true); 47 owning_layer->SetHasRenderSurface(true);
48 ASSERT_TRUE(owning_layer->render_surface()); 48 ASSERT_TRUE(owning_layer->render_surface());
49 RenderSurfaceImpl* render_surface = owning_layer->render_surface(); 49 RenderSurfaceImpl* render_surface = owning_layer->render_surface();
50 gfx::Rect test_rect(3, 4, 5, 6); 50 gfx::Rect test_rect(3, 4, 5, 6);
51 host_impl.active_tree()->ResetAllChangeTracking( 51 host_impl.active_tree()->ResetAllChangeTracking(
52 PropertyTrees::ResetFlags::ALL_TREES); 52 PropertyTrees::ResetFlags::ALL_TREES);
53 53
54 // Currently, the content_rect, clip_rect, and 54 // Currently, the content_rect, clip_rect, and
55 // owning_layer->layerPropertyChanged() are the only sources of change. 55 // owning_layer->layerPropertyChanged() are the only sources of change.
56 EXECUTE_AND_VERIFY_SURFACE_CHANGED(render_surface->SetClipRect(test_rect)); 56 EXECUTE_AND_VERIFY_SURFACE_CHANGED(render_surface->SetClipRect(test_rect));
57 EXECUTE_AND_VERIFY_SURFACE_CHANGED(render_surface->SetContentRect(test_rect)); 57 EXECUTE_AND_VERIFY_SURFACE_CHANGED(render_surface->SetContentRect(test_rect));
58 58
59 owning_layer->SetOpacity(0.5f); 59 owning_layer->SetOpacity(0.5f);
60 EXPECT_TRUE(render_surface->SurfacePropertyChanged()); 60 EXPECT_TRUE(render_surface->SurfacePropertyChanged());
61 host_impl.active_tree()->ResetAllChangeTracking( 61 host_impl.active_tree()->ResetAllChangeTracking(
62 PropertyTrees::ResetFlags::ALL_TREES); 62 PropertyTrees::ResetFlags::ALL_TREES);
63 63
64 // Setting the surface properties to the same values again should not be 64 // Setting the surface properties to the same values again should not be
65 // considered "change". 65 // considered "change".
66 EXECUTE_AND_VERIFY_SURFACE_DID_NOT_CHANGE( 66 EXECUTE_AND_VERIFY_SURFACE_DID_NOT_CHANGE(
67 render_surface->SetClipRect(test_rect)); 67 render_surface->SetClipRect(test_rect));
68 EXECUTE_AND_VERIFY_SURFACE_DID_NOT_CHANGE( 68 EXECUTE_AND_VERIFY_SURFACE_DID_NOT_CHANGE(
69 render_surface->SetContentRect(test_rect)); 69 render_surface->SetContentRect(test_rect));
70 70
71 scoped_ptr<LayerImpl> dummy_mask = 71 std::unique_ptr<LayerImpl> dummy_mask =
72 LayerImpl::Create(host_impl.active_tree(), 2); 72 LayerImpl::Create(host_impl.active_tree(), 2);
73 gfx::Transform dummy_matrix; 73 gfx::Transform dummy_matrix;
74 dummy_matrix.Translate(1.0, 2.0); 74 dummy_matrix.Translate(1.0, 2.0);
75 75
76 // The rest of the surface properties are either internal and should not cause 76 // The rest of the surface properties are either internal and should not cause
77 // change, or they are already accounted for by the 77 // change, or they are already accounted for by the
78 // owninglayer->layerPropertyChanged(). 78 // owninglayer->layerPropertyChanged().
79 EXECUTE_AND_VERIFY_SURFACE_DID_NOT_CHANGE( 79 EXECUTE_AND_VERIFY_SURFACE_DID_NOT_CHANGE(
80 render_surface->SetDrawOpacity(0.5f)); 80 render_surface->SetDrawOpacity(0.5f));
81 EXECUTE_AND_VERIFY_SURFACE_DID_NOT_CHANGE( 81 EXECUTE_AND_VERIFY_SURFACE_DID_NOT_CHANGE(
82 render_surface->SetDrawTransform(dummy_matrix)); 82 render_surface->SetDrawTransform(dummy_matrix));
83 EXECUTE_AND_VERIFY_SURFACE_DID_NOT_CHANGE( 83 EXECUTE_AND_VERIFY_SURFACE_DID_NOT_CHANGE(
84 render_surface->SetReplicaDrawTransform(dummy_matrix)); 84 render_surface->SetReplicaDrawTransform(dummy_matrix));
85 EXECUTE_AND_VERIFY_SURFACE_DID_NOT_CHANGE(render_surface->ClearLayerLists()); 85 EXECUTE_AND_VERIFY_SURFACE_DID_NOT_CHANGE(render_surface->ClearLayerLists());
86 } 86 }
87 87
88 TEST(RenderSurfaceTest, SanityCheckSurfaceCreatesCorrectSharedQuadState) { 88 TEST(RenderSurfaceTest, SanityCheckSurfaceCreatesCorrectSharedQuadState) {
89 FakeImplTaskRunnerProvider task_runner_provider; 89 FakeImplTaskRunnerProvider task_runner_provider;
90 TestSharedBitmapManager shared_bitmap_manager; 90 TestSharedBitmapManager shared_bitmap_manager;
91 TestTaskGraphRunner task_graph_runner; 91 TestTaskGraphRunner task_graph_runner;
92 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager, 92 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager,
93 &task_graph_runner); 93 &task_graph_runner);
94 scoped_ptr<LayerImpl> root_layer = 94 std::unique_ptr<LayerImpl> root_layer =
95 LayerImpl::Create(host_impl.active_tree(), 1); 95 LayerImpl::Create(host_impl.active_tree(), 1);
96 96
97 scoped_ptr<LayerImpl> owning_layer = 97 std::unique_ptr<LayerImpl> owning_layer =
98 LayerImpl::Create(host_impl.active_tree(), 2); 98 LayerImpl::Create(host_impl.active_tree(), 2);
99 owning_layer->SetHasRenderSurface(true); 99 owning_layer->SetHasRenderSurface(true);
100 ASSERT_TRUE(owning_layer->render_surface()); 100 ASSERT_TRUE(owning_layer->render_surface());
101 owning_layer->draw_properties().render_target = owning_layer.get(); 101 owning_layer->draw_properties().render_target = owning_layer.get();
102 102
103 SkXfermode::Mode blend_mode = SkXfermode::kSoftLight_Mode; 103 SkXfermode::Mode blend_mode = SkXfermode::kSoftLight_Mode;
104 owning_layer->SetBlendMode(blend_mode); 104 owning_layer->SetBlendMode(blend_mode);
105 RenderSurfaceImpl* render_surface = owning_layer->render_surface(); 105 RenderSurfaceImpl* render_surface = owning_layer->render_surface();
106 106
107 root_layer->AddChild(std::move(owning_layer)); 107 root_layer->AddChild(std::move(owning_layer));
108 108
109 gfx::Rect content_rect(0, 0, 50, 50); 109 gfx::Rect content_rect(0, 0, 50, 50);
110 gfx::Rect clip_rect(5, 5, 40, 40); 110 gfx::Rect clip_rect(5, 5, 40, 40);
111 gfx::Transform origin; 111 gfx::Transform origin;
112 origin.Translate(30, 40); 112 origin.Translate(30, 40);
113 113
114 render_surface->SetContentRect(content_rect); 114 render_surface->SetContentRect(content_rect);
115 render_surface->SetClipRect(clip_rect); 115 render_surface->SetClipRect(clip_rect);
116 render_surface->SetDrawOpacity(1.f); 116 render_surface->SetDrawOpacity(1.f);
117 117
118 scoped_ptr<RenderPass> render_pass = RenderPass::Create(); 118 std::unique_ptr<RenderPass> render_pass = RenderPass::Create();
119 AppendQuadsData append_quads_data; 119 AppendQuadsData append_quads_data;
120 120
121 render_surface->AppendQuads(render_pass.get(), origin, Occlusion(), 121 render_surface->AppendQuads(render_pass.get(), origin, Occlusion(),
122 SK_ColorBLACK, 1.f, nullptr, &append_quads_data, 122 SK_ColorBLACK, 1.f, nullptr, &append_quads_data,
123 RenderPassId(2, 0)); 123 RenderPassId(2, 0));
124 124
125 ASSERT_EQ(1u, render_pass->shared_quad_state_list.size()); 125 ASSERT_EQ(1u, render_pass->shared_quad_state_list.size());
126 SharedQuadState* shared_quad_state = 126 SharedQuadState* shared_quad_state =
127 render_pass->shared_quad_state_list.front(); 127 render_pass->shared_quad_state_list.front();
128 128
129 EXPECT_EQ( 129 EXPECT_EQ(
130 30.0, 130 30.0,
131 shared_quad_state->quad_to_target_transform.matrix().getDouble(0, 3)); 131 shared_quad_state->quad_to_target_transform.matrix().getDouble(0, 3));
132 EXPECT_EQ( 132 EXPECT_EQ(
133 40.0, 133 40.0,
134 shared_quad_state->quad_to_target_transform.matrix().getDouble(1, 3)); 134 shared_quad_state->quad_to_target_transform.matrix().getDouble(1, 3));
135 EXPECT_EQ(content_rect, 135 EXPECT_EQ(content_rect,
136 gfx::Rect(shared_quad_state->visible_quad_layer_rect)); 136 gfx::Rect(shared_quad_state->visible_quad_layer_rect));
137 EXPECT_EQ(1.f, shared_quad_state->opacity); 137 EXPECT_EQ(1.f, shared_quad_state->opacity);
138 EXPECT_EQ(blend_mode, shared_quad_state->blend_mode); 138 EXPECT_EQ(blend_mode, shared_quad_state->blend_mode);
139 } 139 }
140 140
141 class TestRenderPassSink : public RenderPassSink { 141 class TestRenderPassSink : public RenderPassSink {
142 public: 142 public:
143 void AppendRenderPass(scoped_ptr<RenderPass> render_pass) override { 143 void AppendRenderPass(std::unique_ptr<RenderPass> render_pass) override {
144 render_passes_.push_back(std::move(render_pass)); 144 render_passes_.push_back(std::move(render_pass));
145 } 145 }
146 146
147 const RenderPassList& RenderPasses() const { 147 const RenderPassList& RenderPasses() const {
148 return render_passes_; 148 return render_passes_;
149 } 149 }
150 150
151 private: 151 private:
152 RenderPassList render_passes_; 152 RenderPassList render_passes_;
153 }; 153 };
154 154
155 TEST(RenderSurfaceTest, SanityCheckSurfaceCreatesCorrectRenderPass) { 155 TEST(RenderSurfaceTest, SanityCheckSurfaceCreatesCorrectRenderPass) {
156 FakeImplTaskRunnerProvider task_runner_provider; 156 FakeImplTaskRunnerProvider task_runner_provider;
157 TestSharedBitmapManager shared_bitmap_manager; 157 TestSharedBitmapManager shared_bitmap_manager;
158 TestTaskGraphRunner task_graph_runner; 158 TestTaskGraphRunner task_graph_runner;
159 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager, 159 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager,
160 &task_graph_runner); 160 &task_graph_runner);
161 scoped_ptr<LayerImpl> root_layer = 161 std::unique_ptr<LayerImpl> root_layer =
162 LayerImpl::Create(host_impl.active_tree(), 1); 162 LayerImpl::Create(host_impl.active_tree(), 1);
163 163
164 scoped_ptr<LayerImpl> owning_layer = 164 std::unique_ptr<LayerImpl> owning_layer =
165 LayerImpl::Create(host_impl.active_tree(), 2); 165 LayerImpl::Create(host_impl.active_tree(), 2);
166 owning_layer->SetHasRenderSurface(true); 166 owning_layer->SetHasRenderSurface(true);
167 ASSERT_TRUE(owning_layer->render_surface()); 167 ASSERT_TRUE(owning_layer->render_surface());
168 owning_layer->draw_properties().render_target = owning_layer.get(); 168 owning_layer->draw_properties().render_target = owning_layer.get();
169 RenderSurfaceImpl* render_surface = owning_layer->render_surface(); 169 RenderSurfaceImpl* render_surface = owning_layer->render_surface();
170 170
171 root_layer->AddChild(std::move(owning_layer)); 171 root_layer->AddChild(std::move(owning_layer));
172 172
173 gfx::Rect content_rect(0, 0, 50, 50); 173 gfx::Rect content_rect(0, 0, 50, 50);
174 gfx::Transform origin; 174 gfx::Transform origin;
175 origin.Translate(30.0, 40.0); 175 origin.Translate(30.0, 40.0);
176 176
177 render_surface->SetScreenSpaceTransform(origin); 177 render_surface->SetScreenSpaceTransform(origin);
178 render_surface->SetContentRect(content_rect); 178 render_surface->SetContentRect(content_rect);
179 179
180 TestRenderPassSink pass_sink; 180 TestRenderPassSink pass_sink;
181 181
182 render_surface->AppendRenderPasses(&pass_sink); 182 render_surface->AppendRenderPasses(&pass_sink);
183 183
184 ASSERT_EQ(1u, pass_sink.RenderPasses().size()); 184 ASSERT_EQ(1u, pass_sink.RenderPasses().size());
185 RenderPass* pass = pass_sink.RenderPasses()[0].get(); 185 RenderPass* pass = pass_sink.RenderPasses()[0].get();
186 186
187 EXPECT_EQ(RenderPassId(2, 0), pass->id); 187 EXPECT_EQ(RenderPassId(2, 0), pass->id);
188 EXPECT_EQ(content_rect, pass->output_rect); 188 EXPECT_EQ(content_rect, pass->output_rect);
189 EXPECT_EQ(origin, pass->transform_to_root_target); 189 EXPECT_EQ(origin, pass->transform_to_root_target);
190 } 190 }
191 191
192 } // namespace 192 } // namespace
193 } // namespace cc 193 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layers/render_surface_impl_unittest.cc ('k') | cc/layers/scrollbar_layer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698