Bug 143866

Summary: [SOUP] Redirect to non HTTP destination is broken
Product: WebKit Reporter: Carlos Garcia Campos <cgarcia>
Component: PlatformAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: danw, svillar
Priority: P2 Keywords: Gtk, Soup
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch svillar: review+

Description Carlos Garcia Campos 2015-04-17 01:51:35 PDT
This is because we are passing true unconditionally as isHTTPFamilyRequest parameter of createSoupRequestAndMessageForHandle in continueAfterWillSendRequest. I wrote a unit tests using a data URI to reproduce it:

$ bin/TestWebKitAPI/WebKit2Gtk/TestLoaderClient -p /webkit2/WebKitWebPage/redirect-to-data-uri
/webkit2/WebKitWebPage/redirect-to-data-uri: 
(WebKitWebProcess:19126): GLib-GObject-WARNING **: invalid cast from 'SoupRequestData' to 'SoupRequestHTTP'

(WebKitWebProcess:19126): libsoup-CRITICAL **: soup_request_http_get_message: assertion 'SOUP_IS_REQUEST_HTTP (http)' failed
**
ERROR:../../Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp:292:void resourceGetDataCallback(GObject*, GAsyncResult*, gpointer): assertion failed: (data)
Abortado
Comment 1 Carlos Garcia Campos 2015-04-17 02:05:02 PDT
Created attachment 251007 [details]
Patch
Comment 2 Sergio Villar Senin 2015-04-17 02:57:05 PDT
Comment on attachment 251007 [details]
Patch

Nice catch!
Comment 3 Carlos Garcia Campos 2015-04-17 03:15:02 PDT
Committed r182943: <http://trac.webkit.org/changeset/182943>