[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.15.1-1414-gc69ee75

kenneth at webkit.org kenneth at webkit.org
Thu Oct 29 20:36:21 UTC 2009


The following commit has been merged in the webkit-1.1 branch:
commit 6762a927ca4d06989f61c24281d8dd66970fbe09
Author: kenneth at webkit.org <kenneth at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Sep 29 21:07:00 2009 +0000

    Fix handling of QNetworkReply errors.
    
    Patch by Kenneth Rohde Christiansen <kenneth at webkit.org> on 2009-09-29
    Reviewed by Simon Hausmann.
    
    In the QNetworkReplyHandler::finish() a response was sent even when
    the reply contained an error. This resulted in a sendResponseIfNeeded()
    calling didReceiveResponse on the client, leading to the destruction
    of the m_resourceHandle, discontinuing further processing in finish(),
    and thus not calling didFail on the client.
    
    Instead it continued as everything went fine, and
    FrameLoaderClientQt::dispatchDecidePolicyForMIMEType() changed the
    policy to PolicyDownload due to not being able to show the non existing
    MIMEType. As the download also obviously fails, it ended up with a
    policy change error.
    
    * platform/network/qt/QNetworkReplyHandler.cpp:
    (WebCore::QNetworkReplyHandler::finish):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48900 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index faea9d2..ce5f167 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -269,6 +269,27 @@
 
         Reviewed by Simon Hausmann.
 
+        Fix handling of QNetworkReply errors.
+
+        In the QNetworkReplyHandler::finish() a response was sent even when
+        the reply contained an error. This resulted in a sendResponseIfNeeded()
+        calling didReceiveResponse on the client, leading to the destruction
+        of the m_resourceHandle, discontinuing further processing in finish(),
+        and thus not calling didFail on the client.
+
+        Instead it continued as everything went fine, and
+        FrameLoaderClientQt::dispatchDecidePolicyForMIMEType() changed the
+        policy to PolicyDownload due to not being able to show the non existing
+        MIMEType. As the download also obviously fails, it ended up with a
+        policy change error.
+
+        * platform/network/qt/QNetworkReplyHandler.cpp:
+        (WebCore::QNetworkReplyHandler::finish):
+
+2009-09-29  Kenneth Rohde Christiansen  <kenneth at webkit.org>
+
+        Reviewed by Simon Hausmann.
+
         The code for showing error pages when the response was
         a 401/403/404, was not actually doing so. This patch
         fixes that.
diff --git a/WebCore/platform/network/qt/QNetworkReplyHandler.cpp b/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
index 32ea334..a80ca2b 100644
--- a/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
+++ b/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
@@ -211,7 +211,9 @@ void QNetworkReplyHandler::finish()
     if (m_shouldFinish)
         return;
 
-    sendResponseIfNeeded();
+    // FIXME: Investigate if this check should be moved into sendResponseIfNeeded()
+    if (!m_reply->error())
+        sendResponseIfNeeded();
 
     if (!m_resourceHandle)
         return;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list