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

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

Issue 2845193003: cc: Don't subtract transparent overlay from damage. (Closed)
Patch Set: Created 3 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 | « cc/output/overlay_processor.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 <stddef.h> 5 #include <stddef.h>
6 6
7 #include <utility> 7 #include <utility>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
(...skipping 738 matching lines...) Expand 10 before | Expand all | Expand 10 after
749 output_surface_plane.use_output_surface_for_resource = true; 749 output_surface_plane.use_output_surface_for_resource = true;
750 output_surface_plane.overlay_handled = true; 750 output_surface_plane.overlay_handled = true;
751 candidate_list.push_back(output_surface_plane); 751 candidate_list.push_back(output_surface_plane);
752 752
753 RenderPassFilterList render_pass_filters; 753 RenderPassFilterList render_pass_filters;
754 RenderPassFilterList render_pass_background_filters; 754 RenderPassFilterList render_pass_background_filters;
755 overlay_processor_->ProcessForOverlays( 755 overlay_processor_->ProcessForOverlays(
756 resource_provider_.get(), pass.get(), render_pass_filters, 756 resource_provider_.get(), pass.get(), render_pass_filters,
757 render_pass_background_filters, &candidate_list, nullptr, nullptr, 757 render_pass_background_filters, &candidate_list, nullptr, nullptr,
758 &damage_rect_, &content_bounds_); 758 &damage_rect_, &content_bounds_);
759 DCHECK(damage_rect_.IsEmpty()); 759 EXPECT_TRUE(damage_rect_.IsEmpty());
760 } 760 }
761 761
762 TEST_F(SingleOverlayOnTopTest, NoCandidates) { 762 TEST_F(SingleOverlayOnTopTest, NoCandidates) {
763 std::unique_ptr<RenderPass> pass = CreateRenderPass(); 763 std::unique_ptr<RenderPass> pass = CreateRenderPass();
764 CreateFullscreenOpaqueQuad(resource_provider_.get(), 764 CreateFullscreenOpaqueQuad(resource_provider_.get(),
765 pass->shared_quad_state_list.back(), pass.get()); 765 pass->shared_quad_state_list.back(), pass.get());
766 CreateFullscreenOpaqueQuad(resource_provider_.get(), 766 CreateFullscreenOpaqueQuad(resource_provider_.get(),
767 pass->shared_quad_state_list.back(), pass.get()); 767 pass->shared_quad_state_list.back(), pass.get());
768 768
769 RenderPassList pass_list; 769 RenderPassList pass_list;
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
842 TextureDrawQuad* quad = 842 TextureDrawQuad* quad =
843 CreateFullscreenCandidateQuad(resource_provider_.get(), 843 CreateFullscreenCandidateQuad(resource_provider_.get(),
844 pass->shared_quad_state_list.back(), 844 pass->shared_quad_state_list.back(),
845 pass.get()); 845 pass.get());
846 quad->needs_blending = true; 846 quad->needs_blending = true;
847 quad->opaque_rect = gfx::Rect(0, 0, 0, 0); 847 quad->opaque_rect = gfx::Rect(0, 0, 0, 0);
848 848
849 OverlayCandidateList candidate_list; 849 OverlayCandidateList candidate_list;
850 RenderPassFilterList render_pass_filters; 850 RenderPassFilterList render_pass_filters;
851 RenderPassFilterList render_pass_background_filters; 851 RenderPassFilterList render_pass_background_filters;
852 damage_rect_ = quad->rect;
852 overlay_processor_->ProcessForOverlays( 853 overlay_processor_->ProcessForOverlays(
853 resource_provider_.get(), pass.get(), render_pass_filters, 854 resource_provider_.get(), pass.get(), render_pass_filters,
854 render_pass_background_filters, &candidate_list, nullptr, nullptr, 855 render_pass_background_filters, &candidate_list, nullptr, nullptr,
855 &damage_rect_, &content_bounds_); 856 &damage_rect_, &content_bounds_);
856 EXPECT_EQ(1U, candidate_list.size()); 857 EXPECT_EQ(1U, candidate_list.size());
858 EXPECT_FALSE(damage_rect_.IsEmpty());
857 } 859 }
858 860
859 TEST_F(SingleOverlayOnTopTest, RejectBackgroundColor) { 861 TEST_F(SingleOverlayOnTopTest, RejectBackgroundColor) {
860 std::unique_ptr<RenderPass> pass = CreateRenderPass(); 862 std::unique_ptr<RenderPass> pass = CreateRenderPass();
861 TextureDrawQuad* quad = 863 TextureDrawQuad* quad =
862 CreateFullscreenCandidateQuad(resource_provider_.get(), 864 CreateFullscreenCandidateQuad(resource_provider_.get(),
863 pass->shared_quad_state_list.back(), 865 pass->shared_quad_state_list.back(),
864 pass.get()); 866 pass.get());
865 quad->background_color = SK_ColorBLACK; 867 quad->background_color = SK_ColorBLACK;
866 868
(...skipping 1732 matching lines...) Expand 10 before | Expand all | Expand 10 after
2599 kOverlayRect, render_pass_id_, 2, gfx::RectF(), gfx::Size(), 2601 kOverlayRect, render_pass_id_, 2, gfx::RectF(), gfx::Size(),
2600 gfx::Vector2dF(1, 1), gfx::PointF(), gfx::RectF()); 2602 gfx::Vector2dF(1, 1), gfx::PointF(), gfx::RectF());
2601 } 2603 }
2602 2604
2603 ProcessForOverlays(); 2605 ProcessForOverlays();
2604 EXPECT_EQ(0U, ca_layer_list_.size()); 2606 EXPECT_EQ(0U, ca_layer_list_.size());
2605 } 2607 }
2606 2608
2607 } // namespace 2609 } // namespace
2608 } // namespace cc 2610 } // namespace cc
OLDNEW
« no previous file with comments | « cc/output/overlay_processor.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698