Title: [187297] branches/safari-601.1-branch/Source/WebKit2
Revision
187297
Author
[email protected]
Date
2015-07-23 23:24:35 -0700 (Thu, 23 Jul 2015)

Log Message

Merged r187115.  rdar://problem/21838764

Modified Paths

Diff

Modified: branches/safari-601.1-branch/Source/WebKit2/ChangeLog (187296 => 187297)


--- branches/safari-601.1-branch/Source/WebKit2/ChangeLog	2015-07-24 06:21:42 UTC (rev 187296)
+++ branches/safari-601.1-branch/Source/WebKit2/ChangeLog	2015-07-24 06:24:35 UTC (rev 187297)
@@ -1,5 +1,24 @@
 2015-07-23  Lucas Forschler  <[email protected]>
 
+        Merge r187115
+
+    2015-07-21  Andreas Kling  <[email protected]>
+
+            API::Session should clean up its storage in the network process when destroyed.
+            <https://webkit.org/b/147139>
+            <rdar://problem/21838764>
+
+            Reviewed by Anders Carlsson.
+
+            Have ~Session() send a DestroyPrivateBrowsingSession message to all networking processes
+            for ephemeral sessions. This plugs a NetworkStorageSession leak that could retain a large
+            CFNetwork object graph.
+
+            * UIProcess/API/APISession.cpp:
+            (API::Session::~Session):
+
+2015-07-23  Lucas Forschler  <[email protected]>
+
         Merge r187045
 
     2015-07-20  Antti Koivisto  <[email protected]>

Modified: branches/safari-601.1-branch/Source/WebKit2/UIProcess/API/APISession.cpp (187296 => 187297)


--- branches/safari-601.1-branch/Source/WebKit2/UIProcess/API/APISession.cpp	2015-07-24 06:21:42 UTC (rev 187296)
+++ branches/safari-601.1-branch/Source/WebKit2/UIProcess/API/APISession.cpp	2015-07-24 06:24:35 UTC (rev 187297)
@@ -28,6 +28,11 @@
 
 #include <wtf/RunLoop.h>
 
+#if ENABLE(NETWORK_PROCESS)
+#include "NetworkProcessMessages.h"
+#include "WebProcessPool.h"
+#endif
+
 namespace API {
 
 static uint64_t generateID()
@@ -75,6 +80,12 @@
 
 Session::~Session()
 {
+#if ENABLE(NETWORK_PROCESS)
+    if (m_sessionID.isEphemeral()) {
+        for (auto& processPool : WebKit::WebProcessPool::allProcessPools())
+            processPool->sendToNetworkingProcess(Messages::NetworkProcess::DestroyPrivateBrowsingSession(m_sessionID));
+    }
+#endif
 }
 
 } // namespace API
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to