To integrate better with the underlying platform, the GTK+ port should use a shared http stack. This would provide cookie, cache and http functionality that can be shared between WebKit and other applications, allowing them to maintain state centrally. Windows has WinINet, Mac has CFNetwork, and Qt just got an http stack but GTK+/Gnome lacks such a thing so we may have to write one.
Created attachment 19659 [details] Soup HTTP backend First try at a soup http backend. This is basically alp's patch from february-ish, changed to work in the new build system, adaptaded to all the API changes (review of the string stuff especially welcome...) and finished so it actually works (the code I got didn't really do anything, I had to finish the 'dataCallback' function). The performance (throughput) difference with curl is massive, but I get some random crashers at the moment.
Created attachment 19664 [details] Soup HTTP backend Second iteration. Ported to libsoup 2.4 and some small fixes. The crashes are still there, and we are sending malformed requests (I get status 400 from some servers).
Created attachment 19668 [details] Soup HTTP backend Third iteration. Do not call didReceiveData with empty data, and cancel requests on ::cancel both on soup side (soup_session_cancel_message) and WebCore (didFinishLoading). Now stopping a page load does not bork the session anymore.
Created attachment 19670 [details] Add HTTP soup backend. Fourth iteration. Took the parseDataUrl function from CURL backend, minor cleanups, added ChangeLog.
Comment on attachment 19670 [details] Add HTTP soup backend. r=me
Landed in r30970.