summaryrefslogtreecommitdiffstats
path: root/src/core/browser_context_adapter.h
diff options
context:
space:
mode:
authorAndras Becsi <andras.becsi@theqtcompany.com>2015-07-10 17:27:45 +0200
committerAndras Becsi <andras.becsi@theqtcompany.com>2015-08-03 20:46:55 +0000
commite11cd75ff506e8dcbfc990d70baeec821f1f0563 (patch)
treedb4e58d9b0c66656e5eccb368dd61cdb36034c75 /src/core/browser_context_adapter.h
parent853d5867644fd53f2d779c3c7b39a34803a3e566 (diff)
Add API for intercepting url requests
This patch is adding a QWebEngineUrlRequestInterceptor interface that can be subclassed to observe or intercept all resource requests making it possible to implement browser features like adblocking and setting custom request headers for url requests. The interceptRequest virtual function is executed on the IO thread. This patch also includes a unit test for the testable API parts. Change-Id: Ibe740fc55551a9a5da40794088ccb6d03d913631 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Martin Rotter <rotter.martinos@gmail.com> Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
Diffstat (limited to 'src/core/browser_context_adapter.h')
-rw-r--r--src/core/browser_context_adapter.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/core/browser_context_adapter.h b/src/core/browser_context_adapter.h
index 717450184..d8609108c 100644
--- a/src/core/browser_context_adapter.h
+++ b/src/core/browser_context_adapter.h
@@ -47,6 +47,7 @@
#include <QVector>
#include "api/qwebenginecookiestoreclient.h"
+#include "api/qwebengineurlrequestinterceptor.h"
QT_FORWARD_DECLARE_CLASS(QObject)
@@ -75,6 +76,9 @@ public:
QWebEngineCookieStoreClient *cookieStoreClient();
void setCookieStoreClient(QWebEngineCookieStoreClient *client);
+ QWebEngineUrlRequestInterceptor* requestInterceptor();
+ void setRequestInterceptor(QWebEngineUrlRequestInterceptor *interceptor);
+
QList<BrowserContextAdapterClient*> clients() { return m_clients; }
void addClient(BrowserContextAdapterClient *adapterClient);
void removeClient(BrowserContextAdapterClient *adapterClient);
@@ -155,6 +159,7 @@ private:
QScopedPointer<DownloadManagerDelegateQt> m_downloadManagerDelegate;
QScopedPointer<UserScriptControllerHost> m_userScriptController;
QPointer<QWebEngineCookieStoreClient> m_cookieStoreClient;
+ QPointer<QWebEngineUrlRequestInterceptor> m_requestInterceptor;
QString m_dataPath;
QString m_cachePath;