Title: [186559] branches/safari-600.1.4.17-branch/Source/WebKit2

Diff

Modified: branches/safari-600.1.4.17-branch/Source/WebKit2/ChangeLog (186558 => 186559)


--- branches/safari-600.1.4.17-branch/Source/WebKit2/ChangeLog	2015-07-09 01:03:48 UTC (rev 186558)
+++ branches/safari-600.1.4.17-branch/Source/WebKit2/ChangeLog	2015-07-09 01:03:51 UTC (rev 186559)
@@ -1,3 +1,26 @@
+2015-07-08  Matthew Hanson  <matthew_han...@apple.com>
+
+        Merge r183861. rdar://problem/21716677
+
+    2015-05-05  Alexey Proskuryakov  <a...@apple.com>
+
+            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-07-08  Lucas Forschler  <lforsch...@apple.com>
 
         Merge r186232 rdar://problem/9091261

Modified: branches/safari-600.1.4.17-branch/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp (186558 => 186559)


--- branches/safari-600.1.4.17-branch/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp	2015-07-09 01:03:48 UTC (rev 186558)
+++ branches/safari-600.1.4.17-branch/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp	2015-07-09 01:03:51 UTC (rev 186559)
@@ -98,7 +98,7 @@
         m_resourceSandboxExtensions.append(resourceSandboxExtension);
 
     ASSERT(RunLoop::isMain());
-    
+
     if (reply || parameters.shouldBufferResource)
         m_bufferedData = WebCore::SharedBuffer::create();
 
@@ -161,12 +161,9 @@
 
     // Tell the scheduler about this finished loader soon so it can start more network requests.
     NetworkProcess::shared().networkResourceLoadScheduler().scheduleRemoveLoader(this);
-
     if (m_handle) {
-        // Explicit deref() balanced by a ref() in NetworkResourceLoader::start()
-        // This might cause the NetworkResourceLoader to be destroyed and therefore we do it last.
-        m_handle = 0;
-        deref();
+        m_handle->setClient(nullptr);
+        m_handle = nullptr;
     }
 }
 
@@ -215,7 +212,7 @@
 
     // FIXME (NetworkProcess): For the memory cache we'll also need to cache the response data here.
     // Such buffering will need to be thread safe, as this callback is happening on a background thread.
-    
+
     m_bytesReceived += buffer->size();
     if (m_bufferedData)
         m_bufferedData->append(buffer.get());

Modified: branches/safari-600.1.4.17-branch/Source/WebKit2/Shared/Authentication/AuthenticationManager.cpp (186558 => 186559)


--- branches/safari-600.1.4.17-branch/Source/WebKit2/Shared/Authentication/AuthenticationManager.cpp	2015-07-09 01:03:48 UTC (rev 186558)
+++ branches/safari-600.1.4.17-branch/Source/WebKit2/Shared/Authentication/AuthenticationManager.cpp	2015-07-09 01:03:51 UTC (rev 186559)
@@ -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
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to