Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 <algorithm> | 7 #include <algorithm> |
| 8 #include <cmath> | 8 #include <cmath> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 7759 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 7770 settings.gpu_rasterization_forced = true; | 7770 settings.gpu_rasterization_forced = true; |
| 7771 EXPECT_TRUE(CreateHostImpl(settings, FakeOutputSurface::Create3d())); | 7771 EXPECT_TRUE(CreateHostImpl(settings, FakeOutputSurface::Create3d())); |
| 7772 | 7772 |
| 7773 host_impl_->SetHasGpuRasterizationTrigger(false); | 7773 host_impl_->SetHasGpuRasterizationTrigger(false); |
| 7774 host_impl_->SetContentIsSuitableForGpuRasterization(false); | 7774 host_impl_->SetContentIsSuitableForGpuRasterization(false); |
| 7775 EXPECT_EQ(GpuRasterizationStatus::ON_FORCED, | 7775 EXPECT_EQ(GpuRasterizationStatus::ON_FORCED, |
| 7776 host_impl_->gpu_rasterization_status()); | 7776 host_impl_->gpu_rasterization_status()); |
| 7777 EXPECT_TRUE(host_impl_->use_gpu_rasterization()); | 7777 EXPECT_TRUE(host_impl_->use_gpu_rasterization()); |
| 7778 } | 7778 } |
| 7779 | 7779 |
| 7780 // A mock output surface which lets us detect calls to ForceReclaimResources. | |
| 7781 class MockReclaimResourcesOutputSurface : public FakeOutputSurface { | |
| 7782 public: | |
| 7783 static scoped_ptr<MockReclaimResourcesOutputSurface> Create3d() { | |
| 7784 return make_scoped_ptr(new MockReclaimResourcesOutputSurface( | |
| 7785 TestContextProvider::Create(), TestContextProvider::Create(), false)); | |
| 7786 } | |
| 7787 | |
| 7788 MOCK_METHOD0(ForceReclaimResources, void()); | |
| 7789 | |
| 7790 protected: | |
| 7791 MockReclaimResourcesOutputSurface( | |
| 7792 scoped_refptr<ContextProvider> context_provider, | |
| 7793 scoped_refptr<ContextProvider> worker_context_provider, | |
| 7794 bool delegated_rendering) | |
| 7795 : FakeOutputSurface(context_provider, | |
| 7796 worker_context_provider, | |
| 7797 delegated_rendering) {} | |
| 7798 }; | |
| 7799 | |
| 7800 // Display::Draw (and the planned Display Scheduler) currently rely on resources | |
| 7801 // being reclaimed to block drawing between BeginCommit / Swap. This test | |
| 7802 // ensures that BeginCommit triggers ForceReclaimResources. See | |
| 7803 // crbug.com/489515. | |
| 7804 TEST_F(LayerTreeHostImplTest, BeginCommitReclaimsResources) { | |
| 7805 scoped_ptr<MockReclaimResourcesOutputSurface> output_surface( | |
| 7806 MockReclaimResourcesOutputSurface::Create3d()); | |
| 7807 EXPECT_CALL(*output_surface.get(), ForceReclaimResources()).Times(1); | |
| 7808 CreateHostImpl(DefaultSettings(), output_surface.Pass()); | |
| 7809 host_impl_->BeginCommit(); | |
|
danakj
2015/05/19 18:33:54
can you verifyexpectations before this so we know
ericrk
2015/05/19 18:38:08
Done.
| |
| 7810 } | |
| 7811 | |
| 7780 } // namespace | 7812 } // namespace |
| 7781 } // namespace cc | 7813 } // namespace cc |
| OLD | NEW |