diff options
author | Florian Bruhin <git@the-compiler.org> | 2018-03-06 07:44:20 +0100 |
---|---|---|
committer | Florian Bruhin <git@the-compiler.org> | 2018-03-06 07:44:20 +0100 |
commit | 0a75c5a302e230dabe4457ce6321660d3cae04ff (patch) | |
tree | 41f00a223e769d19fe984967e8d5ff843fc595b0 | |
parent | afd5d2c728f00e5a5cfd3028b32c2d588c7d43cd (diff) | |
download | qutebrowser-0a75c5a302e230dabe4457ce6321660d3cae04ff.tar.gz qutebrowser-0a75c5a302e230dabe4457ce6321660d3cae04ff.zip |
Make sure options in needs_reload are valid
-rw-r--r-- | qutebrowser/browser/webengine/webenginetab.py | 21 |
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 |