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

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

Issue 2842383003: cc: Don't subtract transparent overlay from damage. (Closed)
Patch Set: Created 3 years, 8 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/containers/flat_map.h" 10 #include "base/containers/flat_map.h"
(...skipping 739 matching lines...) Expand 10 before | Expand all | Expand 10 after
750 output_surface_plane.use_output_surface_for_resource = true; 750 output_surface_plane.use_output_surface_for_resource = true;
751 output_surface_plane.overlay_handled = true; 751 output_surface_plane.overlay_handled = true;
752 candidate_list.push_back(output_surface_plane); 752 candidate_list.push_back(output_surface_plane);
753 753
754 base::flat_map<int, FilterOperations*> render_pass_filters; 754 base::flat_map<int, FilterOperations*> render_pass_filters;
755 base::flat_map<int, FilterOperations*> render_pass_background_filters; 755 base::flat_map<int, FilterOperations*> render_pass_background_filters;
756 overlay_processor_->ProcessForOverlays( 756 overlay_processor_->ProcessForOverlays(
757 resource_provider_.get(), pass.get(), render_pass_filters, 757 resource_provider_.get(), pass.get(), render_pass_filters,
758 render_pass_background_filters, &candidate_list, nullptr, nullptr, 758 render_pass_background_filters, &candidate_list, nullptr, nullptr,
759 &damage_rect_, &content_bounds_); 759 &damage_rect_, &content_bounds_);
760 DCHECK(damage_rect_.IsEmpty()); 760 EXPECT_TRUE(damage_rect_.IsEmpty());
761 } 761 }
762 762
763 TEST_F(SingleOverlayOnTopTest, NoCandidates) { 763 TEST_F(SingleOverlayOnTopTest, NoCandidates) {
764 std::unique_ptr<RenderPass> pass = CreateRenderPass(); 764 std::unique_ptr<RenderPass> pass = CreateRenderPass();
765 CreateFullscreenOpaqueQuad(resource_provider_.get(), 765 CreateFullscreenOpaqueQuad(resource_provider_.get(),
766 pass->shared_quad_state_list.back(), pass.get()); 766 pass->shared_quad_state_list.back(), pass.get());
767 CreateFullscreenOpaqueQuad(resource_provider_.get(), 767 CreateFullscreenOpaqueQuad(resource_provider_.get(),
768 pass->shared_quad_state_list.back(), pass.get()); 768 pass->shared_quad_state_list.back(), pass.get());
769 769
770 RenderPassList pass_list; 770 RenderPassList pass_list;
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
843 TextureDrawQuad* quad = 843 TextureDrawQuad* quad =
844 CreateFullscreenCandidateQuad(resource_provider_.get(), 844 CreateFullscreenCandidateQuad(resource_provider_.get(),
845 pass->shared_quad_state_list.back(), 845 pass->shared_quad_state_list.back(),
846 pass.get()); 846 pass.get());
847 quad->needs_blending = true; 847 quad->needs_blending = true;
848 quad->opaque_rect = gfx::Rect(0, 0, 0, 0); 848 quad->opaque_rect = gfx::Rect(0, 0, 0, 0);
849 849
850 OverlayCandidateList candidate_list; 850 OverlayCandidateList candidate_list;
851 base::flat_map<int, FilterOperations*> render_pass_filters; 851 base::flat_map<int, FilterOperations*> render_pass_filters;
852 base::flat_map<int, FilterOperations*> render_pass_background_filters; 852 base::flat_map<int, FilterOperations*> render_pass_background_filters;
853 damage_rect_ = quad->rect;
853 overlay_processor_->ProcessForOverlays( 854 overlay_processor_->ProcessForOverlays(
854 resource_provider_.get(), pass.get(), render_pass_filters, 855 resource_provider_.get(), pass.get(), render_pass_filters,
855 render_pass_background_filters, &candidate_list, nullptr, nullptr, 856 render_pass_background_filters, &candidate_list, nullptr, nullptr,
856 &damage_rect_, &content_bounds_); 857 &damage_rect_, &content_bounds_);
857 EXPECT_EQ(1U, candidate_list.size()); 858 EXPECT_EQ(1U, candidate_list.size());
859 EXPECT_FALSE(damage_rect_.IsEmpty());
858 } 860 }
859 861
860 TEST_F(SingleOverlayOnTopTest, RejectBackgroundColor) { 862 TEST_F(SingleOverlayOnTopTest, RejectBackgroundColor) {
861 std::unique_ptr<RenderPass> pass = CreateRenderPass(); 863 std::unique_ptr<RenderPass> pass = CreateRenderPass();
862 TextureDrawQuad* quad = 864 TextureDrawQuad* quad =
863 CreateFullscreenCandidateQuad(resource_provider_.get(), 865 CreateFullscreenCandidateQuad(resource_provider_.get(),
864 pass->shared_quad_state_list.back(), 866 pass->shared_quad_state_list.back(),
865 pass.get()); 867 pass.get());
866 quad->background_color = SK_ColorBLACK; 868 quad->background_color = SK_ColorBLACK;
867 869
(...skipping 1731 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