From 0203bb3ed549428e18c0d80505716112eca27992 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Wed, 13 Jan 2016 21:05:48 +0100 Subject: [PATCH] Add a :debug-clear-ssl-errors command. --- doc/help/commands.asciidoc | 5 +++++ qutebrowser/browser/commands.py | 7 +++++++ qutebrowser/browser/network/networkmanager.py | 5 +++++ 3 files changed, 17 insertions(+) diff --git a/doc/help/commands.asciidoc b/doc/help/commands.asciidoc index 9347f29a0..ddbd2c8ac 100644 --- a/doc/help/commands.asciidoc +++ b/doc/help/commands.asciidoc @@ -1226,6 +1226,7 @@ These commands are mainly intended for debugging. They are hidden if qutebrowser |Command|Description |<>|Print a list of all objects to the debug log. |<>|Print LRU cache stats. +|<>|Clear remembered SSL error answers. |<>|Show the debugging console. |<>|Crash for debugging purposes. |<>|Dump the current page's content to a file. @@ -1241,6 +1242,10 @@ Print a list of all objects to the debug log. === debug-cache-stats Print LRU cache stats. +[[debug-clear-ssl-errors]] +=== debug-clear-ssl-errors +Clear remembered SSL error answers. + [[debug-console]] === debug-console Show the debugging console. diff --git a/qutebrowser/browser/commands.py b/qutebrowser/browser/commands.py index 77accd04e..e1d293781 100644 --- a/qutebrowser/browser/commands.py +++ b/qutebrowser/browser/commands.py @@ -1764,3 +1764,10 @@ class CommandDispatcher: QApplication.postEvent(receiver, press_event) QApplication.postEvent(receiver, release_event) + + @cmdutils.register(instance='command-dispatcher', scope='window', + debug=True) + def debug_clear_ssl_errors(self): + """Clear remembered SSL error answers.""" + nam = self._current_widget().page().networkAccessManager() + nam.clear_all_ssl_errors() diff --git a/qutebrowser/browser/network/networkmanager.py b/qutebrowser/browser/network/networkmanager.py index 02d566fa9..4670cb186 100644 --- a/qutebrowser/browser/network/networkmanager.py +++ b/qutebrowser/browser/network/networkmanager.py @@ -235,6 +235,11 @@ class NetworkManager(QNetworkAccessManager): reply.ignoreSslErrors() self._accepted_ssl_errors[host_tpl] += errors + def clear_all_ssl_errors(self): + """Clear all remembered SSL errors.""" + self._accepted_ssl_errors.clear() + self._rejected_ssl_errors.clear() + @pyqtSlot(QUrl) def clear_rejected_ssl_errors(self, url): """Clear the rejected SSL errors on a reload.