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

Reply via email to