Title: [231405] releases/WebKitGTK/webkit-2.20
Revision
231405
Author
[email protected]
Date
2018-05-07 00:46:08 -0700 (Mon, 07 May 2018)

Log Message

Revert "REGRESSION(r222772): [GTK][WPE] WebProcess from WebKitGtk+ 2.19.9x SIGSEVs in WebKit::WebProcess::ensureNetworkProcessConnection() at Source/WebKit/WebProcess/WebProcess.cpp:1127"

This reverts commit r230476.

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.20/Source/WebKit/ChangeLog (231404 => 231405)


--- releases/WebKitGTK/webkit-2.20/Source/WebKit/ChangeLog	2018-05-07 05:24:59 UTC (rev 231404)
+++ releases/WebKitGTK/webkit-2.20/Source/WebKit/ChangeLog	2018-05-07 07:46:08 UTC (rev 231405)
@@ -4,21 +4,6 @@
 
         * gtk/NEWS: Add release notes for 2.20.1.
 
-2018-04-09  Carlos Garcia Campos  <[email protected]>
-
-        REGRESSION(r222772): [GTK][WPE] WebProcess from WebKitGtk+ 2.19.9x SIGSEVs in WebKit::WebProcess::ensureNetworkProcessConnection() at Source/WebKit/WebProcess/WebProcess.cpp:1127
-        https://bugs.webkit.org/show_bug.cgi?id=183348
-
-        Reviewed by Michael Catanzaro.
-
-        When connection doesn't exit in case of sync message failure, always exit in case of failing to send
-        GetNetworkProcessConnection message. This can happen when the WebView is created and destroyed quickly.
-
-        * Platform/IPC/Connection.h:
-        (IPC::Connection::shouldExitOnSyncMessageSendFailure const):
-        * WebProcess/WebProcess.cpp:
-        (WebKit::WebProcess::ensureNetworkProcessConnection):
-
 2018-04-09  Michael Catanzaro  <[email protected]>
 
         Unreviewed, rolling out r230390.

Modified: releases/WebKitGTK/webkit-2.20/Source/WebKit/Platform/IPC/Connection.h (231404 => 231405)


--- releases/WebKitGTK/webkit-2.20/Source/WebKit/Platform/IPC/Connection.h	2018-05-07 05:24:59 UTC (rev 231404)
+++ releases/WebKitGTK/webkit-2.20/Source/WebKit/Platform/IPC/Connection.h	2018-05-07 07:46:08 UTC (rev 231405)
@@ -152,7 +152,6 @@
 
     void setOnlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage(bool);
     void setShouldExitOnSyncMessageSendFailure(bool);
-    bool shouldExitOnSyncMessageSendFailure() const { return m_shouldExitOnSyncMessageSendFailure; }
 
     // The set callback will be called on the connection work queue when the connection is closed, 
     // before didCall is called on the client thread. Must be called before the connection is opened.

Modified: releases/WebKitGTK/webkit-2.20/Source/WebKit/WebProcess/WebProcess.cpp (231404 => 231405)


--- releases/WebKitGTK/webkit-2.20/Source/WebKit/WebProcess/WebProcess.cpp	2018-05-07 05:24:59 UTC (rev 231404)
+++ releases/WebKitGTK/webkit-2.20/Source/WebKit/WebProcess/WebProcess.cpp	2018-05-07 07:46:08 UTC (rev 231405)
@@ -1121,16 +1121,8 @@
     if (!m_networkProcessConnection) {
         IPC::Attachment encodedConnectionIdentifier;
 
-        if (!parentProcessConnection()->sendSync(Messages::WebProcessProxy::GetNetworkProcessConnection(), Messages::WebProcessProxy::GetNetworkProcessConnection::Reply(encodedConnectionIdentifier), 0, Seconds::infinity(), IPC::SendSyncOption::DoNotProcessIncomingMessagesWhenWaitingForSyncReply)) {
-            if (!parentProcessConnection()->shouldExitOnSyncMessageSendFailure()) {
-                // In this particular case, the network process can be terminated by the UI process while the
-                // Web process is still initializing, so we always want to exit instead of crashing. This can
-                // happen when the WebView is created and then destroyed quickly.
-                // See https://bugs.webkit.org/show_bug.cgi?id=183348.
-                exit(0);
-            }
+        if (!parentProcessConnection()->sendSync(Messages::WebProcessProxy::GetNetworkProcessConnection(), Messages::WebProcessProxy::GetNetworkProcessConnection::Reply(encodedConnectionIdentifier), 0, Seconds::infinity(), IPC::SendSyncOption::DoNotProcessIncomingMessagesWhenWaitingForSyncReply))
             CRASH();
-        }
 
 #if USE(UNIX_DOMAIN_SOCKETS)
         IPC::Connection::Identifier connectionIdentifier = encodedConnectionIdentifier.releaseFileDescriptor();

Modified: releases/WebKitGTK/webkit-2.20/Tools/ChangeLog (231404 => 231405)


--- releases/WebKitGTK/webkit-2.20/Tools/ChangeLog	2018-05-07 05:24:59 UTC (rev 231404)
+++ releases/WebKitGTK/webkit-2.20/Tools/ChangeLog	2018-05-07 07:46:08 UTC (rev 231405)
@@ -1,16 +1,3 @@
-2018-04-09  Carlos Garcia Campos  <[email protected]>
-
-        REGRESSION(r222772): [GTK][WPE] WebProcess from WebKitGtk+ 2.19.9x SIGSEVs in WebKit::WebProcess::ensureNetworkProcessConnection() at Source/WebKit/WebProcess/WebProcess.cpp:1127
-        https://bugs.webkit.org/show_bug.cgi?id=183348
-
-        Reviewed by Michael Catanzaro.
-
-        Add a test case to reproduce the crash.
-
-        * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
-        (testWebViewCloseQuickly):
-        (beforeAll):
-
 2018-04-03  Carlos Garcia Campos  <[email protected]>
 
         ASSERTION FAILED: !m_mainFrame->coreFrame()->loader().frameHasLoaded() || !m_pendingNavigationID when reloading page while a page is loading

Modified: releases/WebKitGTK/webkit-2.20/Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp (231404 => 231405)


--- releases/WebKitGTK/webkit-2.20/Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp	2018-05-07 05:24:59 UTC (rev 231404)
+++ releases/WebKitGTK/webkit-2.20/Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp	2018-05-07 07:46:08 UTC (rev 231405)
@@ -107,18 +107,6 @@
     g_object_unref(webContext2);
 }
 
-static void testWebViewCloseQuickly(WebViewTest* test, gconstpointer)
-{
-    auto webView = Test::adoptView(Test::createWebView());
-    test->assertObjectIsDeletedWhenTestFinishes(G_OBJECT(webView.get()));
-    g_idle_add([](gpointer userData) -> gboolean {
-        static_cast<WebViewTest*>(userData)->quitMainLoop();
-        return G_SOURCE_REMOVE;
-    }, test);
-    g_main_loop_run(test->m_mainLoop);
-    webView = nullptr;
-}
-
 #if PLATFORM(WPE)
 static void testWebViewWebBackend(Test* test, gconstpointer)
 {
@@ -1200,7 +1188,6 @@
 
     WebViewTest::add("WebKitWebView", "web-context", testWebViewWebContext);
     WebViewTest::add("WebKitWebView", "web-context-lifetime", testWebViewWebContextLifetime);
-    WebViewTest::add("WebKitWebView", "close-quickly", testWebViewCloseQuickly);
 #if PLATFORM(WPE)
     Test::add("WebKitWebView", "backend", testWebViewWebBackend);
 #endif
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to