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

Unified Diff: cc/raster/raster_buffer_provider_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/raster/raster_buffer_provider_unittest.cc
diff --git a/cc/raster/raster_buffer_provider_unittest.cc b/cc/raster/raster_buffer_provider_unittest.cc
index ffdb710b0e43df2048a2b7f86ab6af2d8edff3d6..c098984cd00bf571842705546d543950698de018 100644
--- a/cc/raster/raster_buffer_provider_unittest.cc
+++ b/cc/raster/raster_buffer_provider_unittest.cc
@@ -130,9 +130,7 @@ class RasterBufferProviderTest
enum NamedTaskSet { REQUIRED_FOR_ACTIVATION, REQUIRED_FOR_DRAW, ALL };
RasterBufferProviderTest()
- : context_provider_(TestContextProvider::Create()),
- worker_context_provider_(TestContextProvider::CreateWorker()),
- all_tile_tasks_finished_(
+ : all_tile_tasks_finished_(
base::ThreadTaskRunnerHandle::Get().get(),
base::Bind(&RasterBufferProviderTest::AllTileTasksFinished,
base::Unretained(this))),
@@ -151,14 +149,16 @@ class RasterBufferProviderTest
case RASTER_BUFFER_PROVIDER_TYPE_ONE_COPY:
Create3dOutputSurfaceAndResourceProvider();
raster_buffer_provider = OneCopyRasterBufferProvider::Create(
- base::ThreadTaskRunnerHandle::Get().get(), context_provider_.get(),
- resource_provider_.get(), kMaxBytesPerCopyOperation, false,
- kMaxStagingBuffers, PlatformColor::BestTextureFormat());
+ base::ThreadTaskRunnerHandle::Get().get(),
+ output_surface_->context_provider(), resource_provider_.get(),
+ kMaxBytesPerCopyOperation, false, kMaxStagingBuffers,
+ PlatformColor::BestTextureFormat());
break;
case RASTER_BUFFER_PROVIDER_TYPE_GPU:
Create3dOutputSurfaceAndResourceProvider();
- raster_buffer_provider = GpuRasterBufferProvider::Create(
- context_provider_.get(), resource_provider_.get(), false, 0);
+ raster_buffer_provider =
+ GpuRasterBufferProvider::Create(output_surface_->context_provider(),
+ resource_provider_.get(), false, 0);
break;
case RASTER_BUFFER_PROVIDER_TYPE_BITMAP:
CreateSoftwareOutputSurfaceAndResourceProvider();
@@ -250,11 +250,14 @@ class RasterBufferProviderTest
private:
void Create3dOutputSurfaceAndResourceProvider() {
- output_surface_ = FakeOutputSurface::Create3d(context_provider_,
- worker_context_provider_);
+ gpu::Capabilities capabilities;
+ capabilities.sync_query = true;
+ output_surface_ = FakeOutputSurface::Create3d(
+ base::MakeUnique<TestContextProvider::Factory>(capabilities),
+ TestContextProvider::Create());
CHECK(output_surface_->BindToClient(&output_surface_client_));
- TestWebGraphicsContext3D* context3d = context_provider_->TestContext3d();
- context3d->set_support_sync_query(true);
+ context_provider_ =
+ static_cast<TestContextProvider*>(output_surface_->context_provider());
resource_provider_ = FakeResourceProvider::Create(
output_surface_.get(), nullptr, &gpu_memory_buffer_manager_);
}
@@ -282,9 +285,8 @@ class RasterBufferProviderTest
}
protected:
- scoped_refptr<TestContextProvider> context_provider_;
- scoped_refptr<TestContextProvider> worker_context_provider_;
FakeOutputSurfaceClient output_surface_client_;
+ TestContextProvider* context_provider_ = nullptr;
std::unique_ptr<FakeOutputSurface> output_surface_;
std::unique_ptr<ResourceProvider> resource_provider_;
std::unique_ptr<TileTaskManager> tile_task_manager_;

Powered by Google App Engine
This is Rietveld 408576698