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

Unified Diff: cc/trees/layer_tree_host_unittest.cc

Issue 1985973002: Defer compositor context creation to the thread. Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: contextfactory: . Created 4 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 side-by-side diff with in-line comments
Download patch
Index: cc/trees/layer_tree_host_unittest.cc
diff --git a/cc/trees/layer_tree_host_unittest.cc b/cc/trees/layer_tree_host_unittest.cc
index dd9af8d18f5440d958a335d21f2d10ac681f066f..a43f2b28390bb532fe91129274d2dd1f3027d6d2 100644
--- a/cc/trees/layer_tree_host_unittest.cc
+++ b/cc/trees/layer_tree_host_unittest.cc
@@ -471,8 +471,8 @@ class LayerTreeHostFreeWorkerContextResourcesTest : public LayerTreeHostTest {
~MockSetWorkerContextShouldAggressivelyFreeResourcesOutputSurface() {}
explicit MockSetWorkerContextShouldAggressivelyFreeResourcesOutputSurface(
bool delegated_rendering)
- : FakeOutputSurface(TestContextProvider::Create(),
- TestContextProvider::CreateWorker(),
+ : FakeOutputSurface(base::MakeUnique<TestContextProvider::Factory>(),
+ TestContextProvider::Create(),
delegated_rendering) {}
MOCK_METHOD1(SetWorkerContextShouldAggressivelyFreeResources,
void(bool is_visible));
@@ -4144,35 +4144,33 @@ MULTI_THREAD_TEST_F(LayerTreeHostTestElasticOverscroll);
class LayerTreeHostTestSetMemoryPolicyOnLostOutputSurface
: public LayerTreeHostTest {
protected:
- LayerTreeHostTestSetMemoryPolicyOnLostOutputSurface()
- : first_output_surface_memory_limit_(4321234),
- second_output_surface_memory_limit_(1234321) {}
-
std::unique_ptr<FakeOutputSurface> CreateFakeOutputSurface() override {
- if (!first_context_provider_.get()) {
- first_context_provider_ = TestContextProvider::Create();
- } else {
- EXPECT_FALSE(second_context_provider_.get());
- second_context_provider_ = TestContextProvider::Create();
- }
-
- scoped_refptr<TestContextProvider> provider(second_context_provider_.get()
- ? second_context_provider_
- : first_context_provider_);
+ std::unique_ptr<TestContextProvider::Factory> create(
+ new TestContextProvider::Factory);
+ const bool first = !first_context_provider_;
std::unique_ptr<FakeOutputSurface> output_surface;
if (delegating_renderer())
- output_surface = FakeOutputSurface::CreateDelegating3d(provider);
+ output_surface = FakeOutputSurface::CreateDelegating3d(std::move(create));
else
- output_surface = FakeOutputSurface::Create3d(provider);
+ output_surface = FakeOutputSurface::Create3d(std::move(create));
output_surface->SetMemoryPolicyToSetAtBind(
base::WrapUnique(new ManagedMemoryPolicy(
- second_context_provider_.get() ? second_output_surface_memory_limit_
- : first_output_surface_memory_limit_,
+ first ? first_output_surface_memory_limit_
+ : second_output_surface_memory_limit_,
gpu::MemoryAllocation::CUTOFF_ALLOW_NICE_TO_HAVE,
ManagedMemoryPolicy::kDefaultNumResourcesLimit)));
return output_surface;
}
+ void InitializedRendererOnThread(LayerTreeHostImpl* impl,
+ bool success) override {
+ ASSERT_TRUE(success);
+ if (!first_context_provider_) {
+ first_context_provider_ = static_cast<TestContextProvider*>(
+ impl->output_surface()->context_provider());
+ }
+ }
+
void SetupTree() override {
root_ = FakePictureLayer::Create(&client_);
root_->SetBounds(gfx::Size(20, 20));
@@ -4212,10 +4210,9 @@ class LayerTreeHostTestSetMemoryPolicyOnLostOutputSurface
void AfterTest() override {}
- scoped_refptr<TestContextProvider> first_context_provider_;
- scoped_refptr<TestContextProvider> second_context_provider_;
- size_t first_output_surface_memory_limit_;
- size_t second_output_surface_memory_limit_;
+ TestContextProvider* first_context_provider_ = nullptr;
+ size_t first_output_surface_memory_limit_ = 4321234;
+ size_t second_output_surface_memory_limit_ = 1234321;
FakeContentLayerClient client_;
scoped_refptr<Layer> root_;
};
@@ -5472,7 +5469,6 @@ class LayerTreeHostTestCrispUpAfterPinchEndsWithOneCopy
std::unique_ptr<FakeOutputSurface> CreateFakeOutputSurface() override {
std::unique_ptr<TestWebGraphicsContext3D> context3d =
TestWebGraphicsContext3D::Create();
- context3d->set_support_image(true);
context3d->set_support_sync_query(true);
#if defined(OS_MACOSX)
context3d->set_support_texture_rectangle(true);

Powered by Google App Engine
This is Rietveld 408576698