Download URLs requested with the POST method directly from WebEnginePart
requested to merge stefanocrocco/konqueror:use-webengine-to-download-file-requested-with-post into master
WebEnginePart can't pass the POST data to KIO, as QtWebEngine doesn't provide it, so using KIO would lead to unexpected results. The workaround is to treat URLs downloaded with POST in the same way WebEnginePart already does with blob URLs.
An additional problem is that QtWebEngine
doesn't provide an easy way
to find out, ad download time, if the file is the response to a POST
request or not: that information is only available to QWebEngineUrlRequestInterceptor
,
so I had to store that information and try to match it with the page which
made the request (QWebEngineUrlRequestInterceptor
only knows about the
request but not about who made it). The algorithm is not always correct,
but it should only fail in some specific circumstances