Title: [187603] branches/safari-601.1-branch/Source/WebKit2
- Revision
- 187603
- Author
- matthew_han...@apple.com
- Date
- 2015-07-30 13:23:53 -0700 (Thu, 30 Jul 2015)
Log Message
Merge r187478. rdar://problem/21838764
Modified Paths
Diff
Modified: branches/safari-601.1-branch/Source/WebKit2/ChangeLog (187602 => 187603)
--- branches/safari-601.1-branch/Source/WebKit2/ChangeLog 2015-07-30 20:20:55 UTC (rev 187602)
+++ branches/safari-601.1-branch/Source/WebKit2/ChangeLog 2015-07-30 20:23:53 UTC (rev 187603)
@@ -1,3 +1,25 @@
+2015-07-30 Matthew Hanson <matthew_han...@apple.com>
+
+ Merge r187478. rdar://problem/21838764
+
+ 2015-07-27 Andreas Kling <akl...@apple.com>
+
+ WebsiteDataStore should clean up its storage in the network process when destroyed.
+ <https://webkit.org/b/147349>
+ <rdar://problem/21838764>
+
+ Reviewed by Darin Adler.
+
+ Have ~WebsiteDataStore() send a DestroyPrivateBrowsingSession message to all networking processes
+ for ephemeral sessions. This plugs a NetworkStorageSession leak that could retain a large
+ CFNetwork object graph.
+
+ This complements r187115 which did the same for network process storage owned by
+ API::Session objects.
+
+ * UIProcess/WebsiteData/WebsiteDataStore.cpp:
+ (WebKit::WebsiteDataStore::~WebsiteDataStore):
+
2015-07-27 Babak Shafiei <bshaf...@apple.com>
Roll out r187376.
Modified: branches/safari-601.1-branch/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.cpp (187602 => 187603)
--- branches/safari-601.1-branch/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.cpp 2015-07-30 20:20:55 UTC (rev 187602)
+++ branches/safari-601.1-branch/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.cpp 2015-07-30 20:23:53 UTC (rev 187603)
@@ -28,6 +28,7 @@
#include "APIProcessPoolConfiguration.h"
#include "APIWebsiteDataRecord.h"
+#include "NetworkProcessMessages.h"
#include "StorageManager.h"
#include "WebProcessPool.h"
#include "WebsiteData.h"
@@ -92,6 +93,13 @@
WebsiteDataStore::~WebsiteDataStore()
{
platformDestroy();
+
+#if ENABLE(NETWORK_PROCESS)
+ if (m_sessionID.isEphemeral()) {
+ for (auto& processPool : WebProcessPool::allProcessPools())
+ processPool->sendToNetworkingProcess(Messages::NetworkProcess::DestroyPrivateBrowsingSession(m_sessionID));
+ }
+#endif
}
void WebsiteDataStore::cloneSessionData(WebPageProxy& sourcePage, WebPageProxy& newPage)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes