Ensure that a PDF is only downloaded once #102
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #54
Changes
browser.py
pdfviewer.py
Updates
At the present master HEAD (540c93f), if the
mime_type
, in__decide_policy_cb
isapplication/pdf
, a newGET
request was being issued after setting up the PDF tab inpdfviewer.py/_download_from_http
, where thecontext.download_uri(remote_uri)
was the culprit.Rather than make a new
GET
request, I used the response obtained from the firstGET
request to download the PDF directly, using theWebKit2.PolicyDecision.download()
. The function also emits thedownload-started
signal which is connected topdfviewer.py/__download_started_cb
, which handles the rest.I found a thread in the WebKit2 mailing list (here), that seems to explain the issue in more detail.
@quozl @pro-panda Please let me know if I have approached this issue in the right step.
Thanks.
Tested on Ubuntu 18.04, Sugar v0.114