From 188c59b6e8f15acf89e5eb4af3f754193cb94565 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 19 Apr 2019 10:10:36 +0530 Subject: [PATCH] py3: webengine misc fixes --- src/calibre/gui2/webengine.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/calibre/gui2/webengine.py b/src/calibre/gui2/webengine.py index f2e00d289e..adfcb1fb80 100644 --- a/src/calibre/gui2/webengine.py +++ b/src/calibre/gui2/webengine.py @@ -12,7 +12,7 @@ from PyQt5.QtWebEngineWidgets import QWebEnginePage, QWebEngineScript, QWebEngin from calibre import prints from calibre.utils.monotonic import monotonic from calibre.utils.rapydscript import special_title -from polyglot.builtins import iteritems +from polyglot.builtins import iteritems, unicode_type def secure_webengine(view_or_page_or_settings, for_viewer=False): @@ -42,6 +42,8 @@ def insert_scripts(profile, *scripts): def create_script(name, src, world=QWebEngineScript.ApplicationWorld, injection_point=QWebEngineScript.DocumentReady, on_subframes=True): script = QWebEngineScript() + if isinstance(src, bytes): + src = src.decode('utf-8') script.setSourceCode(src) script.setName(name) script.setWorldId(world) @@ -53,7 +55,7 @@ def create_script(name, src, world=QWebEngineScript.ApplicationWorld, injection_ from_js = pyqtSignal -class to_js(type('')): +class to_js(unicode_type): def __call__(self, *a): prints('WARNING: Calling {}() before the javascript bridge is ready'.format(self.name))