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

Changeset 242723 in webkit


Ignore:
Timestamp:
Mar 11, 2019, 12:07:38 PM (7 years ago)
Author:
commit-queue@webkit.org
Message:

REGRESSION: ( r240978-r240985 ) [ iOS Release ] Layout Test imported/w3c/web-platform-tests/xhr/send-redirect-post-upload.htm is crashing
https://bugs.webkit.org/show_bug.cgi?id=194523

Patch by Alex Christensen <achristensen@webkit.org> on 2019-03-11
Reviewed by Alexey Proskuryakov.

Attempt another workaround to prevent crashes.

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

(WebKit::NetworkDataTaskCocoa::~NetworkDataTaskCocoa):

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate URLSession:task:needNewBodyStream:]):

Location:
trunk/Source/WebKit
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r242714 r242723  
     12019-03-11  Alex Christensen  <achristensen@webkit.org>
     2
     3        REGRESSION: ( r240978-r240985 ) [ iOS Release ] Layout Test imported/w3c/web-platform-tests/xhr/send-redirect-post-upload.htm is crashing
     4        https://bugs.webkit.org/show_bug.cgi?id=194523
     5
     6        Reviewed by Alexey Proskuryakov.
     7
     8        Attempt another workaround to prevent crashes.
     9
     10        * NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
     11        * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
     12        (WebKit::NetworkDataTaskCocoa::~NetworkDataTaskCocoa):
     13        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
     14        (-[WKNetworkSessionDelegate URLSession:task:needNewBodyStream:]):
     15
    1162019-03-11  Ryan Haddad  <ryanhaddad@apple.com>
    217
  • trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.h

    r242367 r242723  
    8484    String description() const override;
    8585
    86     void setShouldExtendTaskLifetime(bool shouldExtendTaskLifetime) { m_shouldExtendTaskLifetime = shouldExtendTaskLifetime; }
    87 
    8886private:
    8987    NetworkDataTaskCocoa(NetworkSession&, NetworkDataTaskClient&, const WebCore::ResourceRequest&, uint64_t frameID, uint64_t pageID, WebCore::StoredCredentialsPolicy, WebCore::ContentSniffingPolicy, WebCore::ContentEncodingSniffingPolicy, bool shouldClearReferrerOnHTTPSToHTTPRedirect, PreconnectOnly, bool dataTaskIsForMainFrameNavigation, Optional<NetworkActivityTracker>);
     
    107105    uint64_t m_pageID;
    108106
    109     // FIXME: This is only needed until rdar://problem/28233746 is fixed.
    110     bool m_shouldExtendTaskLifetime { false };
    111 
    112107#if ENABLE(RESOURCE_LOAD_STATISTICS)
    113108    bool m_hasBeenSetToUseStatelessCookieStorage { false };
  • trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm

    r242367 r242723  
    262262        cocoaSession.m_dataTaskMapWithoutState.remove([m_task taskIdentifier]);
    263263    }
    264    
    265     if (m_shouldExtendTaskLifetime)
    266         RunLoop::main().dispatch([task = WTFMove(m_task)] { });
    267264}
    268265
  • trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm

    r242712 r242723  
    384384    }
    385385
    386     networkDataTask->setShouldExtendTaskLifetime(true);
    387     completionHandler(WebCore::createHTTPBodyNSInputStream(*body).get());
     386    // FIXME: Call the completionHandler immediately once rdar://problem/28233746 is fixed.
     387    RunLoop::main().dispatch([body = makeRef(*body), completionHandler = makeBlockPtr(completionHandler)] {
     388        completionHandler(WebCore::createHTTPBodyNSInputStream(body.get()).get());
     389    });
    388390}
    389391
Note: See TracChangeset for help on using the changeset viewer.