[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
robert at webkit.org
robert at webkit.org
Wed Dec 22 14:02:16 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit d04c18ed8c62620c0b4b828a9b7d5104053c8443
Author: robert at webkit.org <robert at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Oct 1 18:40:19 2010 +0000
2010-10-01 Robert Hogan <robert at webkit.org>
Reviewed by Adam Barth.
[Qt] Fix http/tests/loading/redirect-methods.html
https://bugs.webkit.org/show_bug.cgi?id=41571
Unskip http/tests/loading/redirect-methods.html
* platform/qt/Skipped:
2010-10-01 Robert Hogan <robert at webkit.org>
Reviewed by Adam Barth.
[Qt] Fix http/tests/loading/redirect-methods.html
Document our redirection behaviour too.
https://bugs.webkit.org/show_bug.cgi?id=41571
* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
(WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
* platform/network/qt/QNetworkReplyHandler.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@68906 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index d9c8c30..bd8474d 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,15 @@
+2010-10-01 Robert Hogan <robert at webkit.org>
+
+ Reviewed by Adam Barth.
+
+ [Qt] Fix http/tests/loading/redirect-methods.html
+
+ https://bugs.webkit.org/show_bug.cgi?id=41571
+
+ Unskip http/tests/loading/redirect-methods.html
+
+ * platform/qt/Skipped:
+
2010-09-30 Ryosuke Niwa <rniwa at webkit.org>
Reviewed by Darin Adler.
diff --git a/LayoutTests/platform/qt/Skipped b/LayoutTests/platform/qt/Skipped
index d49e142..8d46cad 100644
--- a/LayoutTests/platform/qt/Skipped
+++ b/LayoutTests/platform/qt/Skipped
@@ -182,9 +182,6 @@ http/tests/wml
# https://bugs.webkit.org/show_bug.cgi?id=44282
http/tests/incremental/slow-utf8-text.pl
-# webkit.org/b/41571
-http/tests/loading/redirect-methods.html
-
# expected results need updating
http/tests/loading/simple-subframe.html
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 390a49c..f20294e 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2010-10-01 Robert Hogan <robert at webkit.org>
+
+ Reviewed by Adam Barth.
+
+ [Qt] Fix http/tests/loading/redirect-methods.html
+
+ Document our redirection behaviour too.
+
+ https://bugs.webkit.org/show_bug.cgi?id=41571
+
+ * platform/network/qt/QNetworkReplyHandler.cpp:
+ (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
+ (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
+ * platform/network/qt/QNetworkReplyHandler.h:
+
2010-10-01 Adam Roben <aroben at apple.com>
Copy forwarding headers and Inspector JS files as part of
diff --git a/WebCore/platform/network/qt/QNetworkReplyHandler.cpp b/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
index ca3af75..032dd4c 100644
--- a/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
+++ b/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
@@ -137,6 +137,30 @@ bool FormDataIODevice::isSequential() const
return true;
}
+static QString httpMethodString(QNetworkAccessManager::Operation method)
+{
+ switch (method) {
+ case QNetworkAccessManager::GetOperation:
+ return "GET";
+ case QNetworkAccessManager::HeadOperation:
+ return "HEAD";
+ case QNetworkAccessManager::PostOperation:
+ return "POST";
+ case QNetworkAccessManager::PutOperation:
+ return "PUT";
+#if QT_VERSION >= QT_VERSION_CHECK(4, 6, 0)
+ case QNetworkAccessManager::DeleteOperation:
+ return "DELETE";
+#endif
+#if QT_VERSION >= QT_VERSION_CHECK(4, 7, 0)
+ case QNetworkAccessManager::CustomOperation:
+ return "OPTIONS";
+#endif
+ default:
+ return "GET";
+ }
+}
+
QNetworkReplyHandler::QNetworkReplyHandler(ResourceHandle* handle, LoadMode loadMode)
: QObject(0)
, m_reply(0)
@@ -359,13 +383,17 @@ void QNetworkReplyHandler::sendResponseIfNeeded()
}
m_redirected = true;
- ResourceRequest newRequest = m_resourceHandle->firstRequest();
- newRequest.setURL(newUrl);
- if (((statusCode >= 301 && statusCode <= 303) || statusCode == 307) && newRequest.httpMethod() == "POST") {
+ // Status Code 301 (Moved Permanently), 302 (Moved Temporarily), 303 (See Other):
+ // - If original request is POST convert to GET and redirect automatically
+ // Status Code 307 (Temporary Redirect) and all other redirect status codes:
+ // - Use the HTTP method from the previous request
+ if ((statusCode >= 301 && statusCode <= 303) && m_resourceHandle->firstRequest().httpMethod() == "POST")
m_method = QNetworkAccessManager::GetOperation;
- newRequest.setHTTPMethod("GET");
- }
+
+ ResourceRequest newRequest = m_resourceHandle->firstRequest();
+ newRequest.setHTTPMethod(httpMethodString(m_method));
+ newRequest.setURL(newUrl);
// Should not set Referer after a redirect from a secure resource to non-secure one.
if (!newRequest.url().protocolIs("https") && protocolIs(newRequest.httpReferrer(), "https"))
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list