summaryrefslogtreecommitdiffstats
path: root/src/core/browser_context_adapter.cpp
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2016-04-28 12:59:40 +0200
committerAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2016-05-03 22:39:30 +0000
commitd107266cd403416d622948186968106a9cf78590 (patch)
tree46be19d204f577fd15df8ba72e6b3094d629b307 /src/core/browser_context_adapter.cpp
parenta6a8cf1cb1515ec19c5216f76e887c5eef84aef3 (diff)
Fix threading issues with URLRequestContext
URLRequestContextGetterQt contains data which is shared between UI and IO thread. Make the class more thread friendly by making copies of the data that can be accessed from the IO thread, and protect synchronization with a full mutex instead of atomics. Also fixes circular reference between URLRequestContextGetterQt and BrowserContextAdapter. Task-number: QTBUG-50160 Task-number: QTBUG-52509 Change-Id: Idaba211533cfad229e1d1872cdfdf4e7dffeb3d8 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Diffstat (limited to 'src/core/browser_context_adapter.cpp')
-rw-r--r--src/core/browser_context_adapter.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/core/browser_context_adapter.cpp b/src/core/browser_context_adapter.cpp
index c7118b4f7..481197eed 100644
--- a/src/core/browser_context_adapter.cpp
+++ b/src/core/browser_context_adapter.cpp
@@ -148,6 +148,8 @@ QWebEngineUrlRequestInterceptor *BrowserContextAdapter::requestInterceptor()
void BrowserContextAdapter::setRequestInterceptor(QWebEngineUrlRequestInterceptor *interceptor)
{
m_requestInterceptor = interceptor;
+ if (m_browserContext->url_request_getter_.get())
+ m_browserContext->url_request_getter_->updateRequestInterceptor();
}
void BrowserContextAdapter::addClient(BrowserContextAdapterClient *adapterClient)