New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WebContent crashes if GPUP WebGL remote context buffer cannot be allocated #10504
WebContent crashes if GPUP WebGL remote context buffer cannot be allocated #10504
Conversation
EWS run on previous version of this PR (hash 40aef20) |
40aef20
to
8d31d5a
Compare
EWS run on previous version of this PR (hash 8d31d5a) |
8d31d5a
to
29ea73b
Compare
EWS run on current version of this PR (hash 29ea73b) |
style error is unfortunately needed due to somebody wanting to do that ifdeffing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
r=me
β¦cated https://bugs.webkit.org/show_bug.cgi?id=252732 rdar://105612611 Reviewed by Geoffrey Garen. Change RemoteGraphicsContextGLProxy and RemoteGPUProxy creation to be nullable. If the IPC stream connection buffer allocation fails, return gracefully instead of previous inteded CRASH(). Preserves the CRASH() in RemoteRenderingBackendProxy as current code structure is such that it is expected always to be succesfully created. * LayoutTests/webgl/webgl-fail-platform-context-creation-no-crash.html: Remove a unneeded <script> from a similar test as below. * LayoutTests/webgl/webgl-fail-remote-context-ipc-buffer-allocation-no-crash-expected.txt: Added. * LayoutTests/webgl/webgl-fail-remote-context-ipc-buffer-allocation-no-crash.html: Copied from LayoutTests/webgl/webgl-fail-platform-context-creation-no-crash.html. Add the test. * Source/WebCore/html/canvas/WebGLContextAttributes.idl: * Source/WebCore/platform/graphics/GraphicsContextGLAttributes.h: * Source/WebKit/Platform/IPC/StreamClientConnection.cpp: (IPC::StreamClientConnection::create): (IPC::StreamClientConnection::StreamClientConnection): * Source/WebKit/Platform/IPC/StreamClientConnection.h: * Source/WebKit/Platform/IPC/StreamClientConnectionBuffer.h: (IPC::StreamClientConnectionBuffer::create): (IPC::StreamClientConnectionBuffer::StreamClientConnectionBuffer): (IPC::StreamClientConnectionBuffer::createMemory): Deleted. * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: * Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp: (WebKit::RemoteGraphicsContextGLProxy::create): (WebKit::RemoteGraphicsContextGLProxy::RemoteGraphicsContextGLProxy): (WebKit::RemoteGraphicsContextGLProxy::initializeIPC): * Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h: * Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp: (WebKit::RemoteRenderingBackendProxy::ensureGPUProcessConnection): * Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.cpp: (WebKit::RemoteGPUProxy::create): (WebKit::RemoteGPUProxy::RemoteGPUProxy): (WebKit::RemoteGPUProxy::initializeIPC): * Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.h: * Source/WebKit/WebProcess/GPU/graphics/cocoa/RemoteGraphicsContextGLProxyCocoa.mm: (WebKit::RemoteGraphicsContextGLProxy::platformCreate): (WebKit::RemoteGraphicsContextGLProxy::create): Deleted. * Source/WebKit/WebProcess/GPU/graphics/wc/RemoteGraphicsContextGLProxyWC.cpp: (WebKit::RemoteGraphicsContextGLProxy::platformCreate): (WebKit::RemoteGraphicsContextGLProxy::create): Deleted. * Tools/TestWebKitAPI/Tests/IPC/StreamConnectionBufferTests.cpp: (TestWebKitAPI::TEST): * Tools/TestWebKitAPI/Tests/IPC/StreamConnectionTests.cpp: (TestWebKitAPI::TEST_F): Canonical link: https://commits.webkit.org/260738@main
29ea73b
to
8e47c0f
Compare
Committed 260738@main (8e47c0f): https://commits.webkit.org/260738@main Reviewed commits have been landed. Closing PR #10504 and removing active labels. |
8e47c0f
29ea73b