Title: [242304] trunk/Source/WebKit
Revision
242304
Author
[email protected]
Date
2019-03-01 18:41:21 -0800 (Fri, 01 Mar 2019)

Log 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):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (242303 => 242304)


--- trunk/Source/WebKit/ChangeLog	2019-03-02 02:29:40 UTC (rev 242303)
+++ trunk/Source/WebKit/ChangeLog	2019-03-02 02:41:21 UTC (rev 242304)
@@ -1,5 +1,18 @@
 2019-03-01  Alex Christensen  <[email protected]>
 
+        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):
+
+2019-03-01  Alex Christensen  <[email protected]>
+
         Revert r241223, r241235, and r241287
         https://bugs.webkit.org/show_bug.cgi?id=194427
         <rdar://48045861>

Modified: trunk/Source/WebKit/NetworkProcess/NetworkDataTask.h (242303 => 242304)


--- trunk/Source/WebKit/NetworkProcess/NetworkDataTask.h	2019-03-02 02:29:40 UTC (rev 242303)
+++ trunk/Source/WebKit/NetworkProcess/NetworkDataTask.h	2019-03-02 02:41:21 UTC (rev 242304)
@@ -77,7 +77,7 @@
     virtual ~NetworkDataTaskClient() { }
 };
 
-class NetworkDataTask : public RefCounted<NetworkDataTask> {
+class NetworkDataTask : public RefCounted<NetworkDataTask>, public CanMakeWeakPtr<NetworkDataTask> {
 public:
     static Ref<NetworkDataTask> create(NetworkSession&, NetworkDataTaskClient&, const NetworkLoadParameters&);
 

Modified: trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm (242303 => 242304)


--- trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm	2019-03-02 02:29:40 UTC (rev 242303)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm	2019-03-02 02:41:21 UTC (rev 242304)
@@ -375,7 +375,9 @@
     updateTaskWithFirstPartyForSameSiteCookies(m_task.get(), request);
 
     if (m_client)
-        m_client->willPerformHTTPRedirection(WTFMove(redirectResponse), WTFMove(request), [completionHandler = WTFMove(completionHandler), this, protectedThis = makeRef(*this)] (auto&& request) mutable {
+        m_client->willPerformHTTPRedirection(WTFMove(redirectResponse), WTFMove(request), [completionHandler = WTFMove(completionHandler), this, weakThis = makeWeakPtr(*this)] (auto&& request) mutable {
+            if (!weakThis)
+                return completionHandler({ });
             if (!request.isNull()) {
 #if ENABLE(RESOURCE_LOAD_STATISTICS)
                 bool shouldBlockCookies = m_session->networkStorageSession().shouldBlockCookies(request, m_frameID, m_pageID);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to