From 5149fcda2a9a6fe1d35dfed1bade1444a11ef271 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Tue, 14 Mar 2023 15:00:39 +0100 Subject: 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) --- qutebrowser/browser/pdfjs.py | 30 +++++++++++++++++++----------- 1 file 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) -- cgit v1.2.3-54-g00ecf