Changeset 247277 in webkit


Ignore:
Timestamp:
Jul 9, 2019 2:01:50 PM (5 years ago)
Author:
Truitt Savell
Message:

Unreviewed, rolling out r247230.

Caused storage/domstorage/localstorage/private-browsing-
affects-storage.html to crash with an assertion.

Reverted changeset:

"Cleanup uses of NetworkProcess::m_sessionByConnection"
https://bugs.webkit.org/show_bug.cgi?id=199586
https://trac.webkit.org/changeset/247230

Location:
trunk/Source/WebKit
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r247276 r247277  
     12019-07-09  Truitt Savell  <tsavell@apple.com>
     2
     3        Unreviewed, rolling out r247230.
     4
     5        Caused storage/domstorage/localstorage/private-browsing-
     6        affects-storage.html to crash with an assertion.
     7
     8        Reverted changeset:
     9
     10        "Cleanup uses of NetworkProcess::m_sessionByConnection"
     11        https://bugs.webkit.org/show_bug.cgi?id=199586
     12        https://trac.webkit.org/changeset/247230
     13
    1142019-07-09  Youenn Fablet  <youenn@apple.com>
    215
  • trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp

    r247270 r247277  
    573573NetworkSession* NetworkProcess::networkSessionByConnection(IPC::Connection& connection) const
    574574{
    575     auto sessionID = m_sessionByConnection.get(connection.uniqueID());
    576     return sessionID.isValid() ? networkSession(sessionID) : nullptr;
     575    if (!m_sessionByConnection.contains(connection.uniqueID()))
     576        return nullptr;
     577
     578    return networkSession(m_sessionByConnection.get(connection.uniqueID()));
    577579}
    578580
     
    26722674    auto& storageManager = session->storageManager();
    26732675
    2674     auto addResult = m_sessionByConnection.add(connection.uniqueID(), sessionID);
    2675     ASSERT_UNUSED(addResult, addResult.iterator->value == sessionID);
     2676    auto connectionID = connection.uniqueID();
     2677    m_sessionByConnection.ensure(connectionID, [&]() {
     2678        return sessionID;
     2679    });
    26762680
    26772681    storageManager.createSessionStorageNamespace(pageID.toUInt64(), std::numeric_limits<unsigned>::max());
     
    27002704void NetworkProcess::webProcessWasDisconnected(IPC::Connection& connection)
    27012705{
    2702     auto sessionID = m_sessionByConnection.take(connection.uniqueID());
    2703     if (!sessionID.isValid())
    2704         return;
    2705 
     2706    auto connectionID = connection.uniqueID();
     2707    if (!m_sessionByConnection.contains(connectionID))
     2708        return;
     2709
     2710    auto sessionID = m_sessionByConnection.take(connectionID);
    27062711    if (auto* session = networkSession(sessionID))
    27072712        session->storageManager().processDidCloseConnection(connection);
Note: See TracChangeset for help on using the changeset viewer.