[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

paroga at webkit.org paroga at webkit.org
Wed Dec 22 13:42:23 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 0687f427422472915d3e0747c96a7a8a37c34ac2
Author: paroga at webkit.org <paroga at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Sep 23 19:55:04 2010 +0000

    2010-09-23  Patrick Gansterer  <paroga at webkit.org>
    
            Reviewed by Adam Roben.
    
            Fix ResourceHandleWin::cancel() for network resources
            https://bugs.webkit.org/show_bug.cgi?id=46383
    
            * platform/network/win/ResourceHandleWin.cpp:
            (WebCore::ResourceHandle::onRequestComplete): Check it requestHandle is not 0.
            (WebCore::ResourceHandle::cancel): Set requestHandle to 0.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@68184 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 1b079da..e283323 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -2,6 +2,17 @@
 
         Reviewed by Adam Roben.
 
+        Fix ResourceHandleWin::cancel() for network resources 
+        https://bugs.webkit.org/show_bug.cgi?id=46383
+
+        * platform/network/win/ResourceHandleWin.cpp:
+        (WebCore::ResourceHandle::onRequestComplete): Check it requestHandle is not 0.
+        (WebCore::ResourceHandle::cancel): Set requestHandle to 0.
+
+2010-09-23  Patrick Gansterer  <paroga at webkit.org>
+
+        Reviewed by Adam Roben.
+
         Add handling for form data and additional HTTP headers in ResourceHandleWin
         https://bugs.webkit.org/show_bug.cgi?id=46369
 
diff --git a/WebCore/platform/network/win/ResourceHandleWin.cpp b/WebCore/platform/network/win/ResourceHandleWin.cpp
index f8fd8d2..4a34116 100644
--- a/WebCore/platform/network/win/ResourceHandleWin.cpp
+++ b/WebCore/platform/network/win/ResourceHandleWin.cpp
@@ -323,6 +323,11 @@ void ResourceHandle::onRedirect()
 
 bool ResourceHandle::onRequestComplete()
 {
+    if (!d->m_internetHandle) { // 0 if canceled.
+        deref(); // balances ref in start
+        return false;
+    }
+
     if (d->m_bytesRemainingToWrite) {
         DWORD bytesWritten;
         InternetWriteFile(d->m_requestHandle,
@@ -572,17 +577,12 @@ void ResourceHandle::fileLoadTimer(Timer<ResourceHandle>*)
 
 void ResourceHandle::cancel()
 {
-    if (d->m_resourceHandle)
-        InternetCloseHandle(d->m_resourceHandle);
-    else
+    if (d->m_requestHandle) {
+        d->m_internetHandle = 0;
+        InternetCloseHandle(d->m_requestHandle);
+        InternetCloseHandle(d->m_connectHandle);
+    } else
         d->m_fileLoadTimer.stop();
-
-    client()->didFinishLoading(this, 0); 
-
-    if (!d->m_resourceHandle)
-        // Async load canceled before we have a handle -- mark ourselves as in error, to be deleted later.
-        // FIXME: need real cancel error
-        client()->didFail(this, ResourceError());
 }
 
 void ResourceHandle::loadResourceSynchronously(NetworkingContext* context, const ResourceRequest& request, StoredCredentials storedCredentials, ResourceError& error, ResourceResponse& response, Vector<char>& data)

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list