⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 187115 in webkit


Ignore:
Timestamp:
Jul 21, 2015, 12:54:23 PM (11 years ago)
Author:
akling@apple.com
Message:

API::Session should clean up its storage in the network process when destroyed.
<https://webkit.org/b/147139>
<rdar://problem/21838764>

Reviewed by Anders Carlsson.

Have ~Session() send a DestroyPrivateBrowsingSession message to all networking processes
for ephemeral sessions. This plugs a NetworkStorageSession leak that could retain a large
CFNetwork object graph.

  • UIProcess/API/APISession.cpp:

(API::Session::~Session):

Location:
trunk/Source/WebKit2
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r187114 r187115  
     12015-07-21  Andreas Kling  <akling@apple.com>
     2
     3        API::Session should clean up its storage in the network process when destroyed.
     4        <https://webkit.org/b/147139>
     5        <rdar://problem/21838764>
     6
     7        Reviewed by Anders Carlsson.
     8
     9        Have ~Session() send a DestroyPrivateBrowsingSession message to all networking processes
     10        for ephemeral sessions. This plugs a NetworkStorageSession leak that could retain a large
     11        CFNetwork object graph.
     12
     13        * UIProcess/API/APISession.cpp:
     14        (API::Session::~Session):
     15
    1162015-07-21  Sungmann Cho  <sungmann.cho@navercorp.com>
    217
  • trunk/Source/WebKit2/UIProcess/API/APISession.cpp

    r186059 r187115  
    2828
    2929#include <wtf/RunLoop.h>
     30
     31#if ENABLE(NETWORK_PROCESS)
     32#include "NetworkProcessMessages.h"
     33#include "WebProcessPool.h"
     34#endif
    3035
    3136namespace API {
     
    7681Session::~Session()
    7782{
     83#if ENABLE(NETWORK_PROCESS)
     84    if (m_sessionID.isEphemeral()) {
     85        for (auto& processPool : WebKit::WebProcessPool::allProcessPools())
     86            processPool->sendToNetworkingProcess(Messages::NetworkProcess::DestroyPrivateBrowsingSession(m_sessionID));
     87    }
     88#endif
    7889}
    7990
Note: See TracChangeset for help on using the changeset viewer.