Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 8e47c0fabb97ea07aa6d12bea0c47b791be19250 https://github.com/WebKit/WebKit/commit/8e47c0fabb97ea07aa6d12bea0c47b791be19250 Author: Kimmo Kinnunen <kkinnu...@apple.com> Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths: M LayoutTests/platform/glib/TestExpectations M LayoutTests/webgl/webgl-fail-platform-context-creation-no-crash.html A LayoutTests/webgl/webgl-fail-remote-context-ipc-buffer-allocation-no-crash-expected.txt A LayoutTests/webgl/webgl-fail-remote-context-ipc-buffer-allocation-no-crash.html M Source/WebCore/html/canvas/WebGLContextAttributes.idl M Source/WebCore/platform/graphics/GraphicsContextGLAttributes.h M Source/WebKit/Platform/IPC/StreamClientConnection.cpp M Source/WebKit/Platform/IPC/StreamClientConnection.h M Source/WebKit/Platform/IPC/StreamClientConnectionBuffer.h M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h M Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.cpp M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.h M Source/WebKit/WebProcess/GPU/graphics/cocoa/RemoteGraphicsContextGLProxyCocoa.mm M Source/WebKit/WebProcess/GPU/graphics/wc/RemoteGraphicsContextGLProxyWC.cpp M Tools/TestWebKitAPI/Tests/IPC/StreamConnectionBufferTests.cpp M Tools/TestWebKitAPI/Tests/IPC/StreamConnectionTests.cpp Log Message: ----------- WebContent crashes if GPUP WebGL remote context buffer cannot be allocated 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 _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes