Diff
Modified: releases/WebKitGTK/webkit-1.8/LayoutTests/ChangeLog (113592 => 113593)
--- releases/WebKitGTK/webkit-1.8/LayoutTests/ChangeLog 2012-04-09 17:37:25 UTC (rev 113592)
+++ releases/WebKitGTK/webkit-1.8/LayoutTests/ChangeLog 2012-04-09 18:00:11 UTC (rev 113593)
@@ -1,3 +1,27 @@
+2012-04-03 Dominik Röttsches <[email protected]>
+
+ Soup HTTP backend does not send Content-Length in certain cases
+ https://bugs.webkit.org/show_bug.cgi?id=82036
+
+ Reviewed by Gustavo Noronha Silva.
+
+ Rebaselining and unskipping relevant tests for EFL.
+ Rebaselining POST and PUT cases for GTK.
+
+ * platform/efl/Skipped:
+ * platform/efl/http/tests/xmlhttprequest/methods-async-expected.txt: Copied from LayoutTests/platform/gtk/http/tests/xmlhttprequest/methods-async-expected.txt.
+ * platform/efl/http/tests/xmlhttprequest/methods-expected.txt: Copied from LayoutTests/platform/gtk/http/tests/xmlhttprequest/methods-expected.txt.
+ * platform/efl/http/tests/xmlhttprequest/workers/methods-async-expected.txt: Copied from LayoutTests/platform/gtk/http/tests/xmlhttprequest/workers/methods-async-expected.txt.
+ * platform/efl/http/tests/xmlhttprequest/workers/methods-expected.txt: Copied from LayoutTests/platform/gtk/http/tests/xmlhttprequest/workers/methods-expected.txt.
+ * platform/efl/http/tests/xmlhttprequest/workers/shared-worker-methods-async-expected.txt: Copied from LayoutTests/platform/gtk/http/tests/xmlhttprequest/workers/shared-worker-methods-async-expected.txt.
+ * platform/efl/http/tests/xmlhttprequest/workers/shared-worker-methods-expected.txt: Copied from LayoutTests/platform/gtk/http/tests/xmlhttprequest/workers/shared-worker-methods-expected.txt.
+ * platform/gtk/http/tests/xmlhttprequest/methods-async-expected.txt:
+ * platform/gtk/http/tests/xmlhttprequest/methods-expected.txt:
+ * platform/gtk/http/tests/xmlhttprequest/workers/methods-async-expected.txt:
+ * platform/gtk/http/tests/xmlhttprequest/workers/methods-expected.txt:
+ * platform/gtk/http/tests/xmlhttprequest/workers/shared-worker-methods-async-expected.txt:
+ * platform/gtk/http/tests/xmlhttprequest/workers/shared-worker-methods-expected.txt:
+
2012-03-23 Julien Chaffraix <[email protected]>
REGRESSION(107971): Google Voice contact list is broken in WebKit due to badly allocating the extra height
Modified: releases/WebKitGTK/webkit-1.8/LayoutTests/platform/efl/Skipped (113592 => 113593)
--- releases/WebKitGTK/webkit-1.8/LayoutTests/platform/efl/Skipped 2012-04-09 17:37:25 UTC (rev 113592)
+++ releases/WebKitGTK/webkit-1.8/LayoutTests/platform/efl/Skipped 2012-04-09 18:00:11 UTC (rev 113593)
@@ -2130,8 +2130,6 @@
http/tests/xmlhttprequest/cross-origin-no-authorization.html
http/tests/xmlhttprequest/failed-auth.html
http/tests/xmlhttprequest/logout.html
-http/tests/xmlhttprequest/methods.html
-http/tests/xmlhttprequest/methods-async.html
http/tests/xmlhttprequest/origin-whitelisting-all.html
http/tests/xmlhttprequest/origin-whitelisting-exact-match.html
http/tests/xmlhttprequest/origin-whitelisting-ip-addresses.html
@@ -2139,10 +2137,6 @@
http/tests/xmlhttprequest/origin-whitelisting-subdomains.html
http/tests/xmlhttprequest/remember-bad-password.html
http/tests/xmlhttprequest/redirect-cross-origin-tripmine.html
-http/tests/xmlhttprequest/workers/shared-worker-methods.html
-http/tests/xmlhttprequest/workers/methods.html
-http/tests/xmlhttprequest/workers/methods-async.html
-http/tests/xmlhttprequest/workers/shared-worker-methods-async.html
http/tests/xmlviewer/extensions-api.html
# These test cases don't have expected result yet.
Modified: releases/WebKitGTK/webkit-1.8/LayoutTests/platform/gtk/http/tests/xmlhttprequest/methods-async-expected.txt (113592 => 113593)
--- releases/WebKitGTK/webkit-1.8/LayoutTests/platform/gtk/http/tests/xmlhttprequest/methods-async-expected.txt 2012-04-09 17:37:25 UTC (rev 113592)
+++ releases/WebKitGTK/webkit-1.8/LayoutTests/platform/gtk/http/tests/xmlhttprequest/methods-async-expected.txt 2012-04-09 18:00:11 UTC (rev 113593)
@@ -4,10 +4,10 @@
GET(null): GET(null bytes), Content-Type: null
GET("123"): GET(null bytes), Content-Type: null
POST(""): POST(0 bytes), Content-Type: application/xml
-POST(null): POST(null bytes), Content-Type: null
+POST(null): POST(0 bytes), Content-Type: null
POST("123"): POST(3 bytes), Content-Type: application/xml
PUT(""): PUT(0 bytes), Content-Type: application/xml
-PUT(null): PUT(null bytes), Content-Type: null
+PUT(null): PUT(0 bytes), Content-Type: null
PUT("123"): PUT(3 bytes), Content-Type: application/xml
DELETE(""): DELETE(0 bytes), Content-Type: application/xml
DELETE(null): DELETE(null bytes), Content-Type: null
Modified: releases/WebKitGTK/webkit-1.8/LayoutTests/platform/gtk/http/tests/xmlhttprequest/methods-expected.txt (113592 => 113593)
--- releases/WebKitGTK/webkit-1.8/LayoutTests/platform/gtk/http/tests/xmlhttprequest/methods-expected.txt 2012-04-09 17:37:25 UTC (rev 113592)
+++ releases/WebKitGTK/webkit-1.8/LayoutTests/platform/gtk/http/tests/xmlhttprequest/methods-expected.txt 2012-04-09 18:00:11 UTC (rev 113593)
@@ -4,10 +4,10 @@
GET(null): GET(null bytes), Content-Type: null
GET("123"): GET(null bytes), Content-Type: null
POST(""): POST(0 bytes), Content-Type: application/xml
-POST(null): POST(null bytes), Content-Type: null
+POST(null): POST(0 bytes), Content-Type: null
POST("123"): POST(3 bytes), Content-Type: application/xml
PUT(""): PUT(0 bytes), Content-Type: application/xml
-PUT(null): PUT(null bytes), Content-Type: null
+PUT(null): PUT(0 bytes), Content-Type: null
PUT("123"): PUT(3 bytes), Content-Type: application/xml
DELETE(""): DELETE(0 bytes), Content-Type: application/xml
DELETE(null): DELETE(null bytes), Content-Type: null
Modified: releases/WebKitGTK/webkit-1.8/LayoutTests/platform/gtk/http/tests/xmlhttprequest/workers/methods-async-expected.txt (113592 => 113593)
--- releases/WebKitGTK/webkit-1.8/LayoutTests/platform/gtk/http/tests/xmlhttprequest/workers/methods-async-expected.txt 2012-04-09 17:37:25 UTC (rev 113592)
+++ releases/WebKitGTK/webkit-1.8/LayoutTests/platform/gtk/http/tests/xmlhttprequest/workers/methods-async-expected.txt 2012-04-09 18:00:11 UTC (rev 113593)
@@ -4,10 +4,10 @@
GET(null): GET(null bytes), Content-Type: null
GET("123"): GET(null bytes), Content-Type: null
POST(""): POST(0 bytes), Content-Type: application/xml
-POST(null): POST(null bytes), Content-Type: null
+POST(null): POST(0 bytes), Content-Type: null
POST("123"): POST(3 bytes), Content-Type: application/xml
PUT(""): PUT(0 bytes), Content-Type: application/xml
-PUT(null): PUT(null bytes), Content-Type: null
+PUT(null): PUT(0 bytes), Content-Type: null
PUT("123"): PUT(3 bytes), Content-Type: application/xml
DELETE(""): DELETE(0 bytes), Content-Type: application/xml
DELETE(null): DELETE(null bytes), Content-Type: null
Modified: releases/WebKitGTK/webkit-1.8/LayoutTests/platform/gtk/http/tests/xmlhttprequest/workers/methods-expected.txt (113592 => 113593)
--- releases/WebKitGTK/webkit-1.8/LayoutTests/platform/gtk/http/tests/xmlhttprequest/workers/methods-expected.txt 2012-04-09 17:37:25 UTC (rev 113592)
+++ releases/WebKitGTK/webkit-1.8/LayoutTests/platform/gtk/http/tests/xmlhttprequest/workers/methods-expected.txt 2012-04-09 18:00:11 UTC (rev 113593)
@@ -4,10 +4,10 @@
GET(null): GET(null bytes), Content-Type: null
GET("123"): GET(null bytes), Content-Type: null
POST(""): POST(0 bytes), Content-Type: application/xml
-POST(null): POST(null bytes), Content-Type: null
+POST(null): POST(0 bytes), Content-Type: null
POST("123"): POST(3 bytes), Content-Type: application/xml
PUT(""): PUT(0 bytes), Content-Type: application/xml
-PUT(null): PUT(null bytes), Content-Type: null
+PUT(null): PUT(0 bytes), Content-Type: null
PUT("123"): PUT(3 bytes), Content-Type: application/xml
DELETE(""): DELETE(0 bytes), Content-Type: application/xml
DELETE(null): DELETE(null bytes), Content-Type: null
Modified: releases/WebKitGTK/webkit-1.8/LayoutTests/platform/gtk/http/tests/xmlhttprequest/workers/shared-worker-methods-async-expected.txt (113592 => 113593)
--- releases/WebKitGTK/webkit-1.8/LayoutTests/platform/gtk/http/tests/xmlhttprequest/workers/shared-worker-methods-async-expected.txt 2012-04-09 17:37:25 UTC (rev 113592)
+++ releases/WebKitGTK/webkit-1.8/LayoutTests/platform/gtk/http/tests/xmlhttprequest/workers/shared-worker-methods-async-expected.txt 2012-04-09 18:00:11 UTC (rev 113593)
@@ -4,10 +4,10 @@
GET(null): GET(null bytes), Content-Type: null
GET("123"): GET(null bytes), Content-Type: null
POST(""): POST(0 bytes), Content-Type: application/xml
-POST(null): POST(null bytes), Content-Type: null
+POST(null): POST(0 bytes), Content-Type: null
POST("123"): POST(3 bytes), Content-Type: application/xml
PUT(""): PUT(0 bytes), Content-Type: application/xml
-PUT(null): PUT(null bytes), Content-Type: null
+PUT(null): PUT(0 bytes), Content-Type: null
PUT("123"): PUT(3 bytes), Content-Type: application/xml
DELETE(""): DELETE(0 bytes), Content-Type: application/xml
DELETE(null): DELETE(null bytes), Content-Type: null
Modified: releases/WebKitGTK/webkit-1.8/LayoutTests/platform/gtk/http/tests/xmlhttprequest/workers/shared-worker-methods-expected.txt (113592 => 113593)
--- releases/WebKitGTK/webkit-1.8/LayoutTests/platform/gtk/http/tests/xmlhttprequest/workers/shared-worker-methods-expected.txt 2012-04-09 17:37:25 UTC (rev 113592)
+++ releases/WebKitGTK/webkit-1.8/LayoutTests/platform/gtk/http/tests/xmlhttprequest/workers/shared-worker-methods-expected.txt 2012-04-09 18:00:11 UTC (rev 113593)
@@ -4,10 +4,10 @@
GET(null): GET(null bytes), Content-Type: null
GET("123"): GET(null bytes), Content-Type: null
POST(""): POST(0 bytes), Content-Type: application/xml
-POST(null): POST(null bytes), Content-Type: null
+POST(null): POST(0 bytes), Content-Type: null
POST("123"): POST(3 bytes), Content-Type: application/xml
PUT(""): PUT(0 bytes), Content-Type: application/xml
-PUT(null): PUT(null bytes), Content-Type: null
+PUT(null): PUT(0 bytes), Content-Type: null
PUT("123"): PUT(3 bytes), Content-Type: application/xml
DELETE(""): DELETE(0 bytes), Content-Type: application/xml
DELETE(null): DELETE(null bytes), Content-Type: null
Modified: releases/WebKitGTK/webkit-1.8/Source/WebCore/ChangeLog (113592 => 113593)
--- releases/WebKitGTK/webkit-1.8/Source/WebCore/ChangeLog 2012-04-09 17:37:25 UTC (rev 113592)
+++ releases/WebKitGTK/webkit-1.8/Source/WebCore/ChangeLog 2012-04-09 18:00:11 UTC (rev 113593)
@@ -1,3 +1,19 @@
+2012-04-03 Dominik Röttsches <[email protected]>
+
+ Soup HTTP backend does not send Content-Length in certain cases
+ https://bugs.webkit.org/show_bug.cgi?id=82036
+
+ Reviewed by Gustavo Noronha Silva.
+
+ Telling soup explicitly when to send content-length header
+ in POST & PUT cases in order to align with e.g. Chromium and FF.
+
+ No new tests, already covered by *methods*.html in
+ http/tests/xmlhttprequest/.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::startHTTPRequest): Special handling for POST & PUT.
+
2012-03-26 Zan Dobersek <[email protected]>
[GObject bindings] Supplemental interfaces are not disabled with the "Conditional" attribute
Modified: releases/WebKitGTK/webkit-1.8/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp (113592 => 113593)
--- releases/WebKitGTK/webkit-1.8/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp 2012-04-09 17:37:25 UTC (rev 113592)
+++ releases/WebKitGTK/webkit-1.8/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp 2012-04-09 18:00:11 UTC (rev 113593)
@@ -504,6 +504,15 @@
if (!soup_message_headers_get_one(soupMessage->request_headers, "Accept"))
soup_message_headers_append(soupMessage->request_headers, "Accept", "*/*");
+ // In the case of XHR .send() and .send("") explicitly tell libsoup
+ // to send a zero content-lenght header for consistency
+ // with other backends (e.g. Chromium's) and other UA implementations like FF.
+ // It's done in the backend here instead of in XHR code since in XHR CORS checking
+ // prevents us from this kind of late header manipulation.
+ if ((request.httpMethod() == "POST" || request.httpMethod() == "PUT")
+ && (!request.httpBody() || request.httpBody()->isEmpty()))
+ soup_message_headers_set_content_length(soupMessage->request_headers, 0);
+
// Send the request only if it's not been explicitly deferred.
if (!d->m_defersLoading) {
d->m_cancellable = adoptGRef(g_cancellable_new());