The GpuChannel is lost in the GPU crash. The GpuChannelLost observer NotifyGpuContextLost to restore the context and recreate Canvas resource
provider.
Remove RendererBlinkPlatformImpl::CreateSharedImageInterfaceProvider().
SharedImageInterfaceProvider is now created directly inside
SharedGpuContext. It doesn't need to use the platform proxy.Also move
webgraphics_shared_image_interface_provider_impl.cc from
content/renderer to third_party/blink/renderer/platform/graphics/gpu
because it's directly called from Blink/ instead of content/.
Update SharedGpuContext::CreateSharedImageInterfaceProviderIfNeeded()
so WebGraphicsSharedImageInterfaceProviderImpl ctor and the
GpuChannelLost notification is called on the same thread where
SharedImageInterfaceProvider is requested.
Bug:40064122
Change-Id: Ieea951b7ff6fb214e821f84d9a945280f2822119
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5770840
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org>
Commit-Queue: Maggie Chen <magchen@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1345023}