diff options
Diffstat (limited to 'chromium/cc/layers/video_layer_impl_unittest.cc')
-rw-r--r-- | chromium/cc/layers/video_layer_impl_unittest.cc | 99 |
1 files changed, 53 insertions, 46 deletions
diff --git a/chromium/cc/layers/video_layer_impl_unittest.cc b/chromium/cc/layers/video_layer_impl_unittest.cc index a84a559f445..8a22f392e56 100644 --- a/chromium/cc/layers/video_layer_impl_unittest.cc +++ b/chromium/cc/layers/video_layer_impl_unittest.cc @@ -9,7 +9,7 @@ #include "base/bind_helpers.h" #include "cc/layers/video_frame_provider_client_impl.h" #include "cc/test/fake_video_frame_provider.h" -#include "cc/test/layer_test_common.h" +#include "cc/test/layer_tree_impl_test_base.h" #include "cc/trees/single_thread_proxy.h" #include "components/viz/common/gpu/context_provider.h" #include "components/viz/common/quads/draw_quad.h" @@ -38,7 +38,7 @@ TEST(VideoLayerImplTest, Occlusion) { gfx::Size layer_size(1000, 1000); gfx::Size viewport_size(1000, 1000); - LayerTestCommon::LayerImplTest impl; + LayerTreeImplTestBase impl; DebugSetImplThreadAndMainThreadBlocked(impl.task_runner_provider()); scoped_refptr<media::VideoFrame> video_frame = media::VideoFrame::CreateFrame( @@ -48,10 +48,11 @@ TEST(VideoLayerImplTest, Occlusion) { provider.set_frame(video_frame); VideoLayerImpl* video_layer_impl = - impl.AddChildToRoot<VideoLayerImpl>(&provider, media::VIDEO_ROTATION_0); + impl.AddLayer<VideoLayerImpl>(&provider, media::VIDEO_ROTATION_0); video_layer_impl->SetBounds(layer_size); video_layer_impl->SetDrawsContent(true); video_layer_impl->set_visible_layer_rect(gfx::Rect(layer_size)); + CopyProperties(impl.root_layer(), video_layer_impl); impl.CalcDrawProps(viewport_size); @@ -60,10 +61,9 @@ TEST(VideoLayerImplTest, Occlusion) { gfx::Rect occluded; impl.AppendQuadsWithOcclusion(video_layer_impl, occluded); - LayerTestCommon::VerifyQuadsExactlyCoverRect(impl.quad_list(), - gfx::Rect(layer_size)); + VerifyQuadsExactlyCoverRect(impl.quad_list(), gfx::Rect(layer_size)); - LayerTestCommon::VerifyQuadsExactlyCoverRect( + VerifyQuadsExactlyCoverRect( impl.quad_list(), impl.quad_list().cbegin()->shared_quad_state->visible_quad_layer_rect); EXPECT_EQ(1u, impl.quad_list().size()); @@ -74,7 +74,7 @@ TEST(VideoLayerImplTest, Occlusion) { gfx::Rect occluded(video_layer_impl->visible_layer_rect()); impl.AppendQuadsWithOcclusion(video_layer_impl, occluded); - LayerTestCommon::VerifyQuadsExactlyCoverRect(impl.quad_list(), gfx::Rect()); + VerifyQuadsExactlyCoverRect(impl.quad_list(), gfx::Rect()); EXPECT_EQ(impl.quad_list().size(), 0u); } @@ -84,9 +84,9 @@ TEST(VideoLayerImplTest, Occlusion) { impl.AppendQuadsWithOcclusion(video_layer_impl, occluded); size_t partially_occluded_count = 0; - LayerTestCommon::VerifyQuadsAreOccluded( - impl.quad_list(), occluded, &partially_occluded_count); - LayerTestCommon::VerifyQuadsExactlyCoverRect( + VerifyQuadsAreOccluded(impl.quad_list(), occluded, + &partially_occluded_count); + VerifyQuadsExactlyCoverRect( impl.quad_list(), impl.quad_list().cbegin()->shared_quad_state->visible_quad_layer_rect); // The layer outputs one quad, which is partially occluded. @@ -99,31 +99,26 @@ TEST(VideoLayerImplTest, OccludesOtherLayers) { gfx::Size layer_size(1000, 1000); gfx::Rect visible(layer_size); - LayerTestCommon::LayerImplTest impl; + LayerTreeImplTestBase impl; impl.host_impl()->active_tree()->SetDeviceViewportRect(visible); DebugSetImplThreadAndMainThreadBlocked(impl.task_runner_provider()); auto* active_tree = impl.host_impl()->active_tree(); // Create a video layer with no frame on top of another layer. - std::unique_ptr<LayerImpl> layer_impl = LayerImpl::Create(active_tree, 3); - layer_impl->test_properties()->force_render_surface = true; - layer_impl->SetBounds(layer_size); - layer_impl->SetDrawsContent(true); - const auto& draw_properties = layer_impl->draw_properties(); + LayerImpl* root = impl.root_layer(); + root->SetBounds(layer_size); + root->SetDrawsContent(true); + const auto& draw_properties = root->draw_properties(); FakeVideoFrameProvider provider; - std::unique_ptr<VideoLayerImpl> video_layer_impl = VideoLayerImpl::Create( - active_tree, 4, &provider, media::VIDEO_ROTATION_0); + VideoLayerImpl* video_layer_impl = + impl.AddLayer<VideoLayerImpl>(&provider, media::VIDEO_ROTATION_0); video_layer_impl->SetBounds(layer_size); video_layer_impl->SetDrawsContent(true); video_layer_impl->SetContentsOpaque(true); + CopyProperties(root, video_layer_impl); - layer_impl->test_properties()->AddChild(std::move(video_layer_impl)); - active_tree->SetRootLayerForTesting(std::move(layer_impl)); - - active_tree->BuildLayerListAndPropertyTreesForTesting(); - - active_tree->UpdateDrawProperties(); + impl.CalcDrawProps(layer_size); // We don't have a frame yet, so the video doesn't occlude the layer below it. EXPECT_FALSE(draw_properties.occlusion_in_content_space.IsOccluded(visible)); @@ -140,12 +135,13 @@ TEST(VideoLayerImplTest, OccludesOtherLayers) { } TEST(VideoLayerImplTest, DidBecomeActiveShouldSetActiveVideoLayer) { - LayerTestCommon::LayerImplTest impl; + LayerTreeImplTestBase impl; DebugSetImplThreadAndMainThreadBlocked(impl.task_runner_provider()); FakeVideoFrameProvider provider; VideoLayerImpl* video_layer_impl = - impl.AddChildToRoot<VideoLayerImpl>(&provider, media::VIDEO_ROTATION_0); + impl.AddLayer<VideoLayerImpl>(&provider, media::VIDEO_ROTATION_0); + CopyProperties(impl.root_layer(), video_layer_impl); VideoFrameProviderClientImpl* client = static_cast<VideoFrameProviderClientImpl*>(provider.client()); @@ -160,7 +156,7 @@ TEST(VideoLayerImplTest, Rotated0) { gfx::Size layer_size(100, 50); gfx::Size viewport_size(1000, 500); - LayerTestCommon::LayerImplTest impl; + LayerTreeImplTestBase impl; DebugSetImplThreadAndMainThreadBlocked(impl.task_runner_provider()); scoped_refptr<media::VideoFrame> video_frame = media::VideoFrame::CreateFrame( @@ -170,9 +166,10 @@ TEST(VideoLayerImplTest, Rotated0) { provider.set_frame(video_frame); VideoLayerImpl* video_layer_impl = - impl.AddChildToRoot<VideoLayerImpl>(&provider, media::VIDEO_ROTATION_0); + impl.AddLayer<VideoLayerImpl>(&provider, media::VIDEO_ROTATION_0); video_layer_impl->SetBounds(layer_size); video_layer_impl->SetDrawsContent(true); + CopyProperties(impl.root_layer(), video_layer_impl); impl.CalcDrawProps(viewport_size); gfx::Rect occluded; @@ -196,7 +193,7 @@ TEST(VideoLayerImplTest, Rotated90) { gfx::Size layer_size(100, 50); gfx::Size viewport_size(1000, 500); - LayerTestCommon::LayerImplTest impl; + LayerTreeImplTestBase impl; DebugSetImplThreadAndMainThreadBlocked(impl.task_runner_provider()); scoped_refptr<media::VideoFrame> video_frame = media::VideoFrame::CreateFrame( @@ -206,9 +203,10 @@ TEST(VideoLayerImplTest, Rotated90) { provider.set_frame(video_frame); VideoLayerImpl* video_layer_impl = - impl.AddChildToRoot<VideoLayerImpl>(&provider, media::VIDEO_ROTATION_90); + impl.AddLayer<VideoLayerImpl>(&provider, media::VIDEO_ROTATION_90); video_layer_impl->SetBounds(layer_size); video_layer_impl->SetDrawsContent(true); + CopyProperties(impl.root_layer(), video_layer_impl); impl.CalcDrawProps(viewport_size); gfx::Rect occluded; @@ -232,7 +230,7 @@ TEST(VideoLayerImplTest, Rotated180) { gfx::Size layer_size(100, 50); gfx::Size viewport_size(1000, 500); - LayerTestCommon::LayerImplTest impl; + LayerTreeImplTestBase impl; DebugSetImplThreadAndMainThreadBlocked(impl.task_runner_provider()); scoped_refptr<media::VideoFrame> video_frame = media::VideoFrame::CreateFrame( @@ -242,9 +240,10 @@ TEST(VideoLayerImplTest, Rotated180) { provider.set_frame(video_frame); VideoLayerImpl* video_layer_impl = - impl.AddChildToRoot<VideoLayerImpl>(&provider, media::VIDEO_ROTATION_180); + impl.AddLayer<VideoLayerImpl>(&provider, media::VIDEO_ROTATION_180); video_layer_impl->SetBounds(layer_size); video_layer_impl->SetDrawsContent(true); + CopyProperties(impl.root_layer(), video_layer_impl); impl.CalcDrawProps(viewport_size); gfx::Rect occluded; @@ -268,7 +267,7 @@ TEST(VideoLayerImplTest, Rotated270) { gfx::Size layer_size(100, 50); gfx::Size viewport_size(1000, 500); - LayerTestCommon::LayerImplTest impl; + LayerTreeImplTestBase impl; DebugSetImplThreadAndMainThreadBlocked(impl.task_runner_provider()); scoped_refptr<media::VideoFrame> video_frame = media::VideoFrame::CreateFrame( @@ -278,9 +277,10 @@ TEST(VideoLayerImplTest, Rotated270) { provider.set_frame(video_frame); VideoLayerImpl* video_layer_impl = - impl.AddChildToRoot<VideoLayerImpl>(&provider, media::VIDEO_ROTATION_270); + impl.AddLayer<VideoLayerImpl>(&provider, media::VIDEO_ROTATION_270); video_layer_impl->SetBounds(layer_size); video_layer_impl->SetDrawsContent(true); + CopyProperties(impl.root_layer(), video_layer_impl); impl.CalcDrawProps(viewport_size); gfx::Rect occluded; @@ -303,7 +303,7 @@ TEST(VideoLayerImplTest, Rotated270) { TEST(VideoLayerImplTest, SoftwareVideoFrameGeneratesYUVQuad) { gfx::Size layer_size(1000, 1000); - LayerTestCommon::LayerImplTest impl; + LayerTreeImplTestBase impl; DebugSetImplThreadAndMainThreadBlocked(impl.task_runner_provider()); gpu::MailboxHolder mailbox_holder; @@ -317,11 +317,13 @@ TEST(VideoLayerImplTest, SoftwareVideoFrameGeneratesYUVQuad) { provider.set_frame(video_frame); VideoLayerImpl* video_layer_impl = - impl.AddChildToRoot<VideoLayerImpl>(&provider, media::VIDEO_ROTATION_0); + impl.AddLayer<VideoLayerImpl>(&provider, media::VIDEO_ROTATION_0); video_layer_impl->SetBounds(layer_size); video_layer_impl->SetDrawsContent(true); video_layer_impl->set_visible_layer_rect(gfx::Rect(layer_size)); - impl.host_impl()->active_tree()->BuildLayerListAndPropertyTreesForTesting(); + CopyProperties(impl.root_layer(), video_layer_impl); + + impl.CalcDrawProps(layer_size); gfx::Rect occluded; impl.AppendQuadsWithOcclusion(video_layer_impl, occluded); @@ -341,7 +343,7 @@ TEST(VideoLayerImplTest, SoftwareVideoFrameGeneratesYUVQuad) { TEST(VideoLayerImplTest, HibitSoftwareVideoFrameGeneratesYUVQuad) { gfx::Size layer_size(1000, 1000); - LayerTestCommon::LayerImplTest impl; + LayerTreeImplTestBase impl; DebugSetImplThreadAndMainThreadBlocked(impl.task_runner_provider()); gpu::MailboxHolder mailbox_holder; @@ -355,11 +357,13 @@ TEST(VideoLayerImplTest, HibitSoftwareVideoFrameGeneratesYUVQuad) { provider.set_frame(video_frame); VideoLayerImpl* video_layer_impl = - impl.AddChildToRoot<VideoLayerImpl>(&provider, media::VIDEO_ROTATION_0); + impl.AddLayer<VideoLayerImpl>(&provider, media::VIDEO_ROTATION_0); video_layer_impl->SetBounds(layer_size); video_layer_impl->SetDrawsContent(true); video_layer_impl->set_visible_layer_rect(gfx::Rect(layer_size)); - impl.host_impl()->active_tree()->BuildLayerListAndPropertyTreesForTesting(); + CopyProperties(impl.root_layer(), video_layer_impl); + + impl.CalcDrawProps(layer_size); gfx::Rect occluded; impl.AppendQuadsWithOcclusion(video_layer_impl, occluded); @@ -377,7 +381,7 @@ TEST(VideoLayerImplTest, HibitSoftwareVideoFrameGeneratesYUVQuad) { TEST(VideoLayerImplTest, NativeYUVFrameGeneratesYUVQuad) { gfx::Size layer_size(1000, 1000); - LayerTestCommon::LayerImplTest impl; + LayerTreeImplTestBase impl; DebugSetImplThreadAndMainThreadBlocked(impl.task_runner_provider()); gpu::MailboxHolder mailbox_holders[media::VideoFrame::kMaxPlanes]; @@ -397,11 +401,12 @@ TEST(VideoLayerImplTest, NativeYUVFrameGeneratesYUVQuad) { provider.set_frame(video_frame); VideoLayerImpl* video_layer_impl = - impl.AddChildToRoot<VideoLayerImpl>(&provider, media::VIDEO_ROTATION_0); + impl.AddLayer<VideoLayerImpl>(&provider, media::VIDEO_ROTATION_0); video_layer_impl->SetBounds(layer_size); video_layer_impl->SetDrawsContent(true); video_layer_impl->set_visible_layer_rect(gfx::Rect(layer_size)); - impl.host_impl()->active_tree()->BuildLayerListAndPropertyTreesForTesting(); + CopyProperties(impl.root_layer(), video_layer_impl); + impl.CalcDrawProps(layer_size); gfx::Rect occluded; impl.AppendQuadsWithOcclusion(video_layer_impl, occluded); @@ -421,7 +426,7 @@ TEST(VideoLayerImplTest, NativeYUVFrameGeneratesYUVQuad) { TEST(VideoLayerImplTest, NativeARGBFrameGeneratesTextureQuad) { gfx::Size layer_size(1000, 1000); - LayerTestCommon::LayerImplTest impl; + LayerTreeImplTestBase impl; DebugSetImplThreadAndMainThreadBlocked(impl.task_runner_provider()); gpu::MailboxHolder mailbox_holders[media::VideoFrame::kMaxPlanes]; @@ -440,11 +445,13 @@ TEST(VideoLayerImplTest, NativeARGBFrameGeneratesTextureQuad) { provider.set_frame(video_frame); VideoLayerImpl* video_layer_impl = - impl.AddChildToRoot<VideoLayerImpl>(&provider, media::VIDEO_ROTATION_0); + impl.AddLayer<VideoLayerImpl>(&provider, media::VIDEO_ROTATION_0); video_layer_impl->SetBounds(layer_size); video_layer_impl->SetDrawsContent(true); video_layer_impl->set_visible_layer_rect(gfx::Rect(layer_size)); - impl.host_impl()->active_tree()->BuildLayerListAndPropertyTreesForTesting(); + CopyProperties(impl.root_layer(), video_layer_impl); + + impl.CalcDrawProps(layer_size); gfx::Rect occluded; impl.AppendQuadsWithOcclusion(video_layer_impl, occluded); |