Changeset 247283 in webkit


Ignore:
Timestamp:
Jul 9, 2019 3:40:08 PM (5 years ago)
Author:
Chris Dumez
Message:

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

Reviewed by Alex Christensen.

Avoid double HashMap lookups and call add() instead of ensure() when appropriate.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::networkSessionByConnection const):
(WebKit::NetworkProcess::webPageWasAdded):
(WebKit::NetworkProcess::webProcessWasDisconnected):

Location:
trunk/Source
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/page/PageGroup.cpp

    r230211 r247283  
    9494    ASSERT(!m_pages.contains(&page));
    9595    m_pages.add(&page);
     96   
     97    if (m_isLegacyPrivateBrowsingEnabledForTesting)
     98        page.enableLegacyPrivateBrowsing(true);
    9699}
    97100
     
    124127#endif
    125128
     129void PageGroup::enableLegacyPrivateBrowsingForTesting(bool enabled)
     130{
     131    if (m_isLegacyPrivateBrowsingEnabledForTesting == enabled)
     132        return;
     133
     134    m_isLegacyPrivateBrowsingEnabledForTesting = enabled;
     135   
     136    for (auto* page : m_pages)
     137        page->enableLegacyPrivateBrowsing(enabled);
     138}
     139
    126140} // namespace WebCore
  • trunk/Source/WebCore/page/PageGroup.h

    r218748 r247283  
    5959#endif
    6060
     61    WEBCORE_EXPORT void enableLegacyPrivateBrowsingForTesting(bool);
     62
    6163private:
    6264    String m_name;
     
    6870    std::unique_ptr<CaptionUserPreferences> m_captionPreferences;
    6971#endif
     72
     73    bool m_isLegacyPrivateBrowsingEnabledForTesting { false };
    7074};
    7175
  • trunk/Source/WebKit/ChangeLog

    r247281 r247283  
     12019-07-09  Chris Dumez  <cdumez@apple.com>
     2
     3        Cleanup uses of NetworkProcess::m_sessionByConnection
     4        https://bugs.webkit.org/show_bug.cgi?id=199586
     5
     6        Reviewed by Alex Christensen.
     7
     8        Avoid double HashMap lookups and call add() instead of ensure() when appropriate.
     9
     10        * NetworkProcess/NetworkProcess.cpp:
     11        (WebKit::NetworkProcess::networkSessionByConnection const):
     12        (WebKit::NetworkProcess::webPageWasAdded):
     13        (WebKit::NetworkProcess::webProcessWasDisconnected):
     14
    1152019-07-09  Saagar Jha  <saagarjha@apple.com>
    216
  • trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp

    r247277 r247283  
    573573NetworkSession* NetworkProcess::networkSessionByConnection(IPC::Connection& connection) const
    574574{
    575     if (!m_sessionByConnection.contains(connection.uniqueID()))
    576         return nullptr;
    577 
    578     return networkSession(m_sessionByConnection.get(connection.uniqueID()));
     575    auto sessionID = m_sessionByConnection.get(connection.uniqueID());
     576    return sessionID.isValid() ? networkSession(sessionID) : nullptr;
    579577}
    580578
     
    26742672    auto& storageManager = session->storageManager();
    26752673
    2676     auto connectionID = connection.uniqueID();
    2677     m_sessionByConnection.ensure(connectionID, [&]() {
    2678         return sessionID;
    2679     });
     2674    auto addResult = m_sessionByConnection.add(connection.uniqueID(), sessionID);
     2675    ASSERT_UNUSED(addResult, addResult.iterator->value == sessionID);
    26802676
    26812677    storageManager.createSessionStorageNamespace(pageID.toUInt64(), std::numeric_limits<unsigned>::max());
     
    27042700void NetworkProcess::webProcessWasDisconnected(IPC::Connection& connection)
    27052701{
    2706     auto connectionID = connection.uniqueID();
    2707     if (!m_sessionByConnection.contains(connectionID))
    2708         return;
    2709 
    2710     auto sessionID = m_sessionByConnection.take(connectionID);
     2702    auto sessionID = m_sessionByConnection.take(connection.uniqueID());
     2703    if (!sessionID.isValid())
     2704        return;
     2705
    27112706    if (auto* session = networkSession(sessionID))
    27122707        session->storageManager().processDidCloseConnection(connection);
  • trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp

    r246285 r247283  
    351351    WebProcess::singleton().enablePrivateBrowsingForTesting(enabled);
    352352
    353     const HashSet<Page*>& pages = PageGroup::pageGroup(pageGroup->identifier())->pages();
    354     for (HashSet<Page*>::iterator iter = pages.begin(); iter != pages.end(); ++iter)
    355         (*iter)->enableLegacyPrivateBrowsing(enabled);
     353    PageGroup::pageGroup(pageGroup->identifier())->enableLegacyPrivateBrowsingForTesting(enabled);
    356354}
    357355
Note: See TracChangeset for help on using the changeset viewer.