Bug 61122
Summary: | [Soup] http/tests/navigation/post-307-response.html | ||
---|---|---|---|
Product: | WebKit | Reporter: | Philippe Normand <pnormand> |
Component: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED DUPLICATE | ||
Severity: | Normal | CC: | cdumez, danw, jussi.kukkonen, luiz, mrobinson, svillar |
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
Philippe Normand
Consistently fails on the 3 GTK bots:
--- /home/slave/webkitgtk/gtk-linux-64-debug/build/layout-test-results/http/tests/navigation/post-307-response-expected.txt 2011-05-19 05:40:59.039013770 -0700
+++ /home/slave/webkitgtk/gtk-linux-64-debug/build/layout-test-results/http/tests/navigation/post-307-response-actual.txt 2011-05-19 05:40:59.039013770 -0700
@@ -1,7 +1,2 @@
-headers CONTENT_TYPE and CONTENT_LENGTH should be present.
-CONTENT_TYPE is present. Its value is: application/x-www-form-urlencoded
-CONTENT_LENGTH is present. Its value is: 15
-
-POST data should be present.
-POST data is present.
+FAIL: Timed out waiting for notifyDone to be called
Test added in r86693. Seems like we should clear Contents-length and Contents-type of the requests that do not have contents, like Qt does in Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
Will skip the test for now.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Luiz Agostini
In the 307 specific case the contents of the previous post request should be sent for the new url unchanged, no header should be removed.
I have seen that GTK skips the test http/tests/loading/307-after-303-after-post.html as well. It may be that both are failing due to the same reason.
Chris Dumez
Same issue on EFL port.
Jussi Kukkonen (jku)
For reference I'll point out that the test actually enforces non-compliant behaviour, as far as I can see. 307 on a POST should not be followed without specific user permission. Realistically I think breaking spec might be fine though: it's not like most users are going to understand the implications of POST redirect so asking them is not going to be very useful.
So I assume libsoup is doing the right thing here but the right thing might not be what webkit wants?
Martin Robinson
Here's the original bug (I think) for reference: https://bugs.webkit.org/show_bug.cgi?id=60440
Dan Winship
(In reply to comment #3)
> For reference I'll point out that the test actually enforces non-compliant behaviour, as far as I can see. 307 on a POST should not be followed without specific user permission. Realistically I think breaking spec might be fine though: it's not like most users are going to understand the implications of POST redirect so asking them is not going to be very useful.
>
> So I assume libsoup is doing the right thing here but the right thing might not be what webkit wants?
Right. Essentially, WebKit is deciding that, in the context of browsing the web, automatically reposting on 307 is the behavior the user wants/expects, but libsoup, being more general-purpose, isn't going to do it because, eg, maybe it wouldn't be right when doing XMLRPC.
I think there's discussion of this somewhere on some other bug, but basically ResourceHandleSoup needs to notice this case itself in closeCallback() (I think?), and send a second request itself in that case.
Dan Winship
fixed by the redirection-handling changes in bug 88961
*** This bug has been marked as a duplicate of bug 88961 ***