Fix reload for JavaScript support on Qt 5.11
This commit is contained in:
parent
d8569a36f9
commit
6ccd69dad2
@ -1076,7 +1076,7 @@ class WebEngineTab(browsertab.AbstractTab):
|
|||||||
if not navigation.accepted or not navigation.is_main_frame:
|
if not navigation.accepted or not navigation.is_main_frame:
|
||||||
return
|
return
|
||||||
|
|
||||||
needs_reload = {
|
settings_needing_reload = {
|
||||||
'content.plugins',
|
'content.plugins',
|
||||||
'content.javascript.enabled',
|
'content.javascript.enabled',
|
||||||
'content.javascript.can_access_clipboard',
|
'content.javascript.can_access_clipboard',
|
||||||
@ -1085,11 +1085,20 @@ class WebEngineTab(browsertab.AbstractTab):
|
|||||||
'input.spatial_navigation',
|
'input.spatial_navigation',
|
||||||
'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)
|
changed = self.settings.update_for_url(navigation.url)
|
||||||
if (changed & needs_reload and navigation.navigation_type !=
|
reload_needed = changed & settings_needing_reload
|
||||||
navigation.Type.link_clicked):
|
|
||||||
|
# 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
|
# WORKAROUND for https://bugreports.qt.io/browse/QTBUG-66656
|
||||||
self._reload_url = navigation.url
|
self._reload_url = navigation.url
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user