From dfed2f9c9c90c28ea768e72194b4d91b0fe0a771 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Thu, 18 Aug 2016 18:05:48 +0200 Subject: [PATCH] WebEngine: Don't save title if generated from URL --- qutebrowser/browser/browsertab.py | 4 +--- qutebrowser/browser/webengine/webenginetab.py | 16 +++++++++++++++- qutebrowser/browser/webkit/webkittab.py | 6 ++++++ 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/qutebrowser/browser/browsertab.py b/qutebrowser/browser/browsertab.py index b1e0e44f1..8e6b30d25 100644 --- a/qutebrowser/browser/browsertab.py +++ b/qutebrowser/browser/browsertab.py @@ -638,9 +638,7 @@ class AbstractTab(QWidget): @pyqtSlot() def _on_history_trigger(self): """Emit add_history_item when triggered by backend-specific signal.""" - url = self.url() - requested_url = self.url(requested=True) - self.add_history_item.emit(url, requested_url, self.title()) + raise NotImplementedError @pyqtSlot(int) def _on_load_progress(self, perc): diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py index 3f804e9d5..f43622208 100644 --- a/qutebrowser/browser/webengine/webenginetab.py +++ b/qutebrowser/browser/webengine/webenginetab.py @@ -24,7 +24,7 @@ import functools -from PyQt5.QtCore import pyqtSlot, Qt, QEvent, QPoint +from PyQt5.QtCore import pyqtSlot, Qt, QEvent, QPoint, QUrl from PyQt5.QtGui import QKeyEvent, QIcon from PyQt5.QtWidgets import QApplication # pylint: disable=no-name-in-module,import-error,useless-suppression @@ -487,6 +487,20 @@ class WebEngineTab(browsertab.AbstractTab): def clear_ssl_errors(self): log.stub() + @pyqtSlot() + def _on_history_trigger(self): + url = self.url() + requested_url = self.url(requested=True) + + # Don't save the title if it's generated from the URL + title = self.title() + title_url = QUrl(url) + title_url.setScheme('') + if title == title_url.toDisplayString(QUrl.RemoveScheme).strip('/'): + title = "" + + self.add_history_item.emit(url, requested_url, title) + def _connect_signals(self): view = self._widget page = view.page() diff --git a/qutebrowser/browser/webkit/webkittab.py b/qutebrowser/browser/webkit/webkittab.py index 16f5a8a15..bd7f0a0e2 100644 --- a/qutebrowser/browser/webkit/webkittab.py +++ b/qutebrowser/browser/webkit/webkittab.py @@ -640,6 +640,12 @@ class WebKitTab(browsertab.AbstractTab): nam = self._widget.page().networkAccessManager() nam.clear_all_ssl_errors() + @pyqtSlot() + def _on_history_trigger(self): + url = self.url() + requested_url = self.url(requested=True) + self.add_history_item.emit(url, requested_url, self.title()) + def set_html(self, html, base_url): self._widget.setHtml(html, base_url)