Index: content/renderer/render_thread_impl.cc |
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc |
index 51104cd85f19ece488d78ad3ae393c7c2e43c5c9..dc7816243edad78236b0114e406143c2b3969251 100644 |
--- a/content/renderer/render_thread_impl.cc |
+++ b/content/renderer/render_thread_impl.cc |
@@ -400,8 +400,9 @@ void StringToUintVector(const std::string& str, std::vector<unsigned>* vector) { |
} |
} |
-std::unique_ptr<WebGraphicsContext3DCommandBufferImpl> CreateOffscreenContext( |
- scoped_refptr<gpu::GpuChannelHost> gpu_channel_host) { |
+scoped_refptr<ContextProviderCommandBuffer> CreateOffscreenContext( |
+ scoped_refptr<gpu::GpuChannelHost> gpu_channel_host, |
+ command_buffer_metrics::ContextType type) { |
DCHECK(gpu_channel_host); |
// This is used to create a few different offscreen contexts: |
// - The shared main thread context (offscreen) used by blink for canvas. |
@@ -417,11 +418,13 @@ std::unique_ptr<WebGraphicsContext3DCommandBufferImpl> CreateOffscreenContext( |
attributes.bind_generates_resource = false; |
attributes.lose_context_when_out_of_memory = true; |
constexpr bool automatic_flushes = false; |
- return base::WrapUnique(new WebGraphicsContext3DCommandBufferImpl( |
- gpu::kNullSurfaceHandle, |
- GURL("chrome://gpu/RenderThreadImpl::CreateOffscreenContext3d"), |
- std::move(gpu_channel_host), attributes, gfx::PreferIntegratedGpu, |
- automatic_flushes)); |
+ return make_scoped_refptr(new ContextProviderCommandBuffer( |
+ base::WrapUnique(new WebGraphicsContext3DCommandBufferImpl( |
+ gpu::kNullSurfaceHandle, |
+ GURL("chrome://gpu/RenderThreadImpl::CreateOffscreenContext"), |
+ std::move(gpu_channel_host), gfx::PreferIntegratedGpu, |
+ automatic_flushes)), |
+ gpu::SharedMemoryLimits(), attributes, nullptr, type)); |
} |
} // namespace |
@@ -1443,9 +1446,9 @@ RenderThreadImpl::SharedMainThreadContextProvider() { |
return nullptr; |
} |
- shared_main_thread_contexts_ = new ContextProviderCommandBuffer( |
- CreateOffscreenContext(std::move(gpu_channel_host)), |
- gpu::SharedMemoryLimits(), nullptr, RENDERER_MAINTHREAD_CONTEXT); |
+ shared_main_thread_contexts_ = CreateOffscreenContext( |
+ std::move(gpu_channel_host), |
+ command_buffer_metrics::RENDERER_MAINTHREAD_CONTEXT); |
if (!shared_main_thread_contexts_->BindToCurrentThread()) |
shared_main_thread_contexts_ = nullptr; |
return shared_main_thread_contexts_; |
@@ -1942,9 +1945,9 @@ RenderThreadImpl::SharedWorkerContextProvider() { |
return shared_worker_context_provider_; |
} |
- shared_worker_context_provider_ = new ContextProviderCommandBuffer( |
- CreateOffscreenContext(std::move(gpu_channel_host)), |
- gpu::SharedMemoryLimits(), nullptr, RENDER_WORKER_CONTEXT); |
+ shared_worker_context_provider_ = |
+ CreateOffscreenContext(std::move(gpu_channel_host), |
+ command_buffer_metrics::RENDER_WORKER_CONTEXT); |
if (!shared_worker_context_provider_->BindToCurrentThread()) |
shared_worker_context_provider_ = nullptr; |
if (shared_worker_context_provider_) |