Title: [150691] trunk/Source/WebKit2
Revision
150691
Author
akl...@apple.com
Date
2013-05-25 14:34:26 -0700 (Sat, 25 May 2013)

Log Message

REGRESSION: WebProcess is terminated when all Safari windows are closed.
<rdar://problem/13990901>
<http://webkit.org/b/116766>

Reviewed by Alexey Proskuryakov.

When closing the last page, only disconnect the web process if we're using a network process.
Otherwise there might be session state in the web process getting lost.

* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::removeWebPage):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (150690 => 150691)


--- trunk/Source/WebKit2/ChangeLog	2013-05-25 20:17:29 UTC (rev 150690)
+++ trunk/Source/WebKit2/ChangeLog	2013-05-25 21:34:26 UTC (rev 150691)
@@ -1,3 +1,17 @@
+2013-05-25  Andreas Kling  <akl...@apple.com>
+
+        REGRESSION: WebProcess is terminated when all Safari windows are closed.
+        <rdar://problem/13990901>
+        <http://webkit.org/b/116766>
+
+        Reviewed by Alexey Proskuryakov.
+
+        When closing the last page, only disconnect the web process if we're using a network process.
+        Otherwise there might be session state in the web process getting lost.
+
+        * UIProcess/WebProcessProxy.cpp:
+        (WebKit::WebProcessProxy::removeWebPage):
+
 2013-05-25  Santosh Mahto  <santosh...@samsung.com>
 
         WebFrameProxy::didFailLoad clears frame title for no apparent reason

Modified: trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp (150690 => 150691)


--- trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp	2013-05-25 20:17:29 UTC (rev 150690)
+++ trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp	2013-05-25 21:34:26 UTC (rev 150691)
@@ -201,7 +201,8 @@
 #endif
 
     // If this was the last WebPage open in that web process, and we have no other reason to keep it alive, let it go.
-    if (canTerminateChildProcess()) {
+    // We only allow this when using a network process, as otherwise the WebProcess needs to preserve its session state.
+    if (m_context->usesNetworkProcess() && canTerminateChildProcess()) {
         abortProcessLaunchIfNeeded();
         disconnect();
     }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to