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

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

Issue 2609253003: Remove ForceReclaimResources (Closed)
Patch Set: Make test cases / phases the same Created 3 years, 11 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 8346 matching lines...) Expand 10 before | Expand all | Expand 10 after
8357 }; 8357 };
8358 8358
8359 TEST_F(LayerTreeHostImplTest, ShutdownReleasesContext) { 8359 TEST_F(LayerTreeHostImplTest, ShutdownReleasesContext) {
8360 scoped_refptr<TestContextProvider> context_provider = 8360 scoped_refptr<TestContextProvider> context_provider =
8361 TestContextProvider::Create(); 8361 TestContextProvider::Create();
8362 FrameSinkClient test_client_(context_provider); 8362 FrameSinkClient test_client_(context_provider);
8363 8363
8364 auto compositor_frame_sink = base::MakeUnique<TestCompositorFrameSink>( 8364 auto compositor_frame_sink = base::MakeUnique<TestCompositorFrameSink>(
8365 context_provider, TestContextProvider::CreateWorker(), nullptr, nullptr, 8365 context_provider, TestContextProvider::CreateWorker(), nullptr, nullptr,
8366 RendererSettings(), base::ThreadTaskRunnerHandle::Get().get(), 8366 RendererSettings(), base::ThreadTaskRunnerHandle::Get().get(),
8367 true /* synchronous_composite */, 8367 true /* synchronous_composite */);
8368 false /* force_disable_reclaim_resources */);
8369 compositor_frame_sink->SetClient(&test_client_); 8368 compositor_frame_sink->SetClient(&test_client_);
8370 8369
8371 CreateHostImpl(DefaultSettings(), std::move(compositor_frame_sink)); 8370 CreateHostImpl(DefaultSettings(), std::move(compositor_frame_sink));
8372 8371
8373 SetupRootLayerImpl(LayerImpl::Create(host_impl_->active_tree(), 1)); 8372 SetupRootLayerImpl(LayerImpl::Create(host_impl_->active_tree(), 1));
8374 8373
8375 LayerImpl* root = host_impl_->active_tree()->root_layer_for_testing(); 8374 LayerImpl* root = host_impl_->active_tree()->root_layer_for_testing();
8376 root->test_properties()->copy_requests.push_back( 8375 root->test_properties()->copy_requests.push_back(
8377 CopyOutputRequest::CreateRequest( 8376 CopyOutputRequest::CreateRequest(
8378 base::Bind(&ShutdownReleasesContext_Callback))); 8377 base::Bind(&ShutdownReleasesContext_Callback)));
(...skipping 3018 matching lines...) Expand 10 before | Expand all | Expand 10 after
11397 // with msaa. 11396 // with msaa.
11398 CreateHostImplWithMsaaIsSlow(true); 11397 CreateHostImplWithMsaaIsSlow(true);
11399 host_impl_->SetHasGpuRasterizationTrigger(true); 11398 host_impl_->SetHasGpuRasterizationTrigger(true);
11400 host_impl_->SetContentIsSuitableForGpuRasterization(false); 11399 host_impl_->SetContentIsSuitableForGpuRasterization(false);
11401 host_impl_->CommitComplete(); 11400 host_impl_->CommitComplete();
11402 EXPECT_EQ(GpuRasterizationStatus::OFF_CONTENT, 11401 EXPECT_EQ(GpuRasterizationStatus::OFF_CONTENT,
11403 host_impl_->gpu_rasterization_status()); 11402 host_impl_->gpu_rasterization_status());
11404 EXPECT_FALSE(host_impl_->use_gpu_rasterization()); 11403 EXPECT_FALSE(host_impl_->use_gpu_rasterization());
11405 } 11404 }
11406 11405
11407 // A mock output surface which lets us detect calls to ForceReclaimResources.
11408 class MockReclaimResourcesCompositorFrameSink : public FakeCompositorFrameSink {
11409 public:
11410 MockReclaimResourcesCompositorFrameSink()
11411 : FakeCompositorFrameSink(TestContextProvider::Create(),
11412 TestContextProvider::CreateWorker()) {}
11413
11414 MOCK_METHOD0(ForceReclaimResources, void());
11415 };
11416
11417 // Display::Draw (and the planned Display Scheduler) currently rely on resources
11418 // being reclaimed to block drawing between BeginCommit / Swap. This test
11419 // ensures that BeginCommit triggers ForceReclaimResources. See
11420 // crbug.com/489515.
11421 TEST_F(LayerTreeHostImplTest, BeginCommitReclaimsResources) {
11422 auto compositor_frame_sink =
11423 base::MakeUnique<MockReclaimResourcesCompositorFrameSink>();
11424 // Hold an unowned pointer to the output surface to use for mock expectations.
11425 MockReclaimResourcesCompositorFrameSink* mock_compositor_frame_sink =
11426 compositor_frame_sink.get();
11427
11428 CreateHostImpl(DefaultSettings(), std::move(compositor_frame_sink));
11429 EXPECT_CALL(*mock_compositor_frame_sink, ForceReclaimResources()).Times(1);
11430 host_impl_->BeginCommit();
11431 }
11432
11433 TEST_F(LayerTreeHostImplTest, UpdatePageScaleFactorOnActiveTree) { 11406 TEST_F(LayerTreeHostImplTest, UpdatePageScaleFactorOnActiveTree) {
11434 // Check page scale factor update in property trees when an update is made 11407 // Check page scale factor update in property trees when an update is made
11435 // on the active tree. 11408 // on the active tree.
11436 host_impl_->CreatePendingTree(); 11409 host_impl_->CreatePendingTree();
11437 host_impl_->pending_tree()->PushPageScaleFromMainThread(1.f, 1.f, 3.f); 11410 host_impl_->pending_tree()->PushPageScaleFromMainThread(1.f, 1.f, 3.f);
11438 CreateScrollAndContentsLayers(host_impl_->pending_tree(), 11411 CreateScrollAndContentsLayers(host_impl_->pending_tree(),
11439 gfx::Size(100, 100)); 11412 gfx::Size(100, 100));
11440 host_impl_->pending_tree()->BuildPropertyTreesForTesting(); 11413 host_impl_->pending_tree()->BuildPropertyTreesForTesting();
11441 host_impl_->ActivateSyncTree(); 11414 host_impl_->ActivateSyncTree();
11442 DrawFrame(); 11415 DrawFrame();
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after
11743 SetupMouseMoveAtTestScrollbarStates(true); 11716 SetupMouseMoveAtTestScrollbarStates(true);
11744 } 11717 }
11745 11718
11746 TEST_F(LayerTreeHostImplTest, 11719 TEST_F(LayerTreeHostImplTest,
11747 LayerTreeHostImplTestScrollbarStatesInNotMainThreadScorlling) { 11720 LayerTreeHostImplTestScrollbarStatesInNotMainThreadScorlling) {
11748 SetupMouseMoveAtTestScrollbarStates(false); 11721 SetupMouseMoveAtTestScrollbarStates(false);
11749 } 11722 }
11750 11723
11751 } // namespace 11724 } // namespace
11752 } // namespace cc 11725 } // 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