Title: [292143] trunk/Source/WebKit
Revision
292143
Author
simon.fra...@apple.com
Date
2022-03-30 23:04:21 -0700 (Wed, 30 Mar 2022)

Log Message

Crash the WebContent process if the RemoteRenderingBackend::PrepareBuffersForDisplay IPC fails
https://bugs.webkit.org/show_bug.cgi?id=238569

Reviewed by Kimmo Kinnunen.

We can't sensibly recover from RemoteRenderingBackend::PrepareBuffersForDisplay IPC failing,
which can happen when the GPU process crashes, so just crash the WebContent process.

* WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::prepareBuffersForDisplay):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (292142 => 292143)


--- trunk/Source/WebKit/ChangeLog	2022-03-31 06:02:36 UTC (rev 292142)
+++ trunk/Source/WebKit/ChangeLog	2022-03-31 06:04:21 UTC (rev 292143)
@@ -1,3 +1,16 @@
+2022-03-30  Simon Fraser  <simon.fra...@apple.com>
+
+        Crash the WebContent process if the RemoteRenderingBackend::PrepareBuffersForDisplay IPC fails
+        https://bugs.webkit.org/show_bug.cgi?id=238569
+
+        Reviewed by Kimmo Kinnunen.
+
+        We can't sensibly recover from RemoteRenderingBackend::PrepareBuffersForDisplay IPC failing,
+        which can happen when the GPU process crashes, so just crash the WebContent process.
+
+        * WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
+        (WebKit::RemoteRenderingBackendProxy::prepareBuffersForDisplay):
+
 2022-03-30  Sihui Liu  <sihui_...@apple.com>
 
         Regression: WebsiteDataStore fails to read experimental feature values from NSUserDefaults

Modified: trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp (292142 => 292143)


--- trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp	2022-03-31 06:02:36 UTC (rev 292142)
+++ trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp	2022-03-31 06:04:21 UTC (rev 292143)
@@ -308,7 +308,8 @@
     }
 
     Vector<PrepareBackingStoreBuffersOutputData> outputData;
-    sendSyncToStream(Messages::RemoteRenderingBackend::PrepareBuffersForDisplay(inputData), Messages::RemoteRenderingBackend::PrepareBuffersForDisplay::Reply(outputData));
+    auto sendResult = sendSyncToStream(Messages::RemoteRenderingBackend::PrepareBuffersForDisplay(inputData), Messages::RemoteRenderingBackend::PrepareBuffersForDisplay::Reply(outputData));
+    RELEASE_ASSERT(sendResult);
     RELEASE_ASSERT(inputData.size() == outputData.size());
 
     auto fetchBufferWithIdentifier = [&](std::optional<RenderingResourceIdentifier> identifier, std::optional<ImageBufferBackendHandle>&& handle = std::nullopt, bool isFrontBuffer = false) -> RefPtr<ImageBuffer> {
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to