| Index: content/browser/compositor/gpu_process_transport_factory.cc
|
| diff --git a/content/browser/compositor/gpu_process_transport_factory.cc b/content/browser/compositor/gpu_process_transport_factory.cc
|
| index a5b14336ab766d262cf57c47b317d497ab7b1980..1400f3727e4e31e9f26b9d14fd4a6a15b2ffbf34 100644
|
| --- a/content/browser/compositor/gpu_process_transport_factory.cc
|
| +++ b/content/browser/compositor/gpu_process_transport_factory.cc
|
| @@ -247,8 +247,10 @@ void GpuProcessTransportFactory::EstablishedGpuChannel(
|
| if (shared_worker_context_provider_) {
|
| base::AutoLock lock(*shared_worker_context_provider_->GetLock());
|
| if (shared_worker_context_provider_->ContextGL()
|
| - ->GetGraphicsResetStatusKHR() != GL_NO_ERROR)
|
| + ->GetGraphicsResetStatusKHR() != GL_NO_ERROR) {
|
| + shared_worker_context_provider_->Destroy();
|
| shared_worker_context_provider_ = nullptr;
|
| + }
|
| }
|
| scoped_refptr<GpuChannelHost> gpu_channel_host =
|
| BrowserGpuChannelHostFactory::instance()->GetGpuChannel();
|
| @@ -267,6 +269,8 @@ void GpuProcessTransportFactory::EstablishedGpuChannel(
|
| if (shared_worker_context_provider_ &&
|
| !shared_worker_context_provider_->BindToCurrentThread())
|
| shared_worker_context_provider_ = nullptr;
|
| + if (shared_worker_context_provider_)
|
| + shared_worker_context_provider_->SetupLock();
|
| }
|
| }
|
|
|
|
|