From e11cd75ff506e8dcbfc990d70baeec821f1f0563 Mon Sep 17 00:00:00 2001 From: Andras Becsi Date: Fri, 10 Jul 2015 17:27:45 +0200 Subject: 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 Reviewed-by: Martin Rotter Reviewed-by: Andras Becsi --- src/core/browser_context_adapter.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/core/browser_context_adapter.cpp') diff --git a/src/core/browser_context_adapter.cpp b/src/core/browser_context_adapter.cpp index 4c5e7fdc1..fdb410e66 100644 --- a/src/core/browser_context_adapter.cpp +++ b/src/core/browser_context_adapter.cpp @@ -145,6 +145,16 @@ void BrowserContextAdapter::setCookieStoreClient(QWebEngineCookieStoreClient *cl m_browserContext->url_request_getter_->updateStorageSettings(); } +QWebEngineUrlRequestInterceptor *BrowserContextAdapter::requestInterceptor() +{ + return m_requestInterceptor.data(); +} + +void BrowserContextAdapter::setRequestInterceptor(QWebEngineUrlRequestInterceptor *interceptor) +{ + m_requestInterceptor = interceptor; +} + void BrowserContextAdapter::addClient(BrowserContextAdapterClient *adapterClient) { m_clients.append(adapterClient); -- cgit v1.2.3