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

Side by Side Diff: cc/trees/layer_tree_host_impl_unittest.cc

Issue 2171143002: cc: Get rid of non-delegated rendering in most cc unit tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@killdirecttests
Patch Set: fakeoutputsurface: no-constructor Created 4 years, 5 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/trees/layer_tree_host_common_unittest.cc ('k') | cc/trees/layer_tree_host_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 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/trees/layer_tree_host_impl.h" 5 #include "cc/trees/layer_tree_host_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <cmath> 10 #include <cmath>
(...skipping 555 matching lines...) Expand 10 before | Expand all | Expand 10 after
566 on_can_draw_state_changed_called_ = false; 566 on_can_draw_state_changed_called_ = false;
567 567
568 host_impl_->SetViewportSize(gfx::Size(100, 100)); 568 host_impl_->SetViewportSize(gfx::Size(100, 100));
569 EXPECT_TRUE(host_impl_->CanDraw()); 569 EXPECT_TRUE(host_impl_->CanDraw());
570 EXPECT_TRUE(on_can_draw_state_changed_called_); 570 EXPECT_TRUE(on_can_draw_state_changed_called_);
571 on_can_draw_state_changed_called_ = false; 571 on_can_draw_state_changed_called_ = false;
572 } 572 }
573 573
574 TEST_F(LayerTreeHostImplTest, ResourcelessDrawWithEmptyViewport) { 574 TEST_F(LayerTreeHostImplTest, ResourcelessDrawWithEmptyViewport) {
575 CreateHostImpl(DefaultSettings(), 575 CreateHostImpl(DefaultSettings(),
576 FakeOutputSurface::CreateDelegatingSoftware( 576 FakeOutputSurface::CreateDelegatingSoftware());
577 base::WrapUnique(new SoftwareOutputDevice())));
578 SetupScrollAndContentsLayers(gfx::Size(100, 100)); 577 SetupScrollAndContentsLayers(gfx::Size(100, 100));
579 host_impl_->active_tree()->BuildPropertyTreesForTesting(); 578 host_impl_->active_tree()->BuildPropertyTreesForTesting();
580 579
581 EXPECT_TRUE(host_impl_->CanDraw()); 580 EXPECT_TRUE(host_impl_->CanDraw());
582 host_impl_->SetViewportSize(gfx::Size()); 581 host_impl_->SetViewportSize(gfx::Size());
583 EXPECT_FALSE(host_impl_->CanDraw()); 582 EXPECT_FALSE(host_impl_->CanDraw());
584 583
585 FakeOutputSurface* fake_output_surface = 584 FakeOutputSurface* fake_output_surface =
586 static_cast<FakeOutputSurface*>(host_impl_->output_surface()); 585 static_cast<FakeOutputSurface*>(host_impl_->output_surface());
587 EXPECT_EQ(fake_output_surface->num_sent_frames(), 0u); 586 EXPECT_EQ(fake_output_surface->num_sent_frames(), 0u);
(...skipping 3205 matching lines...) Expand 10 before | Expand all | Expand 10 after
3793 EXPECT_EQ(testcase.expected_result, host_impl_->PrepareToDraw(&frame)); 3792 EXPECT_EQ(testcase.expected_result, host_impl_->PrepareToDraw(&frame));
3794 host_impl_->DrawLayers(&frame); 3793 host_impl_->DrawLayers(&frame);
3795 host_impl_->DidDrawAllLayers(frame); 3794 host_impl_->DidDrawAllLayers(frame);
3796 host_impl_->SwapBuffers(frame); 3795 host_impl_->SwapBuffers(frame);
3797 } 3796 }
3798 } 3797 }
3799 3798
3800 TEST_F(LayerTreeHostImplTest, 3799 TEST_F(LayerTreeHostImplTest,
3801 PrepareToDrawWhenDrawAndSwapFullViewportEveryFrame) { 3800 PrepareToDrawWhenDrawAndSwapFullViewportEveryFrame) {
3802 CreateHostImpl(DefaultSettings(), 3801 CreateHostImpl(DefaultSettings(),
3803 FakeOutputSurface::CreateDelegatingSoftware( 3802 FakeOutputSurface::CreateDelegatingSoftware());
3804 base::WrapUnique(new SoftwareOutputDevice())));
3805 3803
3806 const gfx::Transform external_transform; 3804 const gfx::Transform external_transform;
3807 const gfx::Rect external_viewport; 3805 const gfx::Rect external_viewport;
3808 const gfx::Rect external_clip; 3806 const gfx::Rect external_clip;
3809 const bool resourceless_software_draw = true; 3807 const bool resourceless_software_draw = true;
3810 host_impl_->SetExternalTilePriorityConstraints(external_viewport, 3808 host_impl_->SetExternalTilePriorityConstraints(external_viewport,
3811 external_transform); 3809 external_transform);
3812 3810
3813 std::vector<PrepareToDrawSuccessTestCase> cases; 3811 std::vector<PrepareToDrawSuccessTestCase> cases;
3814 3812
(...skipping 2937 matching lines...) Expand 10 before | Expand all | Expand 10 after
6752 } 6750 }
6753 6751
6754 class LayerTreeHostImplViewportCoveredTest : public LayerTreeHostImplTest { 6752 class LayerTreeHostImplViewportCoveredTest : public LayerTreeHostImplTest {
6755 protected: 6753 protected:
6756 LayerTreeHostImplViewportCoveredTest() : 6754 LayerTreeHostImplViewportCoveredTest() :
6757 gutter_quad_material_(DrawQuad::SOLID_COLOR), 6755 gutter_quad_material_(DrawQuad::SOLID_COLOR),
6758 child_(NULL), 6756 child_(NULL),
6759 did_activate_pending_tree_(false) {} 6757 did_activate_pending_tree_(false) {}
6760 6758
6761 std::unique_ptr<OutputSurface> CreateFakeOutputSurface(bool software) { 6759 std::unique_ptr<OutputSurface> CreateFakeOutputSurface(bool software) {
6762 if (software) { 6760 if (software)
6763 return FakeOutputSurface::CreateDelegatingSoftware( 6761 return FakeOutputSurface::CreateDelegatingSoftware();
6764 base::WrapUnique(new SoftwareOutputDevice()));
6765 }
6766 return FakeOutputSurface::CreateDelegating3d(); 6762 return FakeOutputSurface::CreateDelegating3d();
6767 } 6763 }
6768 6764
6769 void SetupActiveTreeLayers() { 6765 void SetupActiveTreeLayers() {
6770 host_impl_->active_tree()->set_background_color(SK_ColorGRAY); 6766 host_impl_->active_tree()->set_background_color(SK_ColorGRAY);
6771 host_impl_->active_tree()->SetRootLayerForTesting( 6767 host_impl_->active_tree()->SetRootLayerForTesting(
6772 LayerImpl::Create(host_impl_->active_tree(), 1)); 6768 LayerImpl::Create(host_impl_->active_tree(), 1));
6773 host_impl_->active_tree() 6769 host_impl_->active_tree()
6774 ->root_layer_for_testing() 6770 ->root_layer_for_testing()
6775 ->test_properties() 6771 ->test_properties()
(...skipping 860 matching lines...) Expand 10 before | Expand all | Expand 10 after
7636 SoftwareOutputDevice::EndPaint(); 7632 SoftwareOutputDevice::EndPaint();
7637 ++frames_ended_; 7633 ++frames_ended_;
7638 } 7634 }
7639 7635
7640 int frames_began_, frames_ended_; 7636 int frames_began_, frames_ended_;
7641 }; 7637 };
7642 7638
7643 TEST_F(LayerTreeHostImplTest, 7639 TEST_F(LayerTreeHostImplTest,
7644 ForcedDrawToSoftwareDeviceSkipsUnsupportedLayers) { 7640 ForcedDrawToSoftwareDeviceSkipsUnsupportedLayers) {
7645 set_reduce_memory_result(false); 7641 set_reduce_memory_result(false);
7646 EXPECT_TRUE(CreateHostImpl( 7642 EXPECT_TRUE(CreateHostImpl(DefaultSettings(),
7647 DefaultSettings(), FakeOutputSurface::CreateDelegatingSoftware( 7643 FakeOutputSurface::CreateDelegatingSoftware()));
7648 base::WrapUnique(new CountingSoftwareDevice))));
7649 7644
7650 const gfx::Transform external_transform; 7645 const gfx::Transform external_transform;
7651 const gfx::Rect external_viewport; 7646 const gfx::Rect external_viewport;
7652 const gfx::Rect external_clip; 7647 const gfx::Rect external_clip;
7653 const bool resourceless_software_draw = true; 7648 const bool resourceless_software_draw = true;
7654 host_impl_->SetExternalTilePriorityConstraints(external_viewport, 7649 host_impl_->SetExternalTilePriorityConstraints(external_viewport,
7655 external_transform); 7650 external_transform);
7656 7651
7657 // SolidColorLayerImpl will be drawn. 7652 // SolidColorLayerImpl will be drawn.
7658 std::unique_ptr<SolidColorLayerImpl> root_layer = 7653 std::unique_ptr<SolidColorLayerImpl> root_layer =
(...skipping 3191 matching lines...) Expand 10 before | Expand all | Expand 10 after
10850 AnimationHost::CreateForTesting(ThreadInstance::IMPL), 0); 10845 AnimationHost::CreateForTesting(ThreadInstance::IMPL), 0);
10851 host_impl_->SetVisible(true); 10846 host_impl_->SetVisible(true);
10852 10847
10853 // InitializeRenderer with a gpu-raster enabled output surface. 10848 // InitializeRenderer with a gpu-raster enabled output surface.
10854 auto gpu_raster_output_surface = 10849 auto gpu_raster_output_surface =
10855 FakeOutputSurface::CreateDelegating3d(TestWebGraphicsContext3D::Create()); 10850 FakeOutputSurface::CreateDelegating3d(TestWebGraphicsContext3D::Create());
10856 host_impl_->InitializeRenderer(gpu_raster_output_surface.get()); 10851 host_impl_->InitializeRenderer(gpu_raster_output_surface.get());
10857 EXPECT_TRUE(host_impl_->use_gpu_rasterization()); 10852 EXPECT_TRUE(host_impl_->use_gpu_rasterization());
10858 10853
10859 // Re-initialize with a software output surface. 10854 // Re-initialize with a software output surface.
10860 output_surface_ = FakeOutputSurface::CreateDelegatingSoftware( 10855 output_surface_ = FakeOutputSurface::CreateDelegatingSoftware();
10861 base::WrapUnique(new SoftwareOutputDevice));
10862 host_impl_->InitializeRenderer(output_surface_.get()); 10856 host_impl_->InitializeRenderer(output_surface_.get());
10863 EXPECT_FALSE(host_impl_->use_gpu_rasterization()); 10857 EXPECT_FALSE(host_impl_->use_gpu_rasterization());
10864 } 10858 }
10865 10859
10866 } // namespace 10860 } // namespace
10867 } // namespace cc 10861 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_common_unittest.cc ('k') | cc/trees/layer_tree_host_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698