Title: [230567] branches/safari-605-branch/Source/WebKit
- Revision
- 230567
- Author
- kocsen_ch...@apple.com
- Date
- 2018-04-12 06:41:00 -0700 (Thu, 12 Apr 2018)
Log Message
Cherry-pick r229872. rdar://problem/39349363
Use the same SWServer for all ephemeral sessions
https://bugs.webkit.org/show_bug.cgi?id=183921
<rdar://problem/36873075>
Reviewed by Youenn Fablet.
Use the same SWServer for all ephemeral sessions. SWServers never go away and we create
one per sessionID. When browsing doing private browsing in Safari (and other fetching
favorite icons), the sessionID is ephemeral and keeps changing. This means that we kept
constructing new SWServers that would never go away. Each SWServer has a thread so we
would eventually hit the thread limit for the storage process.
* StorageProcess/StorageProcess.cpp:
(WebKit::StorageProcess::swServerForSession):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229872 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Modified Paths
Diff
Modified: branches/safari-605-branch/Source/WebKit/ChangeLog (230566 => 230567)
--- branches/safari-605-branch/Source/WebKit/ChangeLog 2018-04-12 13:40:57 UTC (rev 230566)
+++ branches/safari-605-branch/Source/WebKit/ChangeLog 2018-04-12 13:41:00 UTC (rev 230567)
@@ -1,3 +1,42 @@
+2018-04-11 Kocsen Chung <kocsen_ch...@apple.com>
+
+ Cherry-pick r229872. rdar://problem/39349363
+
+ Use the same SWServer for all ephemeral sessions
+ https://bugs.webkit.org/show_bug.cgi?id=183921
+ <rdar://problem/36873075>
+
+ Reviewed by Youenn Fablet.
+
+ Use the same SWServer for all ephemeral sessions. SWServers never go away and we create
+ one per sessionID. When browsing doing private browsing in Safari (and other fetching
+ favorite icons), the sessionID is ephemeral and keeps changing. This means that we kept
+ constructing new SWServers that would never go away. Each SWServer has a thread so we
+ would eventually hit the thread limit for the storage process.
+
+ * StorageProcess/StorageProcess.cpp:
+ (WebKit::StorageProcess::swServerForSession):
+
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229872 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2018-03-22 Chris Dumez <cdu...@apple.com>
+
+ Use the same SWServer for all ephemeral sessions
+ https://bugs.webkit.org/show_bug.cgi?id=183921
+ <rdar://problem/36873075>
+
+ Reviewed by Youenn Fablet.
+
+ Use the same SWServer for all ephemeral sessions. SWServers never go away and we create
+ one per sessionID. When browsing doing private browsing in Safari (and other fetching
+ favorite icons), the sessionID is ephemeral and keeps changing. This means that we kept
+ constructing new SWServers that would never go away. Each SWServer has a thread so we
+ would eventually hit the thread limit for the storage process.
+
+ * StorageProcess/StorageProcess.cpp:
+ (WebKit::StorageProcess::swServerForSession):
+
2018-04-10 Kocsen Chung <kocsen_ch...@apple.com>
Cherry-pick r230467. rdar://problem/39317878
Modified: branches/safari-605-branch/Source/WebKit/StorageProcess/StorageProcess.cpp (230566 => 230567)
--- branches/safari-605-branch/Source/WebKit/StorageProcess/StorageProcess.cpp 2018-04-12 13:40:57 UTC (rev 230566)
+++ branches/safari-605-branch/Source/WebKit/StorageProcess/StorageProcess.cpp 2018-04-12 13:41:00 UTC (rev 230567)
@@ -418,6 +418,11 @@
SWServer& StorageProcess::swServerForSession(PAL::SessionID sessionID)
{
ASSERT(sessionID.isValid());
+
+ // Use the same SWServer for all ephemeral sessions.
+ if (sessionID.isEphemeral())
+ sessionID = PAL::SessionID::legacyPrivateSessionID();
+
auto result = m_swServers.add(sessionID, nullptr);
if (!result.isNewEntry) {
ASSERT(result.iterator->value);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes