diff --git a/qutebrowser/browser/browsertab.py b/qutebrowser/browser/browsertab.py index cbcca0c00..b1fab3c9d 100644 --- a/qutebrowser/browser/browsertab.py +++ b/qutebrowser/browser/browsertab.py @@ -822,9 +822,10 @@ class AbstractTab(QWidget): def load_status(self): return self._load_status - def _openurl_prepare(self, url): + def _openurl_prepare(self, url, *, predict=True): qtutils.ensure_valid(url) - self.predicted_navigation.emit(url) + if predict: + self.predicted_navigation.emit(url) def openurl(self, url): raise NotImplementedError diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py index 195ddb3c6..e9423043b 100644 --- a/qutebrowser/browser/webengine/webenginetab.py +++ b/qutebrowser/browser/webengine/webenginetab.py @@ -669,9 +669,15 @@ class WebEngineTab(browsertab.AbstractTab): self.zoom.set_factor(self._saved_zoom) self._saved_zoom = None - def openurl(self, url): + def openurl(self, url, *, predict=True): + """Open the given URL in this tab. + + Arguments: + url: The QUrl to open. + predict: If set to False, predicted_navigation is not emitted. + """ self._saved_zoom = self.zoom.factor() - self._openurl_prepare(url) + self._openurl_prepare(url, predict=predict) self._widget.load(url) def url(self, requested=False): @@ -914,10 +920,10 @@ class WebEngineTab(browsertab.AbstractTab): if ok and self._reload_url is not None: # WORKAROUND for https://bugreports.qt.io/browse/QTBUG-66656 log.config.debug( - "Reloading {} because of config change".format( + "Loading {} again because of config change".format( self._reload_url.toDisplayString())) QTimer.singleShot(100, lambda url=self._reload_url: - self.openurl(url)) + self.openurl(url, predict=False)) self._reload_url = None if not qtutils.version_check('5.10', compiled=False):