diff options
author | Andras Becsi <andras.becsi@theqtcompany.com> | 2015-07-10 17:27:45 +0200 |
---|---|---|
committer | Andras Becsi <andras.becsi@theqtcompany.com> | 2015-08-03 20:46:55 +0000 |
commit | e11cd75ff506e8dcbfc990d70baeec821f1f0563 (patch) | |
tree | db4e58d9b0c66656e5eccb368dd61cdb36034c75 /src/core/browser_context_adapter.h | |
parent | 853d5867644fd53f2d779c3c7b39a34803a3e566 (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.h | 5 |
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; |