mirror of
https://invent.kde.org/network/falkon.git
synced 2024-12-20 10:46:35 +01:00
NetworkUrlInterceptor: Also guard adding/removing other interceptors
This commit is contained in:
parent
ee02d7716a
commit
8827b1fb90
@ -21,6 +21,8 @@
|
|||||||
#include "mainapplication.h"
|
#include "mainapplication.h"
|
||||||
#include "useragentmanager.h"
|
#include "useragentmanager.h"
|
||||||
|
|
||||||
|
#include <QMutexLocker>
|
||||||
|
|
||||||
NetworkUrlInterceptor::NetworkUrlInterceptor(QObject *parent)
|
NetworkUrlInterceptor::NetworkUrlInterceptor(QObject *parent)
|
||||||
: QWebEngineUrlRequestInterceptor(parent)
|
: QWebEngineUrlRequestInterceptor(parent)
|
||||||
, m_sendDNT(false)
|
, m_sendDNT(false)
|
||||||
@ -29,7 +31,7 @@ NetworkUrlInterceptor::NetworkUrlInterceptor(QObject *parent)
|
|||||||
|
|
||||||
void NetworkUrlInterceptor::interceptRequest(QWebEngineUrlRequestInfo &info)
|
void NetworkUrlInterceptor::interceptRequest(QWebEngineUrlRequestInfo &info)
|
||||||
{
|
{
|
||||||
m_mutex.lock();
|
QMutexLocker lock(&m_mutex);
|
||||||
|
|
||||||
if (m_sendDNT) {
|
if (m_sendDNT) {
|
||||||
info.setHttpHeader(QByteArrayLiteral("DNT"), QByteArrayLiteral("1"));
|
info.setHttpHeader(QByteArrayLiteral("DNT"), QByteArrayLiteral("1"));
|
||||||
@ -56,8 +58,6 @@ void NetworkUrlInterceptor::interceptRequest(QWebEngineUrlRequestInfo &info)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_mutex.unlock();
|
|
||||||
|
|
||||||
foreach (UrlInterceptor *interceptor, m_interceptors) {
|
foreach (UrlInterceptor *interceptor, m_interceptors) {
|
||||||
interceptor->interceptRequest(info);
|
interceptor->interceptRequest(info);
|
||||||
}
|
}
|
||||||
@ -65,18 +65,23 @@ void NetworkUrlInterceptor::interceptRequest(QWebEngineUrlRequestInfo &info)
|
|||||||
|
|
||||||
void NetworkUrlInterceptor::installUrlInterceptor(UrlInterceptor *interceptor)
|
void NetworkUrlInterceptor::installUrlInterceptor(UrlInterceptor *interceptor)
|
||||||
{
|
{
|
||||||
if (!m_interceptors.contains(interceptor))
|
QMutexLocker lock(&m_mutex);
|
||||||
|
|
||||||
|
if (!m_interceptors.contains(interceptor)) {
|
||||||
m_interceptors.append(interceptor);
|
m_interceptors.append(interceptor);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void NetworkUrlInterceptor::removeUrlInterceptor(UrlInterceptor *interceptor)
|
void NetworkUrlInterceptor::removeUrlInterceptor(UrlInterceptor *interceptor)
|
||||||
{
|
{
|
||||||
|
QMutexLocker lock(&m_mutex);
|
||||||
|
|
||||||
m_interceptors.removeOne(interceptor);
|
m_interceptors.removeOne(interceptor);
|
||||||
}
|
}
|
||||||
|
|
||||||
void NetworkUrlInterceptor::loadSettings()
|
void NetworkUrlInterceptor::loadSettings()
|
||||||
{
|
{
|
||||||
m_mutex.lock();
|
QMutexLocker lock(&m_mutex);
|
||||||
|
|
||||||
Settings settings;
|
Settings settings;
|
||||||
settings.beginGroup("Web-Browser-Settings");
|
settings.beginGroup("Web-Browser-Settings");
|
||||||
@ -85,6 +90,4 @@ void NetworkUrlInterceptor::loadSettings()
|
|||||||
|
|
||||||
m_usePerDomainUserAgent = mApp->userAgentManager()->usePerDomainUserAgents();
|
m_usePerDomainUserAgent = mApp->userAgentManager()->usePerDomainUserAgents();
|
||||||
m_userAgentsList = mApp->userAgentManager()->perDomainUserAgentsList();
|
m_userAgentsList = mApp->userAgentManager()->perDomainUserAgentsList();
|
||||||
|
|
||||||
m_mutex.unlock();
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user