summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <git@the-compiler.org>2018-05-17 15:51:14 +0200
committerFlorian Bruhin <git@the-compiler.org>2018-05-17 17:54:39 +0200
commit900efe4a3654b1f4b63ff9afffa29ab6f95bddda (patch)
tree8998aa9fac9c24dd5182549dffc5f45ac1402ef2
parentf8a78a0962835c149463d81601ecf2ac402e705c (diff)
downloadqutebrowser-900efe4a3654b1f4b63ff9afffa29ab6f95bddda.tar.gz
qutebrowser-900efe4a3654b1f4b63ff9afffa29ab6f95bddda.zip
Fix reload for JavaScript support on Qt 5.11
(cherry picked from commit 6ccd69dad200682f7f4ace9d093a444c14825499)
-rw-r--r--qutebrowser/browser/webengine/webenginetab.py17
1 files changed, 13 insertions, 4 deletions
diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py
index 3b6bdf102..56bf197ec 100644
--- a/qutebrowser/browser/webengine/webenginetab.py
+++ b/qutebrowser/browser/webengine/webenginetab.py
@@ -1067,7 +1067,7 @@ class WebEngineTab(browsertab.AbstractTab):
if not navigation.accepted or not navigation.is_main_frame:
return
- needs_reload = {
+ settings_needing_reload = {
'content.plugins',
'content.javascript.enabled',
'content.javascript.can_access_clipboard',
@@ -1076,11 +1076,20 @@ class WebEngineTab(browsertab.AbstractTab):
'input.spatial_navigation',
'input.spatial_navigation',
}
- assert needs_reload.issubset(configdata.DATA)
+ assert settings_needing_reload.issubset(configdata.DATA)
changed = self.settings.update_for_url(navigation.url)
- if (changed & needs_reload and navigation.navigation_type !=
- navigation.Type.link_clicked):
+ reload_needed = changed & settings_needing_reload
+
+ # On Qt < 5.11, we don't don't need a reload when type == link_clicked.
+ # On Qt 5.11.0, we always need a reload.
+ # TODO on Qt > 5.11.0, we hopefully never need a reload:
+ # https://codereview.qt-project.org/#/c/229525/1
+ if not qtutils.version_check('5.11.0', exact=True, compiled=False):
+ if navigation.navigation_type != navigation.Type.link_clicked:
+ reload_needed = False
+
+ if reload_needed:
# WORKAROUND for https://bugreports.qt.io/browse/QTBUG-66656
self._reload_url = navigation.url