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

Side by Side Diff: components/exo/surface_unittest.cc

Issue 2503203002: Revert "Getting rid of DelegatedFrameData" (Closed)
Patch Set: Created 4 years, 1 month 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 | « components/exo/surface.cc ('k') | content/browser/bad_message.h » ('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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "base/bind.h" 5 #include "base/bind.h"
6 #include "cc/output/compositor_frame.h" 6 #include "cc/output/compositor_frame.h"
7 #include "cc/output/delegated_frame_data.h"
7 #include "cc/quads/texture_draw_quad.h" 8 #include "cc/quads/texture_draw_quad.h"
8 #include "cc/surfaces/surface.h" 9 #include "cc/surfaces/surface.h"
9 #include "cc/surfaces/surface_manager.h" 10 #include "cc/surfaces/surface_manager.h"
10 #include "components/exo/buffer.h" 11 #include "components/exo/buffer.h"
11 #include "components/exo/surface.h" 12 #include "components/exo/surface.h"
12 #include "components/exo/test/exo_test_base.h" 13 #include "components/exo/test/exo_test_base.h"
13 #include "components/exo/test/exo_test_helper.h" 14 #include "components/exo/test/exo_test_helper.h"
14 #include "testing/gtest/include/gtest/gtest.h" 15 #include "testing/gtest/include/gtest/gtest.h"
15 #include "ui/aura/env.h" 16 #include "ui/aura/env.h"
16 #include "ui/compositor/layer_tree_owner.h" 17 #include "ui/compositor/layer_tree_owner.h"
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 181
181 surface->Attach(buffer.get()); 182 surface->Attach(buffer.get());
182 gfx::Size crop_size(12, 12); 183 gfx::Size crop_size(12, 12);
183 surface->SetCrop(gfx::RectF(gfx::PointF(2.0, 2.0), gfx::SizeF(crop_size))); 184 surface->SetCrop(gfx::RectF(gfx::PointF(2.0, 2.0), gfx::SizeF(crop_size)));
184 surface->Commit(); 185 surface->Commit();
185 EXPECT_EQ(crop_size.ToString(), 186 EXPECT_EQ(crop_size.ToString(),
186 surface->window()->bounds().size().ToString()); 187 surface->window()->bounds().size().ToString());
187 EXPECT_EQ(crop_size.ToString(), surface->content_size().ToString()); 188 EXPECT_EQ(crop_size.ToString(), surface->content_size().ToString());
188 } 189 }
189 190
190 const cc::CompositorFrame& GetFrameFromSurface(Surface* surface) { 191 const cc::DelegatedFrameData* GetFrameFromSurface(Surface* surface) {
191 cc::SurfaceId surface_id = surface->GetSurfaceId(); 192 cc::SurfaceId surface_id = surface->GetSurfaceId();
192 cc::SurfaceManager* surface_manager = 193 cc::SurfaceManager* surface_manager =
193 aura::Env::GetInstance()->context_factory()->GetSurfaceManager(); 194 aura::Env::GetInstance()->context_factory()->GetSurfaceManager();
194 const cc::CompositorFrame& frame = 195 const cc::CompositorFrame& frame =
195 surface_manager->GetSurfaceForId(surface_id)->GetEligibleFrame(); 196 surface_manager->GetSurfaceForId(surface_id)->GetEligibleFrame();
196 return frame; 197 return frame.delegated_frame_data.get();
197 } 198 }
198 199
199 TEST_F(SurfaceTest, SetBlendMode) { 200 TEST_F(SurfaceTest, SetBlendMode) {
200 gfx::Size buffer_size(1, 1); 201 gfx::Size buffer_size(1, 1);
201 std::unique_ptr<Buffer> buffer( 202 std::unique_ptr<Buffer> buffer(
202 new Buffer(exo_test_helper()->CreateGpuMemoryBuffer(buffer_size))); 203 new Buffer(exo_test_helper()->CreateGpuMemoryBuffer(buffer_size)));
203 std::unique_ptr<Surface> surface(new Surface); 204 std::unique_ptr<Surface> surface(new Surface);
204 205
205 surface->Attach(buffer.get()); 206 surface->Attach(buffer.get());
206 surface->SetBlendMode(SkXfermode::kSrc_Mode); 207 surface->SetBlendMode(SkXfermode::kSrc_Mode);
207 surface->Commit(); 208 surface->Commit();
208 209
209 const cc::CompositorFrame& frame = GetFrameFromSurface(surface.get()); 210 const cc::DelegatedFrameData* frame_data = GetFrameFromSurface(surface.get());
210 ASSERT_EQ(1u, frame.render_pass_list.size()); 211 ASSERT_EQ(1u, frame_data->render_pass_list.size());
211 ASSERT_EQ(1u, frame.render_pass_list.back()->quad_list.size()); 212 ASSERT_EQ(1u, frame_data->render_pass_list.back()->quad_list.size());
212 EXPECT_FALSE(frame.render_pass_list.back() 213 EXPECT_FALSE(frame_data->render_pass_list.back()
213 ->quad_list.back() 214 ->quad_list.back()
214 ->ShouldDrawWithBlending()); 215 ->ShouldDrawWithBlending());
215 } 216 }
216 217
217 TEST_F(SurfaceTest, OverlayCandidate) { 218 TEST_F(SurfaceTest, OverlayCandidate) {
218 gfx::Size buffer_size(1, 1); 219 gfx::Size buffer_size(1, 1);
219 std::unique_ptr<Buffer> buffer(new Buffer( 220 std::unique_ptr<Buffer> buffer(new Buffer(
220 exo_test_helper()->CreateGpuMemoryBuffer(buffer_size), 0, 0, true, true)); 221 exo_test_helper()->CreateGpuMemoryBuffer(buffer_size), 0, 0, true, true));
221 std::unique_ptr<Surface> surface(new Surface); 222 std::unique_ptr<Surface> surface(new Surface);
222 223
223 surface->Attach(buffer.get()); 224 surface->Attach(buffer.get());
224 surface->Commit(); 225 surface->Commit();
225 226
226 const cc::CompositorFrame& frame = GetFrameFromSurface(surface.get()); 227 const cc::DelegatedFrameData* frame_data = GetFrameFromSurface(surface.get());
227 ASSERT_EQ(1u, frame.render_pass_list.size()); 228 ASSERT_EQ(1u, frame_data->render_pass_list.size());
228 ASSERT_EQ(1u, frame.render_pass_list.back()->quad_list.size()); 229 ASSERT_EQ(1u, frame_data->render_pass_list.back()->quad_list.size());
229 cc::DrawQuad* draw_quad = frame.render_pass_list.back()->quad_list.back(); 230 cc::DrawQuad* draw_quad =
231 frame_data->render_pass_list.back()->quad_list.back();
230 ASSERT_EQ(cc::DrawQuad::TEXTURE_CONTENT, draw_quad->material); 232 ASSERT_EQ(cc::DrawQuad::TEXTURE_CONTENT, draw_quad->material);
231 233
232 const cc::TextureDrawQuad* texture_quad = 234 const cc::TextureDrawQuad* texture_quad =
233 cc::TextureDrawQuad::MaterialCast(draw_quad); 235 cc::TextureDrawQuad::MaterialCast(draw_quad);
234 EXPECT_FALSE(texture_quad->resource_size_in_pixels().IsEmpty()); 236 EXPECT_FALSE(texture_quad->resource_size_in_pixels().IsEmpty());
235 } 237 }
236 238
237 TEST_F(SurfaceTest, SetAlpha) { 239 TEST_F(SurfaceTest, SetAlpha) {
238 gfx::Size buffer_size(1, 1); 240 gfx::Size buffer_size(1, 1);
239 std::unique_ptr<Buffer> buffer( 241 std::unique_ptr<Buffer> buffer(
240 new Buffer(exo_test_helper()->CreateGpuMemoryBuffer(buffer_size))); 242 new Buffer(exo_test_helper()->CreateGpuMemoryBuffer(buffer_size)));
241 std::unique_ptr<Surface> surface(new Surface); 243 std::unique_ptr<Surface> surface(new Surface);
242 244
243 surface->Attach(buffer.get()); 245 surface->Attach(buffer.get());
244 surface->SetAlpha(0.5f); 246 surface->SetAlpha(0.5f);
245 surface->Commit(); 247 surface->Commit();
246 } 248 }
247 249
248 TEST_F(SurfaceTest, Commit) { 250 TEST_F(SurfaceTest, Commit) {
249 std::unique_ptr<Surface> surface(new Surface); 251 std::unique_ptr<Surface> surface(new Surface);
250 252
251 // Calling commit without a buffer should succeed. 253 // Calling commit without a buffer should succeed.
252 surface->Commit(); 254 surface->Commit();
253 } 255 }
254 256
255 } // namespace 257 } // namespace
256 } // namespace exo 258 } // namespace exo
OLDNEW
« no previous file with comments | « components/exo/surface.cc ('k') | content/browser/bad_message.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698