[Webkit-unassigned] [Bug 248458] [Curl] Register/Unregister NetworkDataTaskCurl to NetworkSession

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Nov 28 23:50:13 PST 2022


https://bugs.webkit.org/show_bug.cgi?id=248458

--- Comment #1 from Kenji Shukuwa <kenji.shukuwa at open-tec.co.jp> ---
It seems that by registering to the NetworkSession, NetworkDataTask::invalidateAndCancel is called 
when the WebsiteDataStore is destroyed.

https://github.com/WebKit/WebKit/blob/main/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp#L170-L171
---
WebsiteDataStore::~WebsiteDataStore()
{
    if (m_networkProcess)
        m_networkProcess->removeSession(*this);
---

https://github.com/WebKit/WebKit/blob/main/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp#L1427-L1428
---
void NetworkProcessProxy::removeSession(WebsiteDataStore& websiteDataStore)
{
    if (canSendMessage())
        send(Messages::NetworkProcess::DestroySession { websiteDataStore.sessionID() }, 0);
---

https://github.com/WebKit/WebKit/blob/main/Source/WebKit/NetworkProcess/NetworkProcess.cpp#L560
---
void NetworkProcess::destroySession(PAL::SessionID sessionID)
{
    if (auto session = m_networkSessions.take(sessionID)) {
        session->invalidateAndCancel();
---

https://github.com/WebKit/WebKit/blob/main/Source/WebKit/NetworkProcess/NetworkSession.cpp#L215-L216
---
void NetworkSession::invalidateAndCancel()
{
    for (auto& task : m_dataTaskSet)
        task.invalidateAndCancel();
---

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20221129/c5a5241a/attachment-0001.htm>


More information about the webkit-unassigned mailing list