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:00:39 +0100
commit924a7a5907124a0a33e2cc9454e389b7a2634244 (patch)
tree6bfed595b7da453256b4664081a4ea43e6b71aab
parent9fdd737966f00ec2fde740571e08d8a2bcfda4dd (diff)
downloadqutebrowser-924a7a5907124a0a33e2cc9454e389b7a2634244.tar.gz
qutebrowser-924a7a5907124a0a33e2cc9454e389b7a2634244.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
-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 c180c55f8..f8b000807 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)