summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2023-03-14 15:00:39 +0100
committerFlorian Bruhin <me@the-compiler.org>2023-03-14 15:58:03 +0100
commit5149fcda2a9a6fe1d35dfed1bade1444a11ef271 (patch)
treeefc440a90989880aef29736c7bb7b17ca4f30d1e
parent09761e2556e045cd299d30e94d39aeb17b7529ff (diff)
downloadqutebrowser-5149fcda2a9a6fe1d35dfed1bade1444a11ef271.tar.gz
qutebrowser-5149fcda2a9a6fe1d35dfed1bade1444a11ef271.zip
PDF.js: Update to newer API to avoid deprecation warnings
A quick tour through the PDF.js API: v1.0.1040 introduced the ability to pass an object to PDFView.open() instead of passing an URL: https://github.com/mozilla/pdf.js/pull/5254 v1.6.210 (?) renamed PDFView to PDFViewerApplication: ffa276a1826a95bf1f80b15f48cfbf2b9cfe6dad v3.3.122 made it mandatory to pass an object (and also made originalURL optional when doing so): https://github.com/mozilla/pdf.js/pull/15972 We should probably properly get rid of old version support at some point (see #7619), but until then, I *think* this approach should work with older versions still. Fixes #7618 (cherry picked from commit 924a7a5907124a0a33e2cc9454e389b7a2634244)
-rw-r--r--qutebrowser/browser/pdfjs.py30
1 files changed, 19 insertions, 11 deletions
diff --git a/qutebrowser/browser/pdfjs.py b/qutebrowser/browser/pdfjs.py
index 4b86b4c27..737a9cc87 100644
--- a/qutebrowser/browser/pdfjs.py
+++ b/qutebrowser/browser/pdfjs.py
@@ -100,17 +100,25 @@ def _generate_pdfjs_script(filename):
return jinja.js_environment.from_string("""
document.addEventListener("DOMContentLoaded", function() {
- if (typeof window.PDFJS !== 'undefined') {
- // v1.x
- window.PDFJS.verbosity = window.PDFJS.VERBOSITY_LEVELS.info;
- } else {
- // v2.x
- const options = window.PDFViewerApplicationOptions;
- options.set('verbosity', pdfjsLib.VerbosityLevel.INFOS);
- }
-
- const viewer = window.PDFView || window.PDFViewerApplication;
- viewer.open({{ url }});
+ if (typeof window.PDFJS !== 'undefined') {
+ // v1.x
+ window.PDFJS.verbosity = window.PDFJS.VERBOSITY_LEVELS.info;
+ } else {
+ // v2.x+
+ const options = window.PDFViewerApplicationOptions;
+ options.set('verbosity', pdfjsLib.VerbosityLevel.INFOS);
+ }
+
+ if (typeof window.PDFView !== 'undefined') {
+ // < v1.6
+ window.PDFView.open({{ url }});
+ } else {
+ // v1.6+
+ window.PDFViewerApplication.open({
+ url: {{ url }},
+ originalUrl: {{ url }}
+ });
+ }
});
""").render(url=js_url)