Chromium Code Reviews| Index: cc/trees/layer_tree_host_impl_unittest.cc |
| diff --git a/cc/trees/layer_tree_host_impl_unittest.cc b/cc/trees/layer_tree_host_impl_unittest.cc |
| index d2aeadec71eac9fb6d2660fb663c3e1ed9c288fe..5a19cbaab661dba42debc5a1e260d2c39995611d 100644 |
| --- a/cc/trees/layer_tree_host_impl_unittest.cc |
| +++ b/cc/trees/layer_tree_host_impl_unittest.cc |
| @@ -120,6 +120,7 @@ class LayerTreeHostImplTest : public testing::Test, |
| void SetMaxSwapsPendingOnImplThread(int max) override {} |
| void DidSwapBuffersOnImplThread() override {} |
| void DidSwapBuffersCompleteOnImplThread() override {} |
| + void OnResourcelessSoftareDrawStateChanged(bool resourceless_draw) override {} |
| void OnCanDrawStateChanged(bool can_draw) override { |
| on_can_draw_state_changed_called_ = true; |
| } |
| @@ -468,7 +469,15 @@ TEST_F(LayerTreeHostImplTest, NotifyIfCanDrawChanged) { |
| TEST_F(LayerTreeHostImplTest, CanDrawIncompleteFrames) { |
| CreateHostImpl(DefaultSettings(), |
| - FakeOutputSurface::CreateAlwaysDrawAndSwap3d()); |
| + FakeOutputSurface::CreateSoftware( |
| + make_scoped_ptr(new SoftwareOutputDevice()))); |
| + const gfx::Transform external_transform; |
| + const gfx::Rect external_viewport; |
| + const gfx::Rect external_clip; |
| + const bool resourceless_software_draw = true; |
| + host_impl_->SetExternalDrawConstraints( |
| + external_transform, external_viewport, external_clip, external_viewport, |
| + external_transform, resourceless_software_draw); |
| bool always_draw = true; |
| CheckNotifyCalledIfCanDrawChanged(always_draw); |
| @@ -3119,10 +3128,16 @@ TEST_F(LayerTreeHostImplTest, PrepareToDrawSucceedsAndFails) { |
| TEST_F(LayerTreeHostImplTest, |
| PrepareToDrawWhenDrawAndSwapFullViewportEveryFrame) { |
| CreateHostImpl(DefaultSettings(), |
| - FakeOutputSurface::CreateAlwaysDrawAndSwap3d()); |
| - EXPECT_TRUE(host_impl_->output_surface() |
| - ->capabilities() |
| - .draw_and_swap_full_viewport_every_frame); |
| + FakeOutputSurface::CreateSoftware( |
| + make_scoped_ptr(new SoftwareOutputDevice()))); |
| + |
| + const gfx::Transform external_transform; |
| + const gfx::Rect external_viewport; |
| + const gfx::Rect external_clip; |
| + const bool resourceless_software_draw = true; |
| + host_impl_->SetExternalDrawConstraints( |
| + external_transform, external_viewport, external_clip, external_viewport, |
| + external_transform, resourceless_software_draw); |
| std::vector<PrepareToDrawSuccessTestCase> cases; |
| @@ -5533,7 +5548,8 @@ class LayerTreeHostImplViewportCoveredTest : public LayerTreeHostImplTest { |
| scoped_ptr<OutputSurface> CreateFakeOutputSurface(bool always_draw) { |
| if (always_draw) { |
| - return FakeOutputSurface::CreateAlwaysDrawAndSwap3d(); |
| + return FakeOutputSurface::CreateSoftware( |
| + make_scoped_ptr(new SoftwareOutputDevice())); |
| } |
| return FakeOutputSurface::Create3d(); |
| } |
| @@ -5683,6 +5699,16 @@ class LayerTreeHostImplViewportCoveredTest : public LayerTreeHostImplTest { |
| size, host_impl_->active_tree()->device_scale_factor()); |
| } |
| + void SetAlwaysDraw() { |
| + const gfx::Transform external_transform; |
| + const gfx::Rect external_viewport; |
| + const gfx::Rect external_clip; |
| + const bool resourceless_software_draw = true; |
| + host_impl_->SetExternalDrawConstraints( |
| + external_transform, external_viewport, external_clip, external_viewport, |
| + external_transform, resourceless_software_draw); |
| + } |
| + |
| DrawQuad::Material gutter_quad_material_; |
| gfx::Size gutter_texture_size_; |
| gfx::Size viewport_size_; |
| @@ -5724,6 +5750,7 @@ TEST_F(LayerTreeHostImplViewportCoveredTest, ActiveTreeGrowViewportInvalid) { |
| bool always_draw = true; |
| CreateHostImpl(DefaultSettings(), CreateFakeOutputSurface(always_draw)); |
| + SetAlwaysDraw(); |
|
brianderson
2015/10/21 22:43:04
Why isn't this called from other LayerTreeHostImpl
boliu
2015/10/21 22:46:34
The above two tests have always_draw = false.
|
| // Pending tree to force active_tree size invalid. Not used otherwise. |
| host_impl_->CreatePendingTree(); |
| @@ -5741,6 +5768,7 @@ TEST_F(LayerTreeHostImplViewportCoveredTest, ActiveTreeShrinkViewportInvalid) { |
| bool always_draw = true; |
| CreateHostImpl(DefaultSettings(), CreateFakeOutputSurface(always_draw)); |
| + SetAlwaysDraw(); |
| // Set larger viewport and activate it to active tree. |
| host_impl_->CreatePendingTree(); |
| @@ -8225,11 +8253,8 @@ TEST_F(LayerTreeHostImplTest, ExternalTransformSetNeedsRedraw) { |
| external_transform, external_viewport, external_clip1, external_viewport, |
| external_transform, resourceless_software_draw); |
| EXPECT_FALSE(did_request_redraw_); |
| - { |
| - LayerTreeHostImpl::FrameData frame; |
| - EXPECT_EQ(DRAW_SUCCESS, PrepareToDrawFrame(&frame)); |
| - EXPECT_TRUE(frame.has_no_damage); |
| - } |
| + // Can't call PrepareToDrawFrame with no change for resourceless software |
| + // draw. |
| // Unsetting resourceless_software_draw do not need redraw. |
| did_request_redraw_ = false; |