Summary: | [GTK] Blob download doesn't work | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | ManDay <manday> | ||||
Component: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | berto, bugs-noreply, buildbot, cgarcia, clopez, gustavo, mcatanzaro | ||||
Priority: | P2 | ||||||
Version: | WebKit Nightly Build | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Attachments: |
|
Description
ManDay
2017-05-22 04:50:52 PDT
I've found the problem, and it's not a Soup issue (soup is not even used for Blobs), but GTK+ specific one. The problem is that GTK+ API uses URIs for download destination paths, and passes that uris to the WebKit internals. But WebKit expects download destination location to be a local path. This is not a problem for normal downloads, because the soup backend handles the cases of download destination being a URI and a path. For blob downloads NetworkDataTaskBlob is used, and it always expects the download destination to be a local path, failing in FileSystem::openFile() when a URI is passed. We need to keep using local files internally and convert to URIs only when exposing those paths to the API. Created attachment 312598 [details]
Patch
Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API Thank you Carlos, tested with Openrouteservice the Blob downloads now work in Minibrowser. But the patch hasn't landed, do not close bugs with unreviewed patches, please. Committed r218185: <http://trac.webkit.org/changeset/218185> |