Changeset 230567 in webkit


Ignore:
Timestamp:
Apr 12, 2018 6:41:00 AM (6 years ago)
Author:
Kocsen Chung
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

Location:
branches/safari-605-branch/Source/WebKit
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/safari-605-branch/Source/WebKit/ChangeLog

    r230538 r230567  
     12018-04-11  Kocsen Chung  <kocsen_chung@apple.com>
     2
     3        Cherry-pick r229872. rdar://problem/39349363
     4
     5    Use the same SWServer for all ephemeral sessions
     6    https://bugs.webkit.org/show_bug.cgi?id=183921
     7    <rdar://problem/36873075>
     8   
     9    Reviewed by Youenn Fablet.
     10   
     11    Use the same SWServer for all ephemeral sessions. SWServers never go away and we create
     12    one per sessionID. When browsing doing private browsing in Safari (and other fetching
     13    favorite icons), the sessionID is ephemeral and keeps changing. This means that we kept
     14    constructing new SWServers that would never go away. Each SWServer has a thread so we
     15    would eventually hit the thread limit for the storage process.
     16   
     17    * StorageProcess/StorageProcess.cpp:
     18    (WebKit::StorageProcess::swServerForSession):
     19   
     20   
     21    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229872 268f45cc-cd09-0410-ab3c-d52691b4dbfc
     22
     23    2018-03-22  Chris Dumez  <cdumez@apple.com>
     24
     25            Use the same SWServer for all ephemeral sessions
     26            https://bugs.webkit.org/show_bug.cgi?id=183921
     27            <rdar://problem/36873075>
     28
     29            Reviewed by Youenn Fablet.
     30
     31            Use the same SWServer for all ephemeral sessions. SWServers never go away and we create
     32            one per sessionID. When browsing doing private browsing in Safari (and other fetching
     33            favorite icons), the sessionID is ephemeral and keeps changing. This means that we kept
     34            constructing new SWServers that would never go away. Each SWServer has a thread so we
     35            would eventually hit the thread limit for the storage process.
     36
     37            * StorageProcess/StorageProcess.cpp:
     38            (WebKit::StorageProcess::swServerForSession):
     39
    1402018-04-10  Kocsen Chung  <kocsen_chung@apple.com>
    241
  • branches/safari-605-branch/Source/WebKit/StorageProcess/StorageProcess.cpp

    r229039 r230567  
    419419{
    420420    ASSERT(sessionID.isValid());
     421
     422    // Use the same SWServer for all ephemeral sessions.
     423    if (sessionID.isEphemeral())
     424        sessionID = PAL::SessionID::legacyPrivateSessionID();
     425
    421426    auto result = m_swServers.add(sessionID, nullptr);
    422427    if (!result.isNewEntry) {
Note: See TracChangeset for help on using the changeset viewer.