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

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

Issue 2822143003: Remove ForceReclaimResources (Closed)
Patch Set: Change to RunLoop. Created 3 years, 7 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_impl.cc ('k') | cc/trees/layer_tree_host_pixeltest_tiles.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 8784 matching lines...) Expand 10 before | Expand all | Expand 10 after
8795 }; 8795 };
8796 8796
8797 TEST_F(LayerTreeHostImplTest, ShutdownReleasesContext) { 8797 TEST_F(LayerTreeHostImplTest, ShutdownReleasesContext) {
8798 scoped_refptr<TestContextProvider> context_provider = 8798 scoped_refptr<TestContextProvider> context_provider =
8799 TestContextProvider::Create(); 8799 TestContextProvider::Create();
8800 FrameSinkClient test_client_(context_provider); 8800 FrameSinkClient test_client_(context_provider);
8801 8801
8802 auto compositor_frame_sink = base::MakeUnique<TestCompositorFrameSink>( 8802 auto compositor_frame_sink = base::MakeUnique<TestCompositorFrameSink>(
8803 context_provider, TestContextProvider::CreateWorker(), nullptr, nullptr, 8803 context_provider, TestContextProvider::CreateWorker(), nullptr, nullptr,
8804 RendererSettings(), base::ThreadTaskRunnerHandle::Get().get(), 8804 RendererSettings(), base::ThreadTaskRunnerHandle::Get().get(),
8805 true /* synchronous_composite */, 8805 true /* synchronous_composite */);
8806 false /* force_disable_reclaim_resources */);
8807 compositor_frame_sink->SetClient(&test_client_); 8806 compositor_frame_sink->SetClient(&test_client_);
8808 8807
8809 CreateHostImpl(DefaultSettings(), std::move(compositor_frame_sink)); 8808 CreateHostImpl(DefaultSettings(), std::move(compositor_frame_sink));
8810 8809
8811 SetupRootLayerImpl(LayerImpl::Create(host_impl_->active_tree(), 1)); 8810 SetupRootLayerImpl(LayerImpl::Create(host_impl_->active_tree(), 1));
8812 8811
8813 LayerImpl* root = host_impl_->active_tree()->root_layer_for_testing(); 8812 LayerImpl* root = host_impl_->active_tree()->root_layer_for_testing();
8814 root->test_properties()->copy_requests.push_back( 8813 root->test_properties()->copy_requests.push_back(
8815 CopyOutputRequest::CreateRequest( 8814 CopyOutputRequest::CreateRequest(
8816 base::Bind(&ShutdownReleasesContext_Callback))); 8815 base::Bind(&ShutdownReleasesContext_Callback)));
(...skipping 3085 matching lines...) Expand 10 before | Expand all | Expand 10 after
11902 // with msaa (we'll still use GPU raster, though). 11901 // with msaa (we'll still use GPU raster, though).
11903 CreateHostImplWithMsaaIsSlow(true); 11902 CreateHostImplWithMsaaIsSlow(true);
11904 host_impl_->SetHasGpuRasterizationTrigger(true); 11903 host_impl_->SetHasGpuRasterizationTrigger(true);
11905 host_impl_->SetContentIsSuitableForGpuRasterization(false); 11904 host_impl_->SetContentIsSuitableForGpuRasterization(false);
11906 host_impl_->CommitComplete(); 11905 host_impl_->CommitComplete();
11907 EXPECT_EQ(GpuRasterizationStatus::ON, host_impl_->gpu_rasterization_status()); 11906 EXPECT_EQ(GpuRasterizationStatus::ON, host_impl_->gpu_rasterization_status());
11908 EXPECT_TRUE(host_impl_->use_gpu_rasterization()); 11907 EXPECT_TRUE(host_impl_->use_gpu_rasterization());
11909 EXPECT_FALSE(host_impl_->use_msaa()); 11908 EXPECT_FALSE(host_impl_->use_msaa());
11910 } 11909 }
11911 11910
11912 // A mock output surface which lets us detect calls to ForceReclaimResources.
11913 class MockReclaimResourcesCompositorFrameSink : public FakeCompositorFrameSink {
11914 public:
11915 MockReclaimResourcesCompositorFrameSink()
11916 : FakeCompositorFrameSink(TestContextProvider::Create(),
11917 TestContextProvider::CreateWorker()) {}
11918
11919 MOCK_METHOD0(ForceReclaimResources, void());
11920 };
11921
11922 // Display::Draw (and the planned Display Scheduler) currently rely on resources
11923 // being reclaimed to block drawing between BeginCommit / Swap. This test
11924 // ensures that BeginCommit triggers ForceReclaimResources. See
11925 // crbug.com/489515.
11926 TEST_F(LayerTreeHostImplTest, BeginCommitReclaimsResources) {
11927 auto compositor_frame_sink =
11928 base::MakeUnique<MockReclaimResourcesCompositorFrameSink>();
11929 // Hold an unowned pointer to the output surface to use for mock expectations.
11930 MockReclaimResourcesCompositorFrameSink* mock_compositor_frame_sink =
11931 compositor_frame_sink.get();
11932
11933 CreateHostImpl(DefaultSettings(), std::move(compositor_frame_sink));
11934 EXPECT_CALL(*mock_compositor_frame_sink, ForceReclaimResources()).Times(1);
11935 host_impl_->BeginCommit();
11936 }
11937
11938 TEST_F(LayerTreeHostImplTest, UpdatePageScaleFactorOnActiveTree) { 11911 TEST_F(LayerTreeHostImplTest, UpdatePageScaleFactorOnActiveTree) {
11939 // Check page scale factor update in property trees when an update is made 11912 // Check page scale factor update in property trees when an update is made
11940 // on the active tree. 11913 // on the active tree.
11941 host_impl_->CreatePendingTree(); 11914 host_impl_->CreatePendingTree();
11942 host_impl_->pending_tree()->PushPageScaleFromMainThread(1.f, 1.f, 3.f); 11915 host_impl_->pending_tree()->PushPageScaleFromMainThread(1.f, 1.f, 3.f);
11943 CreateScrollAndContentsLayers(host_impl_->pending_tree(), 11916 CreateScrollAndContentsLayers(host_impl_->pending_tree(),
11944 gfx::Size(100, 100)); 11917 gfx::Size(100, 100));
11945 host_impl_->pending_tree()->BuildPropertyTreesForTesting(); 11918 host_impl_->pending_tree()->BuildPropertyTreesForTesting();
11946 host_impl_->ActivateSyncTree(); 11919 host_impl_->ActivateSyncTree();
11947 DrawFrame(); 11920 DrawFrame();
(...skipping 427 matching lines...) Expand 10 before | Expand all | Expand 10 after
12375 else 12348 else
12376 EXPECT_FALSE(tile->HasRasterTask()); 12349 EXPECT_FALSE(tile->HasRasterTask());
12377 } 12350 }
12378 Region expected_invalidation( 12351 Region expected_invalidation(
12379 raster_source->GetRectForImage(checkerable_image->uniqueID())); 12352 raster_source->GetRectForImage(checkerable_image->uniqueID()));
12380 EXPECT_EQ(expected_invalidation, *(root->GetPendingInvalidation())); 12353 EXPECT_EQ(expected_invalidation, *(root->GetPendingInvalidation()));
12381 } 12354 }
12382 12355
12383 } // namespace 12356 } // namespace
12384 } // namespace cc 12357 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_impl.cc ('k') | cc/trees/layer_tree_host_pixeltest_tiles.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698