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

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

Issue 669233003: Re-land: cc: Make Overlay unit tests work when sync query extension is available. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 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
« cc/output/gl_renderer.cc ('K') | « cc/output/gl_renderer.cc ('k') | no next file » | 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 "cc/base/scoped_ptr_vector.h" 5 #include "cc/base/scoped_ptr_vector.h"
6 #include "cc/output/gl_renderer.h" 6 #include "cc/output/gl_renderer.h"
7 #include "cc/output/output_surface.h" 7 #include "cc/output/output_surface.h"
8 #include "cc/output/output_surface_client.h" 8 #include "cc/output/output_surface_client.h"
9 #include "cc/output/overlay_candidate_validator.h" 9 #include "cc/output/overlay_candidate_validator.h"
10 #include "cc/output/overlay_processor.h" 10 #include "cc/output/overlay_processor.h"
(...skipping 519 matching lines...) Expand 10 before | Expand all | Expand 10 after
530 : GLRenderer(client, 530 : GLRenderer(client,
531 settings, 531 settings,
532 output_surface, 532 output_surface,
533 resource_provider, 533 resource_provider,
534 NULL, 534 NULL,
535 0), 535 0),
536 expect_overlays_(false) {} 536 expect_overlays_(false) {}
537 537
538 MOCK_METHOD2(DoDrawQuad, void(DrawingFrame* frame, const DrawQuad* quad)); 538 MOCK_METHOD2(DoDrawQuad, void(DrawingFrame* frame, const DrawQuad* quad));
539 539
540 virtual void BeginDrawingFrame(DrawingFrame* frame) override {
danakj 2014/10/29 15:18:26 using GLRenderer::BeginDrawingFrame instead.
reveman 2014/10/29 16:14:52 Sure.
541 GLRenderer::BeginDrawingFrame(frame);
542 }
543
540 virtual void FinishDrawingFrame(DrawingFrame* frame) override { 544 virtual void FinishDrawingFrame(DrawingFrame* frame) override {
541 GLRenderer::FinishDrawingFrame(frame); 545 GLRenderer::FinishDrawingFrame(frame);
542 546
543 if (!expect_overlays_) { 547 if (!expect_overlays_) {
544 EXPECT_EQ(0U, frame->overlay_list.size()); 548 EXPECT_EQ(0U, frame->overlay_list.size());
545 return; 549 return;
546 } 550 }
547 551
548 ASSERT_EQ(2U, frame->overlay_list.size()); 552 ASSERT_EQ(2U, frame->overlay_list.size());
549 EXPECT_NE(0U, frame->overlay_list.back().resource_id); 553 EXPECT_NE(0U, frame->overlay_list.back().resource_id);
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
730 overlay1.resource_id = resource1; 734 overlay1.resource_id = resource1;
731 overlay1.plane_z_order = 1; 735 overlay1.plane_z_order = 1;
732 736
733 DirectRenderer::DrawingFrame frame2; 737 DirectRenderer::DrawingFrame frame2;
734 frame2.overlay_list.resize(2); 738 frame2.overlay_list.resize(2);
735 OverlayCandidate& overlay2 = frame2.overlay_list.back(); 739 OverlayCandidate& overlay2 = frame2.overlay_list.back();
736 overlay2.resource_id = resource2; 740 overlay2.resource_id = resource2;
737 overlay2.plane_z_order = 1; 741 overlay2.plane_z_order = 1;
738 742
739 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(1); 743 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(1);
744 renderer_->BeginDrawingFrame(&frame1);
740 renderer_->FinishDrawingFrame(&frame1); 745 renderer_->FinishDrawingFrame(&frame1);
741 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1)); 746 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1));
742 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource2)); 747 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource2));
743 SwapBuffers(); 748 SwapBuffers();
744 Mock::VerifyAndClearExpectations(&scheduler_); 749 Mock::VerifyAndClearExpectations(&scheduler_);
745 750
746 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(1); 751 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(1);
752 renderer_->BeginDrawingFrame(&frame2);
747 renderer_->FinishDrawingFrame(&frame2); 753 renderer_->FinishDrawingFrame(&frame2);
748 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1)); 754 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1));
749 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource2)); 755 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource2));
750 SwapBuffers(); 756 SwapBuffers();
751 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource1)); 757 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource1));
752 Mock::VerifyAndClearExpectations(&scheduler_); 758 Mock::VerifyAndClearExpectations(&scheduler_);
753 759
754 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(1); 760 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(1);
761 renderer_->BeginDrawingFrame(&frame1);
755 renderer_->FinishDrawingFrame(&frame1); 762 renderer_->FinishDrawingFrame(&frame1);
756 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1)); 763 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1));
757 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource2)); 764 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource2));
758 SwapBuffers(); 765 SwapBuffers();
759 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource2)); 766 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource2));
760 Mock::VerifyAndClearExpectations(&scheduler_); 767 Mock::VerifyAndClearExpectations(&scheduler_);
761 768
762 // No overlays, release the resource. 769 // No overlays, release the resource.
763 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(0); 770 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(0);
764 DirectRenderer::DrawingFrame frame3; 771 DirectRenderer::DrawingFrame frame3;
765 renderer_->set_expect_overlays(false); 772 renderer_->set_expect_overlays(false);
773 renderer_->BeginDrawingFrame(&frame3);
766 renderer_->FinishDrawingFrame(&frame3); 774 renderer_->FinishDrawingFrame(&frame3);
767 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1)); 775 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1));
768 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource2)); 776 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource2));
769 SwapBuffers(); 777 SwapBuffers();
770 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource1)); 778 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource1));
771 Mock::VerifyAndClearExpectations(&scheduler_); 779 Mock::VerifyAndClearExpectations(&scheduler_);
772 780
773 // Use the same buffer twice. 781 // Use the same buffer twice.
774 renderer_->set_expect_overlays(true); 782 renderer_->set_expect_overlays(true);
775 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(1); 783 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(1);
784 renderer_->BeginDrawingFrame(&frame1);
776 renderer_->FinishDrawingFrame(&frame1); 785 renderer_->FinishDrawingFrame(&frame1);
777 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1)); 786 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1));
778 SwapBuffers(); 787 SwapBuffers();
779 Mock::VerifyAndClearExpectations(&scheduler_); 788 Mock::VerifyAndClearExpectations(&scheduler_);
780 789
781 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(1); 790 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(1);
791 renderer_->BeginDrawingFrame(&frame1);
782 renderer_->FinishDrawingFrame(&frame1); 792 renderer_->FinishDrawingFrame(&frame1);
783 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1)); 793 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1));
784 SwapBuffers(); 794 SwapBuffers();
785 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1)); 795 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1));
786 Mock::VerifyAndClearExpectations(&scheduler_); 796 Mock::VerifyAndClearExpectations(&scheduler_);
787 797
788 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(0); 798 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(0);
789 renderer_->set_expect_overlays(false); 799 renderer_->set_expect_overlays(false);
800 renderer_->BeginDrawingFrame(&frame3);
790 renderer_->FinishDrawingFrame(&frame3); 801 renderer_->FinishDrawingFrame(&frame3);
791 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1)); 802 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1));
792 SwapBuffers(); 803 SwapBuffers();
793 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource1)); 804 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource1));
794 Mock::VerifyAndClearExpectations(&scheduler_); 805 Mock::VerifyAndClearExpectations(&scheduler_);
795 } 806 }
796 807
797 } // namespace 808 } // namespace
798 } // namespace cc 809 } // namespace cc
OLDNEW
« cc/output/gl_renderer.cc ('K') | « cc/output/gl_renderer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698