summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <git@the-compiler.org>2018-03-06 07:44:20 +0100
committerFlorian Bruhin <git@the-compiler.org>2018-03-06 07:44:20 +0100
commit0a75c5a302e230dabe4457ce6321660d3cae04ff (patch)
tree41f00a223e769d19fe984967e8d5ff843fc595b0
parentafd5d2c728f00e5a5cfd3028b32c2d588c7d43cd (diff)
downloadqutebrowser-0a75c5a302e230dabe4457ce6321660d3cae04ff.tar.gz
qutebrowser-0a75c5a302e230dabe4457ce6321660d3cae04ff.zip
Make sure options in needs_reload are valid
-rw-r--r--qutebrowser/browser/webengine/webenginetab.py21
1 files changed, 13 insertions, 8 deletions
diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py
index f9130f27a..972145edd 100644
--- a/qutebrowser/browser/webengine/webenginetab.py
+++ b/qutebrowser/browser/webengine/webenginetab.py
@@ -33,6 +33,7 @@ from PyQt5.QtNetwork import QAuthenticator
from PyQt5.QtWidgets import QApplication
from PyQt5.QtWebEngineWidgets import QWebEnginePage, QWebEngineScript
+from qutebrowser.config import configdata
from qutebrowser.browser import browsertab, mouse, shared
from qutebrowser.browser.webengine import (webview, webengineelem, tabhistory,
interceptor, webenginequtescheme,
@@ -938,14 +939,18 @@ class WebEngineTab(browsertab.AbstractTab):
@pyqtSlot(usertypes.NavigationRequest)
def _on_navigation_request(self, navigation):
super()._on_navigation_request(navigation)
- if navigation.accepted and navigation.is_main_frame:
- changed = self.settings.update_for_url(navigation.url)
- needs_reload = {'content.plugins', 'content.javascript.enabled',
- 'content.javascript.can_access_clipboard'}
- if (changed & needs_reload and navigation.navigation_type !=
- navigation.Type.link_clicked):
- # WORKAROUND for https://bugreports.qt.io/browse/QTBUG-66656
- self._reload_url = navigation.url
+ if not navigation.accepted or not navigation.is_main_frame:
+ return
+
+ needs_reload = {'content.plugins', 'content.javascript.enabled',
+ 'content.javascript.can_access_clipboard'}
+ assert needs_reload.issubset(configdata.DATA)
+
+ changed = self.settings.update_for_url(navigation.url)
+ if (changed & needs_reload and navigation.navigation_type !=
+ navigation.Type.link_clicked):
+ # WORKAROUND for https://bugreports.qt.io/browse/QTBUG-66656
+ self._reload_url = navigation.url
def _connect_signals(self):
view = self._widget