Title: [183861] trunk/Source/WebKit2
Revision
183861
Author
[email protected]
Date
2015-05-05 23:55:16 -0700 (Tue, 05 May 2015)

Log Message

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: trunk/Source/WebKit2/ChangeLog (183860 => 183861)


--- trunk/Source/WebKit2/ChangeLog	2015-05-06 06:46:30 UTC (rev 183860)
+++ trunk/Source/WebKit2/ChangeLog	2015-05-06 06:55:16 UTC (rev 183861)
@@ -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-05  Tim Horton  <[email protected]>
 
         Views get stuck with viewScale < 1 after switching from DynamicSizeWithMinimumViewSize to ViewSize

Modified: trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp (183860 => 183861)


--- trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp	2015-05-06 06:46:30 UTC (rev 183860)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp	2015-05-06 06:55:16 UTC (rev 183861)
@@ -204,7 +204,10 @@
 
     invalidateSandboxExtensions();
 
-    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: trunk/Source/WebKit2/Shared/Authentication/AuthenticationManager.cpp (183860 => 183861)


--- trunk/Source/WebKit2/Shared/Authentication/AuthenticationManager.cpp	2015-05-06 06:46:30 UTC (rev 183860)
+++ trunk/Source/WebKit2/Shared/Authentication/AuthenticationManager.cpp	2015-05-06 06:55:16 UTC (rev 183861)
@@ -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