Changeset 242304 in webkit


Ignore:
Timestamp:
Mar 1, 2019 6:41:21 PM (5 years ago)
Author:
achristensen@apple.com
Message:

NetworkDataTask redirection should not keep alive its NetworkSession
https://bugs.webkit.org/show_bug.cgi?id=194927

Reviewed by Darin Adler.

This should fix rdar://problem/47580502

  • NetworkProcess/NetworkDataTask.h:
  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection):

Location:
trunk/Source/WebKit
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r242303 r242304  
     12019-03-01  Alex Christensen  <achristensen@webkit.org>
     2
     3        NetworkDataTask redirection should not keep alive its NetworkSession
     4        https://bugs.webkit.org/show_bug.cgi?id=194927
     5
     6        Reviewed by Darin Adler.
     7
     8        This should fix rdar://problem/47580502
     9
     10        * NetworkProcess/NetworkDataTask.h:
     11        * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
     12        (WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection):
     13
    1142019-03-01  Alex Christensen  <achristensen@webkit.org>
    215
  • trunk/Source/WebKit/NetworkProcess/NetworkDataTask.h

    r241317 r242304  
    7878};
    7979
    80 class NetworkDataTask : public RefCounted<NetworkDataTask> {
     80class NetworkDataTask : public RefCounted<NetworkDataTask>, public CanMakeWeakPtr<NetworkDataTask> {
    8181public:
    8282    static Ref<NetworkDataTask> create(NetworkSession&, NetworkDataTaskClient&, const NetworkLoadParameters&);
  • trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm

    r241317 r242304  
    376376
    377377    if (m_client)
    378         m_client->willPerformHTTPRedirection(WTFMove(redirectResponse), WTFMove(request), [completionHandler = WTFMove(completionHandler), this, protectedThis = makeRef(*this)] (auto&& request) mutable {
     378        m_client->willPerformHTTPRedirection(WTFMove(redirectResponse), WTFMove(request), [completionHandler = WTFMove(completionHandler), this, weakThis = makeWeakPtr(*this)] (auto&& request) mutable {
     379            if (!weakThis)
     380                return completionHandler({ });
    379381            if (!request.isNull()) {
    380382#if ENABLE(RESOURCE_LOAD_STATISTICS)
Note: See TracChangeset for help on using the changeset viewer.