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

Side by Side Diff: cc/output/overlay_unittest.cc

Issue 1437413002: cc: Remove ScopedPtrVector and cc::remove_if. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: just the vector Created 5 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
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 "cc/base/region.h" 5 #include "cc/base/region.h"
6 #include "cc/base/scoped_ptr_vector.h"
7 #include "cc/output/compositor_frame_metadata.h" 6 #include "cc/output/compositor_frame_metadata.h"
8 #include "cc/output/gl_renderer.h" 7 #include "cc/output/gl_renderer.h"
9 #include "cc/output/output_surface.h" 8 #include "cc/output/output_surface.h"
10 #include "cc/output/output_surface_client.h" 9 #include "cc/output/output_surface_client.h"
11 #include "cc/output/overlay_candidate_validator.h" 10 #include "cc/output/overlay_candidate_validator.h"
12 #include "cc/output/overlay_processor.h" 11 #include "cc/output/overlay_processor.h"
13 #include "cc/output/overlay_strategy_all_or_nothing.h" 12 #include "cc/output/overlay_strategy_all_or_nothing.h"
14 #include "cc/output/overlay_strategy_sandwich.h" 13 #include "cc/output/overlay_strategy_sandwich.h"
15 #include "cc/output/overlay_strategy_single_on_top.h" 14 #include "cc/output/overlay_strategy_single_on_top.h"
16 #include "cc/output/overlay_strategy_underlay.h" 15 #include "cc/output/overlay_strategy_underlay.h"
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
307 const SharedQuadState* shared_quad_state, 306 const SharedQuadState* shared_quad_state,
308 RenderPass* render_pass) { 307 RenderPass* render_pass) {
309 CreateOpaqueQuadAt(resource_provider, shared_quad_state, render_pass, 308 CreateOpaqueQuadAt(resource_provider, shared_quad_state, render_pass,
310 kOverlayRect); 309 kOverlayRect);
311 } 310 }
312 311
313 static void CompareRenderPassLists(const RenderPassList& expected_list, 312 static void CompareRenderPassLists(const RenderPassList& expected_list,
314 const RenderPassList& actual_list) { 313 const RenderPassList& actual_list) {
315 EXPECT_EQ(expected_list.size(), actual_list.size()); 314 EXPECT_EQ(expected_list.size(), actual_list.size());
316 for (size_t i = 0; i < actual_list.size(); ++i) { 315 for (size_t i = 0; i < actual_list.size(); ++i) {
317 RenderPass* expected = expected_list[i]; 316 RenderPass* expected = expected_list[i].get();
318 RenderPass* actual = actual_list[i]; 317 RenderPass* actual = actual_list[i].get();
319 318
320 EXPECT_EQ(expected->id, actual->id); 319 EXPECT_EQ(expected->id, actual->id);
321 EXPECT_EQ(expected->output_rect, actual->output_rect); 320 EXPECT_EQ(expected->output_rect, actual->output_rect);
322 EXPECT_EQ(expected->transform_to_root_target, 321 EXPECT_EQ(expected->transform_to_root_target,
323 actual->transform_to_root_target); 322 actual->transform_to_root_target);
324 EXPECT_EQ(expected->damage_rect, actual->damage_rect); 323 EXPECT_EQ(expected->damage_rect, actual->damage_rect);
325 EXPECT_EQ(expected->has_transparent_background, 324 EXPECT_EQ(expected->has_transparent_background,
326 actual->has_transparent_background); 325 actual->has_transparent_background);
327 326
328 EXPECT_EQ(expected->shared_quad_state_list.size(), 327 EXPECT_EQ(expected->shared_quad_state_list.size(),
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
416 pass_list.push_back(pass.Pass()); 415 pass_list.push_back(pass.Pass());
417 416
418 // Check for potential candidates. 417 // Check for potential candidates.
419 OverlayCandidateList candidate_list; 418 OverlayCandidateList candidate_list;
420 overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, 419 overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
421 &candidate_list, &damage_rect_); 420 &candidate_list, &damage_rect_);
422 421
423 ASSERT_EQ(1U, pass_list.size()); 422 ASSERT_EQ(1U, pass_list.size());
424 ASSERT_EQ(1U, candidate_list.size()); 423 ASSERT_EQ(1U, candidate_list.size());
425 424
426 RenderPass* main_pass = pass_list.back(); 425 RenderPass* main_pass = pass_list.back().get();
427 // Check that the quad is gone. 426 // Check that the quad is gone.
428 EXPECT_EQ(2U, main_pass->quad_list.size()); 427 EXPECT_EQ(2U, main_pass->quad_list.size());
429 const QuadList& quad_list = main_pass->quad_list; 428 const QuadList& quad_list = main_pass->quad_list;
430 for (QuadList::ConstBackToFrontIterator it = quad_list.BackToFrontBegin(); 429 for (QuadList::ConstBackToFrontIterator it = quad_list.BackToFrontBegin();
431 it != quad_list.BackToFrontEnd(); ++it) { 430 it != quad_list.BackToFrontEnd(); ++it) {
432 EXPECT_NE(DrawQuad::TEXTURE_CONTENT, it->material); 431 EXPECT_NE(DrawQuad::TEXTURE_CONTENT, it->material);
433 } 432 }
434 433
435 // Check that the right resource id got extracted. 434 // Check that the right resource id got extracted.
436 EXPECT_EQ(original_resource_id, candidate_list.back().resource_id); 435 EXPECT_EQ(original_resource_id, candidate_list.back().resource_id);
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
555 RenderPassList pass_list; 554 RenderPassList pass_list;
556 pass_list.push_back(pass.Pass()); 555 pass_list.push_back(pass.Pass());
557 556
558 // Check for potential candidates. 557 // Check for potential candidates.
559 OverlayCandidateList candidate_list; 558 OverlayCandidateList candidate_list;
560 overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, 559 overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
561 &candidate_list, &damage_rect_); 560 &candidate_list, &damage_rect_);
562 ASSERT_EQ(1U, pass_list.size()); 561 ASSERT_EQ(1U, pass_list.size());
563 ASSERT_EQ(2U, candidate_list.size()); 562 ASSERT_EQ(2U, candidate_list.size());
564 563
565 RenderPass* main_pass = pass_list.back(); 564 RenderPass* main_pass = pass_list.back().get();
566 // Check that the quad is gone. 565 // Check that the quad is gone.
567 EXPECT_EQ(3U, main_pass->quad_list.size()); 566 EXPECT_EQ(3U, main_pass->quad_list.size());
568 const QuadList& quad_list = main_pass->quad_list; 567 const QuadList& quad_list = main_pass->quad_list;
569 for (QuadList::ConstBackToFrontIterator it = quad_list.BackToFrontBegin(); 568 for (QuadList::ConstBackToFrontIterator it = quad_list.BackToFrontBegin();
570 it != quad_list.BackToFrontEnd(); ++it) { 569 it != quad_list.BackToFrontEnd(); ++it) {
571 EXPECT_NE(DrawQuad::TEXTURE_CONTENT, it->material); 570 EXPECT_NE(DrawQuad::TEXTURE_CONTENT, it->material);
572 } 571 }
573 572
574 EXPECT_EQ(candidate_id, candidate_list[0].resource_id); 573 EXPECT_EQ(candidate_id, candidate_list[0].resource_id);
575 EXPECT_EQ(gfx::RectF(32.f, 32.f, 32.f, 32.f), candidate_list[0].display_rect); 574 EXPECT_EQ(gfx::RectF(32.f, 32.f, 32.f, 32.f), candidate_list[0].display_rect);
(...skipping 26 matching lines...) Expand all
602 601
603 // Then some opaque background. 602 // Then some opaque background.
604 CreateOpaqueQuadAt(resource_provider_.get(), 603 CreateOpaqueQuadAt(resource_provider_.get(),
605 pass->shared_quad_state_list.back(), pass.get(), 604 pass->shared_quad_state_list.back(), pass.get(),
606 gfx::Rect(kDisplaySize)); 605 gfx::Rect(kDisplaySize));
607 606
608 RenderPassList pass_list; 607 RenderPassList pass_list;
609 pass_list.push_back(pass.Pass()); 608 pass_list.push_back(pass.Pass());
610 609
611 // Run the overlay strategy on that input. 610 // Run the overlay strategy on that input.
612 RenderPass* main_pass = pass_list.back(); 611 RenderPass* main_pass = pass_list.back().get();
613 OverlayCandidateList candidate_list; 612 OverlayCandidateList candidate_list;
614 EXPECT_EQ(4U, main_pass->quad_list.size()); 613 EXPECT_EQ(4U, main_pass->quad_list.size());
615 overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, 614 overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
616 &candidate_list, &damage_rect_); 615 &candidate_list, &damage_rect_);
617 ASSERT_EQ(1U, pass_list.size()); 616 ASSERT_EQ(1U, pass_list.size());
618 ASSERT_EQ(3U, candidate_list.size()); 617 ASSERT_EQ(3U, candidate_list.size());
619 618
620 // Check that the candidate quad is gone and that we now have two transparent 619 // Check that the candidate quad is gone and that we now have two transparent
621 // quads for the same region that was covered on the overlay. 620 // quads for the same region that was covered on the overlay.
622 EXPECT_EQ(5U, main_pass->quad_list.size()); 621 EXPECT_EQ(5U, main_pass->quad_list.size());
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
696 pass_list.push_back(pass.Pass()); 695 pass_list.push_back(pass.Pass());
697 696
698 // Check for potential candidates. 697 // Check for potential candidates.
699 OverlayCandidateList candidate_list; 698 OverlayCandidateList candidate_list;
700 overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, 699 overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
701 &candidate_list, &damage_rect_); 700 &candidate_list, &damage_rect_);
702 701
703 ASSERT_EQ(1U, pass_list.size()); 702 ASSERT_EQ(1U, pass_list.size());
704 ASSERT_EQ(1U, candidate_list.size()); 703 ASSERT_EQ(1U, candidate_list.size());
705 704
706 RenderPass* main_pass = pass_list.back(); 705 RenderPass* main_pass = pass_list.back().get();
707 // Check that the quad is gone. 706 // Check that the quad is gone.
708 EXPECT_EQ(2U, main_pass->quad_list.size()); 707 EXPECT_EQ(2U, main_pass->quad_list.size());
709 const QuadList& quad_list = main_pass->quad_list; 708 const QuadList& quad_list = main_pass->quad_list;
710 for (QuadList::ConstBackToFrontIterator it = quad_list.BackToFrontBegin(); 709 for (QuadList::ConstBackToFrontIterator it = quad_list.BackToFrontBegin();
711 it != quad_list.BackToFrontEnd(); 710 it != quad_list.BackToFrontEnd();
712 ++it) { 711 ++it) {
713 EXPECT_NE(DrawQuad::TEXTURE_CONTENT, it->material); 712 EXPECT_NE(DrawQuad::TEXTURE_CONTENT, it->material);
714 } 713 }
715 714
716 // Check that the right resource id got extracted. 715 // Check that the right resource id got extracted.
(...skipping 1042 matching lines...) Expand 10 before | Expand all | Expand 10 after
1759 renderer_->BeginDrawingFrame(&frame_no_overlays); 1758 renderer_->BeginDrawingFrame(&frame_no_overlays);
1760 renderer_->FinishDrawingFrame(&frame_no_overlays); 1759 renderer_->FinishDrawingFrame(&frame_no_overlays);
1761 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1)); 1760 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1));
1762 SwapBuffers(); 1761 SwapBuffers();
1763 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource1)); 1762 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource1));
1764 Mock::VerifyAndClearExpectations(&scheduler_); 1763 Mock::VerifyAndClearExpectations(&scheduler_);
1765 } 1764 }
1766 1765
1767 } // namespace 1766 } // namespace
1768 } // namespace cc 1767 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698