Title: [184175] releases/WebKitGTK/webkit-2.8/Source/WebKit2
Revision
184175
Author
[email protected]
Date
2015-05-12 01:37:54 -0700 (Tue, 12 May 2015)

Log Message

Merge r183861 - NetworkResourceLoader::cleanup() should clear ResourceHandle client pointer.
https://bugs.webkit.org/show_bug.cgi?id=144641
rdar://problem/20250960

Reviewed by David Kilzer.

* NetworkProcess/NetworkResourceLoader.cpp: (WebKit::NetworkResourceLoader::cleanup):
Clear the client pointer.

* Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::useCredentialForChallenge):
(WebKit::AuthenticationManager::continueWithoutCredentialForChallenge):
(WebKit::AuthenticationManager::cancelChallenge):
(WebKit::AuthenticationManager::performDefaultHandling):
(WebKit::AuthenticationManager::rejectProtectionSpaceAndContinue):
Updated comments, which were not accurate, at least on Mac.

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.8/Source/WebKit2/ChangeLog (184174 => 184175)


--- releases/WebKitGTK/webkit-2.8/Source/WebKit2/ChangeLog	2015-05-12 08:35:26 UTC (rev 184174)
+++ releases/WebKitGTK/webkit-2.8/Source/WebKit2/ChangeLog	2015-05-12 08:37:54 UTC (rev 184175)
@@ -1,3 +1,22 @@
+2015-05-05  Alexey Proskuryakov  <[email protected]>
+
+        NetworkResourceLoader::cleanup() should clear ResourceHandle client pointer.
+        https://bugs.webkit.org/show_bug.cgi?id=144641
+        rdar://problem/20250960
+
+        Reviewed by David Kilzer.
+
+        * NetworkProcess/NetworkResourceLoader.cpp: (WebKit::NetworkResourceLoader::cleanup):
+        Clear the client pointer.
+
+        * Shared/Authentication/AuthenticationManager.cpp:
+        (WebKit::AuthenticationManager::useCredentialForChallenge):
+        (WebKit::AuthenticationManager::continueWithoutCredentialForChallenge):
+        (WebKit::AuthenticationManager::cancelChallenge):
+        (WebKit::AuthenticationManager::performDefaultHandling):
+        (WebKit::AuthenticationManager::rejectProtectionSpaceAndContinue):
+        Updated comments, which were not accurate, at least on Mac.
+
 2015-05-04  Csaba Osztrogonác  <[email protected]>
 
         [ARM] Don't compare unsigned chars to EOF (-1)

Modified: releases/WebKitGTK/webkit-2.8/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp (184174 => 184175)


--- releases/WebKitGTK/webkit-2.8/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp	2015-05-12 08:35:26 UTC (rev 184174)
+++ releases/WebKitGTK/webkit-2.8/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp	2015-05-12 08:37:54 UTC (rev 184175)
@@ -206,7 +206,10 @@
 
     NetworkProcess::singleton().networkResourceLoadScheduler().removeLoader(this);
 
-    m_handle = nullptr;
+    if (m_handle) {
+        m_handle->setClient(nullptr);
+        m_handle = nullptr;
+    }
 
     // This will cause NetworkResourceLoader to be destroyed and therefore we do it last.
     m_connection->didCleanupResourceLoader(*this);

Modified: releases/WebKitGTK/webkit-2.8/Source/WebKit2/Shared/Authentication/AuthenticationManager.cpp (184174 => 184175)


--- releases/WebKitGTK/webkit-2.8/Source/WebKit2/Shared/Authentication/AuthenticationManager.cpp	2015-05-12 08:35:26 UTC (rev 184174)
+++ releases/WebKitGTK/webkit-2.8/Source/WebKit2/Shared/Authentication/AuthenticationManager.cpp	2015-05-12 08:37:54 UTC (rev 184175)
@@ -116,7 +116,8 @@
     
     AuthenticationClient* coreClient = challenge.authenticationClient();
     if (!coreClient) {
-        // This authentication challenge comes from a download.
+        // FIXME: The authentication client is null for downloads, but it can also be null for canceled loads.
+        // We should not call Download::receivedCredential in the latter case.
         Download::receivedCredential(challenge, credential);
         return;
     }
@@ -132,7 +133,8 @@
     ASSERT(!challenge.isNull());
     AuthenticationClient* coreClient = challenge.authenticationClient();
     if (!coreClient) {
-        // This authentication challenge comes from a download.
+        // FIXME: The authentication client is null for downloads, but it can also be null for canceled loads.
+        // We should not call Download::receivedCredential in the latter case.
         Download::receivedRequestToContinueWithoutCredential(challenge);
         return;
     }
@@ -148,7 +150,8 @@
     ASSERT(!challenge.isNull());
     AuthenticationClient* coreClient = challenge.authenticationClient();
     if (!coreClient) {
-        // This authentication challenge comes from a download.
+        // FIXME: The authentication client is null for downloads, but it can also be null for canceled loads.
+        // We should not call Download::receivedCredential in the latter case.
         Download::receivedCancellation(challenge);
         return;
     }
@@ -164,7 +167,8 @@
     ASSERT(!challenge.isNull());
     AuthenticationClient* coreClient = challenge.authenticationClient();
     if (!coreClient) {
-        // This authentication challenge comes from a download.
+        // FIXME: The authentication client is null for downloads, but it can also be null for canceled loads.
+        // We should not call Download::receivedCredential in the latter case.
         Download::receivedRequestToPerformDefaultHandling(challenge);
         return;
     }
@@ -180,7 +184,8 @@
     ASSERT(!challenge.isNull());
     AuthenticationClient* coreClient = challenge.authenticationClient();
     if (!coreClient) {
-        // This authentication challenge comes from a download.
+        // FIXME: The authentication client is null for downloads, but it can also be null for canceled loads.
+        // We should not call Download::receivedCredential in the latter case.
         Download::receivedChallengeRejection(challenge);
         return;
     }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to