OLD | NEW |
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 | 8 |
9 #include "base/memory/ptr_util.h" | 9 #include "base/memory/ptr_util.h" |
10 #include "cc/base/region.h" | 10 #include "cc/base/region.h" |
(...skipping 474 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
485 overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), | 485 overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
486 &candidate_list, nullptr, | 486 &candidate_list, nullptr, |
487 &damage_rect_); | 487 &damage_rect_); |
488 ASSERT_EQ(0U, candidate_list.size()); | 488 ASSERT_EQ(0U, candidate_list.size()); |
489 | 489 |
490 RenderPass* main_pass = pass.get(); | 490 RenderPass* main_pass = pass.get(); |
491 // Check that the quad is not gone. | 491 // Check that the quad is not gone. |
492 EXPECT_EQ(1U, main_pass->quad_list.size()); | 492 EXPECT_EQ(1U, main_pass->quad_list.size()); |
493 } | 493 } |
494 | 494 |
| 495 TEST_F(FullscreenOverlayTest, RemoveFullscreenQuadFromQuadList) { |
| 496 std::unique_ptr<RenderPass> pass = CreateRenderPass(); |
| 497 |
| 498 // Add something in front of it that is fully transparent. |
| 499 pass->shared_quad_state_list.back()->opacity = 0.0f; |
| 500 CreateOpaqueQuadAt(resource_provider_.get(), |
| 501 pass->shared_quad_state_list.back(), pass.get(), |
| 502 kOverlayTopLeftRect); |
| 503 |
| 504 SharedQuadState* shared_state = pass->CreateAndAppendSharedQuadState(); |
| 505 shared_state->opacity = 1.f; |
| 506 CreateFullscreenCandidateQuad(resource_provider_.get(), |
| 507 pass->shared_quad_state_list.back(), |
| 508 pass.get()); |
| 509 |
| 510 // Check for potential candidates. |
| 511 OverlayCandidateList candidate_list; |
| 512 overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| 513 &candidate_list, nullptr, |
| 514 &damage_rect_); |
| 515 ASSERT_EQ(1U, candidate_list.size()); |
| 516 |
| 517 // Check that the fullscreen quad is gone. |
| 518 for (const DrawQuad* quad : pass->quad_list) { |
| 519 EXPECT_NE(pass->output_rect, quad->rect); |
| 520 } |
| 521 } |
| 522 |
495 TEST_F(SingleOverlayOnTopTest, SuccessfulOverlay) { | 523 TEST_F(SingleOverlayOnTopTest, SuccessfulOverlay) { |
496 std::unique_ptr<RenderPass> pass = CreateRenderPass(); | 524 std::unique_ptr<RenderPass> pass = CreateRenderPass(); |
497 TextureDrawQuad* original_quad = | 525 TextureDrawQuad* original_quad = |
498 CreateFullscreenCandidateQuad(resource_provider_.get(), | 526 CreateFullscreenCandidateQuad(resource_provider_.get(), |
499 pass->shared_quad_state_list.back(), | 527 pass->shared_quad_state_list.back(), |
500 pass.get()); | 528 pass.get()); |
501 unsigned original_resource_id = original_quad->resource_id(); | 529 unsigned original_resource_id = original_quad->resource_id(); |
502 | 530 |
503 // Add something behind it. | 531 // Add something behind it. |
504 CreateFullscreenOpaqueQuad(resource_provider_.get(), | 532 CreateFullscreenOpaqueQuad(resource_provider_.get(), |
(...skipping 1337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1842 filters_.Append(FilterOperation::CreateZoomFilter(0.9f, 1)); | 1870 filters_.Append(FilterOperation::CreateZoomFilter(0.9f, 1)); |
1843 quad_->SetNew(pass_->shared_quad_state_list.back(), kOverlayRect, | 1871 quad_->SetNew(pass_->shared_quad_state_list.back(), kOverlayRect, |
1844 kOverlayRect, render_pass_id_, 0, gfx::Vector2dF(), gfx::Size(), | 1872 kOverlayRect, render_pass_id_, 0, gfx::Vector2dF(), gfx::Size(), |
1845 filters_, gfx::Vector2dF(1, 1), background_filters_); | 1873 filters_, gfx::Vector2dF(1, 1), background_filters_); |
1846 ProcessForOverlays(); | 1874 ProcessForOverlays(); |
1847 EXPECT_EQ(0U, ca_layer_list_.size()); | 1875 EXPECT_EQ(0U, ca_layer_list_.size()); |
1848 } | 1876 } |
1849 | 1877 |
1850 } // namespace | 1878 } // namespace |
1851 } // namespace cc | 1879 } // namespace cc |
OLD | NEW |