From a77cb447234e25c1680b231adc62616f0ad89f3a Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Wed, 3 May 2017 08:41:49 +0200 Subject: [PATCH] Block all request methods in host blocker --- CHANGELOG.asciidoc | 1 + qutebrowser/browser/webengine/interceptor.py | 3 +-- qutebrowser/browser/webkit/network/networkmanager.py | 3 +-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index dd79a1b2b..2d7937d22 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -52,6 +52,7 @@ Changed closes the current tab. - With Qt 5.9, `content -> cookies-store` can now be set on QtWebEngine without a restart. +- The adblocker now also blocks non-GET requests (e.g. POST) Fixed ~~~~~ diff --git a/qutebrowser/browser/webengine/interceptor.py b/qutebrowser/browser/webengine/interceptor.py index 350378147..76c29a6eb 100644 --- a/qutebrowser/browser/webengine/interceptor.py +++ b/qutebrowser/browser/webengine/interceptor.py @@ -57,8 +57,7 @@ class RequestInterceptor(QWebEngineUrlRequestInterceptor): info: QWebEngineUrlRequestInfo &info """ # FIXME:qtwebengine only block ads for NavigationTypeOther? - if (bytes(info.requestMethod()) == b'GET' and - self._host_blocker.is_blocked(info.requestUrl())): + if self._host_blocker.is_blocked(info.requestUrl()): log.webview.info("Request to {} blocked by host blocker.".format( info.requestUrl().host())) info.block(True) diff --git a/qutebrowser/browser/webkit/network/networkmanager.py b/qutebrowser/browser/webkit/network/networkmanager.py index 779d778bc..915a2082f 100644 --- a/qutebrowser/browser/webkit/network/networkmanager.py +++ b/qutebrowser/browser/webkit/network/networkmanager.py @@ -416,8 +416,7 @@ class NetworkManager(QNetworkAccessManager): req.setRawHeader(header, value) host_blocker = objreg.get('host-blocker') - if (op == QNetworkAccessManager.GetOperation and - host_blocker.is_blocked(req.url())): + if host_blocker.is_blocked(req.url()): log.webview.info("Request to {} blocked by host blocker.".format( req.url().host())) return networkreply.ErrorNetworkReply(