From 2dccde8f4b67855de5d2620baa6a75cc1b5f8bd6 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Thu, 6 Sep 2018 21:57:18 +0200 Subject: [PATCH] Only set PDFJS.disableCreateObjectURL when necessary See #4198 --- qutebrowser/browser/pdfjs.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/qutebrowser/browser/pdfjs.py b/qutebrowser/browser/pdfjs.py index acb0fb467..8fe628a02 100644 --- a/qutebrowser/browser/pdfjs.py +++ b/qutebrowser/browser/pdfjs.py @@ -24,7 +24,8 @@ import os from PyQt5.QtCore import QUrl, QUrlQuery -from qutebrowser.utils import utils, javascript, jinja +from qutebrowser.utils import utils, javascript, jinja, qtutils, usertypes +from qutebrowser.misc import objects from qutebrowser.config import config @@ -69,11 +70,18 @@ def _generate_pdfjs_script(url): """ return jinja.js_environment.from_string(""" document.addEventListener("DOMContentLoaded", function() { + {% if disable_create_object_url %} PDFJS.disableCreateObjectURL = true; + {% endif %} PDFJS.verbosity = PDFJS.VERBOSITY_LEVELS.info; (window.PDFView || window.PDFViewerApplication).open("{{ url }}"); }); - """).render(url=javascript.string_escape(url.toString(QUrl.FullyEncoded))) + """).render( + url=javascript.string_escape(url.toString(QUrl.FullyEncoded)), + # WORKAROUND for https://bugreports.qt.io/browse/QTBUG-70420 + disable_create_object_url=( + not qtutils.version_check('5.12') and + objects.backend == usertypes.Backend.QtWebEngine)) SYSTEM_PDFJS_PATHS = [