diff options
author | Michael BrĂ¼ning <michael.bruning@qt.io> | 2019-01-18 16:26:29 +0100 |
---|---|---|
committer | Michael BrĂ¼ning <michael.bruning@qt.io> | 2019-01-18 16:26:29 +0100 |
commit | 819182302d5bdaba41efb68ef3c533b2acc19ae1 (patch) | |
tree | cab7a922998bc5d6e7f42b537b0c0ce1b69111f6 /src/core/net/network_delegate_qt.cpp | |
parent | 0763b7c40d3490250f5bca1e0029cefba635305c (diff) | |
parent | 3f7ea91e23d82e676aeaf157736e25cf54e5ec6b (diff) |
Merge remote-tracking branch 'origin/5.12' into dev
Conflicts:
.qmake.conf
src/core/net/network_delegate_qt.cpp
src/core/profile_io_data_qt.cpp
src/core/web_engine_context.h
tests/auto/core/qwebengineurlrequestinterceptor/tst_qwebengineurlrequestinterceptor.cpp
Change-Id: Id98e3f52f548ceb5b68abd80aedd6ae59db72cc0
Diffstat (limited to 'src/core/net/network_delegate_qt.cpp')
-rw-r--r-- | src/core/net/network_delegate_qt.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/core/net/network_delegate_qt.cpp b/src/core/net/network_delegate_qt.cpp index e5bbb53c7..be31b6104 100644 --- a/src/core/net/network_delegate_qt.cpp +++ b/src/core/net/network_delegate_qt.cpp @@ -249,15 +249,22 @@ int NetworkDelegateQt::OnBeforeURLRequest(net::URLRequest *request, net::Complet const QUrl qUrl = toQt(request->url()); + QUrl firstPartyUrl = QUrl(); + if (resourceType == content::ResourceType::RESOURCE_TYPE_SUB_FRAME) + firstPartyUrl = toQt(request->first_party_url()); + else + firstPartyUrl = toQt(request->site_for_cookies()); + QWebEngineUrlRequestInfoPrivate *infoPrivate = new QWebEngineUrlRequestInfoPrivate(toQt(resourceType), toQt(navigationType), qUrl, - toQt(request->site_for_cookies()), + firstPartyUrl, QByteArray::fromStdString(request->method())); QWebEngineUrlRequestInfo requestInfo(infoPrivate); - if (QWebEngineUrlRequestInterceptor *interceptor = m_profileIOData->requestInterceptor()) { + if (QWebEngineUrlRequestInterceptor* interceptor = m_profileIOData->acquireInterceptor()) { interceptor->interceptRequest(requestInfo); + m_profileIOData->releaseInterceptor(); if (requestInfo.changed()) { int result = infoPrivate->shouldBlockRequest ? net::ERR_BLOCKED_BY_CLIENT : net::OK; @@ -275,7 +282,8 @@ int NetworkDelegateQt::OnBeforeURLRequest(net::URLRequest *request, net::Complet requestInfo.resetChanged(); } - } + } else + m_profileIOData->releaseInterceptor(); if (!resourceInfo) return net::OK; |