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

Side by Side Diff: mojo/converters/surfaces/tests/surface_unittest.cc

Issue 1968363002: SurfaceAggregator should check whether output is secure when drawin (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 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 | « mojo/converters/surfaces/surfaces_type_converters.cc ('k') | ui/compositor/compositor.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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #include <stdint.h> 6 #include <stdint.h>
7 7
8 #include <utility> 8 #include <utility>
9 9
10 #include "cc/quads/debug_border_draw_quad.h" 10 #include "cc/quads/debug_border_draw_quad.h"
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 cc::TextureDrawQuad* texture_quad = 147 cc::TextureDrawQuad* texture_quad =
148 pass->CreateAndAppendDrawQuad<cc::TextureDrawQuad>(); 148 pass->CreateAndAppendDrawQuad<cc::TextureDrawQuad>();
149 unsigned resource_id = 9; 149 unsigned resource_id = 9;
150 bool premultiplied_alpha = true; 150 bool premultiplied_alpha = true;
151 gfx::PointF uv_top_left(1.7f, 2.1f); 151 gfx::PointF uv_top_left(1.7f, 2.1f);
152 gfx::PointF uv_bottom_right(-7.f, 16.3f); 152 gfx::PointF uv_bottom_right(-7.f, 16.3f);
153 SkColor background_color = SK_ColorYELLOW; 153 SkColor background_color = SK_ColorYELLOW;
154 float vertex_opacity[4] = {0.1f, 0.5f, 0.4f, 0.8f}; 154 float vertex_opacity[4] = {0.1f, 0.5f, 0.4f, 0.8f};
155 bool y_flipped = false; 155 bool y_flipped = false;
156 bool nearest_neighbor = false; 156 bool nearest_neighbor = false;
157 bool secure_output_only = true;
157 texture_quad->SetAll(sqs, rect, opaque_rect, visible_rect, needs_blending, 158 texture_quad->SetAll(sqs, rect, opaque_rect, visible_rect, needs_blending,
158 resource_id, gfx::Size(), premultiplied_alpha, 159 resource_id, gfx::Size(), premultiplied_alpha,
159 uv_top_left, uv_bottom_right, background_color, 160 uv_top_left, uv_bottom_right, background_color,
160 vertex_opacity, y_flipped, nearest_neighbor); 161 vertex_opacity, y_flipped, nearest_neighbor,
162 secure_output_only);
161 163
162 QuadPtr mus_quad = Quad::From<cc::DrawQuad>(*texture_quad); 164 QuadPtr mus_quad = Quad::From<cc::DrawQuad>(*texture_quad);
163 ASSERT_FALSE(mus_quad.is_null()); 165 ASSERT_FALSE(mus_quad.is_null());
164 EXPECT_EQ(mus::mojom::Material::TEXTURE_CONTENT, mus_quad->material); 166 EXPECT_EQ(mus::mojom::Material::TEXTURE_CONTENT, mus_quad->material);
165 ASSERT_TRUE(mus_quad->texture_quad_state); 167 ASSERT_TRUE(mus_quad->texture_quad_state);
166 TextureQuadStatePtr& mus_texture_state = mus_quad->texture_quad_state; 168 TextureQuadStatePtr& mus_texture_state = mus_quad->texture_quad_state;
167 EXPECT_EQ(resource_id, mus_texture_state->resource_id); 169 EXPECT_EQ(resource_id, mus_texture_state->resource_id);
168 EXPECT_EQ(premultiplied_alpha, mus_texture_state->premultiplied_alpha); 170 EXPECT_EQ(premultiplied_alpha, mus_texture_state->premultiplied_alpha);
169 EXPECT_TRUE(PointF::From(uv_top_left).Equals(mus_texture_state->uv_top_left)); 171 EXPECT_TRUE(PointF::From(uv_top_left).Equals(mus_texture_state->uv_top_left));
170 EXPECT_TRUE( 172 EXPECT_TRUE(
171 PointF::From(uv_bottom_right).Equals(mus_texture_state->uv_bottom_right)); 173 PointF::From(uv_bottom_right).Equals(mus_texture_state->uv_bottom_right));
172 EXPECT_TRUE(Color::From(background_color) 174 EXPECT_TRUE(Color::From(background_color)
173 .Equals(mus_texture_state->background_color)); 175 .Equals(mus_texture_state->background_color));
174 for (size_t i = 0; i < 4; ++i) { 176 for (size_t i = 0; i < 4; ++i) {
175 EXPECT_EQ(vertex_opacity[i], mus_texture_state->vertex_opacity[i]) << i; 177 EXPECT_EQ(vertex_opacity[i], mus_texture_state->vertex_opacity[i]) << i;
176 } 178 }
177 EXPECT_EQ(y_flipped, mus_texture_state->y_flipped); 179 EXPECT_EQ(y_flipped, mus_texture_state->y_flipped);
180 EXPECT_EQ(secure_output_only, mus_texture_state->secure_output_only);
178 } 181 }
179 182
180 TEST_F(SurfaceLibQuadTest, TextureQuadEmptyVertexOpacity) { 183 TEST_F(SurfaceLibQuadTest, TextureQuadEmptyVertexOpacity) {
181 QuadPtr mus_texture_quad = Quad::New(); 184 QuadPtr mus_texture_quad = Quad::New();
182 mus_texture_quad->material = mus::mojom::Material::TEXTURE_CONTENT; 185 mus_texture_quad->material = mus::mojom::Material::TEXTURE_CONTENT;
183 TextureQuadStatePtr mus_texture_state = TextureQuadState::New(); 186 TextureQuadStatePtr mus_texture_state = TextureQuadState::New();
184 mus_texture_state->background_color = Color::New(); 187 mus_texture_state->background_color = Color::New();
185 mus_texture_quad->texture_quad_state = std::move(mus_texture_state); 188 mus_texture_quad->texture_quad_state = std::move(mus_texture_state);
186 PassPtr mus_pass = Pass::New(); 189 PassPtr mus_pass = Pass::New();
187 mus_pass->id = RenderPassId::New(); 190 mus_pass->id = RenderPassId::New();
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
299 cc::TextureDrawQuad* texture_quad = 302 cc::TextureDrawQuad* texture_quad =
300 pass->CreateAndAppendDrawQuad<cc::TextureDrawQuad>(); 303 pass->CreateAndAppendDrawQuad<cc::TextureDrawQuad>();
301 unsigned resource_id = 9; 304 unsigned resource_id = 9;
302 bool premultiplied_alpha = true; 305 bool premultiplied_alpha = true;
303 gfx::PointF uv_top_left(1.7f, 2.1f); 306 gfx::PointF uv_top_left(1.7f, 2.1f);
304 gfx::PointF uv_bottom_right(-7.f, 16.3f); 307 gfx::PointF uv_bottom_right(-7.f, 16.3f);
305 SkColor background_color = SK_ColorYELLOW; 308 SkColor background_color = SK_ColorYELLOW;
306 float vertex_opacity[4] = {0.1f, 0.5f, 0.4f, 0.8f}; 309 float vertex_opacity[4] = {0.1f, 0.5f, 0.4f, 0.8f};
307 bool y_flipped = false; 310 bool y_flipped = false;
308 bool nearest_neighbor = false; 311 bool nearest_neighbor = false;
312 bool secure_output_only = false;
309 texture_quad->SetAll(sqs, rect, opaque_rect, visible_rect, needs_blending, 313 texture_quad->SetAll(sqs, rect, opaque_rect, visible_rect, needs_blending,
310 resource_id, gfx::Size(), premultiplied_alpha, 314 resource_id, gfx::Size(), premultiplied_alpha,
311 uv_top_left, uv_bottom_right, background_color, 315 uv_top_left, uv_bottom_right, background_color,
312 vertex_opacity, y_flipped, nearest_neighbor); 316 vertex_opacity, y_flipped, nearest_neighbor,
317 secure_output_only);
313 318
314 PassPtr mus_pass = Pass::From(*pass); 319 PassPtr mus_pass = Pass::From(*pass);
315 ASSERT_FALSE(mus_pass.is_null()); 320 ASSERT_FALSE(mus_pass.is_null());
316 EXPECT_EQ(6u, mus_pass->id->index); 321 EXPECT_EQ(6u, mus_pass->id->index);
317 EXPECT_TRUE(Rect::From(output_rect).Equals(mus_pass->output_rect)); 322 EXPECT_TRUE(Rect::From(output_rect).Equals(mus_pass->output_rect));
318 EXPECT_TRUE(Rect::From(damage_rect).Equals(mus_pass->damage_rect)); 323 EXPECT_TRUE(Rect::From(damage_rect).Equals(mus_pass->damage_rect));
319 EXPECT_TRUE(Transform::From(transform_to_root_target) 324 EXPECT_TRUE(Transform::From(transform_to_root_target)
320 .Equals(mus_pass->transform_to_root_target)); 325 .Equals(mus_pass->transform_to_root_target));
321 EXPECT_EQ(has_transparent_background, mus_pass->has_transparent_background); 326 EXPECT_EQ(has_transparent_background, mus_pass->has_transparent_background);
322 ASSERT_EQ(1u, mus_pass->shared_quad_states.size()); 327 ASSERT_EQ(1u, mus_pass->shared_quad_states.size());
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
375 EXPECT_EQ(resource_id, round_trip_texture_quad->resource_id()); 380 EXPECT_EQ(resource_id, round_trip_texture_quad->resource_id());
376 EXPECT_EQ(premultiplied_alpha, round_trip_texture_quad->premultiplied_alpha); 381 EXPECT_EQ(premultiplied_alpha, round_trip_texture_quad->premultiplied_alpha);
377 EXPECT_EQ(uv_top_left, round_trip_texture_quad->uv_top_left); 382 EXPECT_EQ(uv_top_left, round_trip_texture_quad->uv_top_left);
378 EXPECT_EQ(uv_bottom_right, round_trip_texture_quad->uv_bottom_right); 383 EXPECT_EQ(uv_bottom_right, round_trip_texture_quad->uv_bottom_right);
379 EXPECT_EQ(background_color, round_trip_texture_quad->background_color); 384 EXPECT_EQ(background_color, round_trip_texture_quad->background_color);
380 for (size_t i = 0; i < 4; ++i) { 385 for (size_t i = 0; i < 4; ++i) {
381 EXPECT_EQ(vertex_opacity[i], round_trip_texture_quad->vertex_opacity[i]) 386 EXPECT_EQ(vertex_opacity[i], round_trip_texture_quad->vertex_opacity[i])
382 << i; 387 << i;
383 } 388 }
384 EXPECT_EQ(y_flipped, round_trip_texture_quad->y_flipped); 389 EXPECT_EQ(y_flipped, round_trip_texture_quad->y_flipped);
390 EXPECT_EQ(secure_output_only, round_trip_texture_quad->secure_output_only);
385 } 391 }
386 392
387 TEST(SurfaceLibTest, TransferableResource) { 393 TEST(SurfaceLibTest, TransferableResource) {
388 uint32_t id = 7u; 394 uint32_t id = 7u;
389 cc::ResourceFormat format = cc::BGRA_8888; 395 cc::ResourceFormat format = cc::BGRA_8888;
390 uint32_t filter = 123u; 396 uint32_t filter = 123u;
391 gfx::Size size(17, 18); 397 gfx::Size size(17, 18);
392 gpu::MailboxHolder mailbox_holder; 398 gpu::MailboxHolder mailbox_holder;
393 bool is_software = false; 399 bool is_software = false;
394 cc::TransferableResource resource; 400 cc::TransferableResource resource;
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
470 ASSERT_TRUE(mus_quad->debug_border_quad_state); 476 ASSERT_TRUE(mus_quad->debug_border_quad_state);
471 DebugBorderQuadStatePtr& mus_debug_border_state = 477 DebugBorderQuadStatePtr& mus_debug_border_state =
472 mus_quad->debug_border_quad_state; 478 mus_quad->debug_border_quad_state;
473 EXPECT_TRUE( 479 EXPECT_TRUE(
474 Color::From(arbitrary_color).Equals(mus_debug_border_state->color)); 480 Color::From(arbitrary_color).Equals(mus_debug_border_state->color));
475 EXPECT_EQ(width, mus_debug_border_state->width); 481 EXPECT_EQ(width, mus_debug_border_state->width);
476 } 482 }
477 483
478 } // namespace 484 } // namespace
479 } // namespace mojo 485 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/converters/surfaces/surfaces_type_converters.cc ('k') | ui/compositor/compositor.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698