From 0e006b8ea755ebad01faf3e747e61abdf158289a Mon Sep 17 00:00:00 2001 From: Pierre Rossi Date: Thu, 21 May 2015 17:28:44 +0200 Subject: Introduce ProxyResolverQt This allows using QtNetwork's proxy auto conf detection code from QNetworkProxyFactory, by setting the QTWEBENGINE_USE_QT_PROXYRESOLVER environment variable. Otherwise, we still rely on chromium's implementation. Task-number: QTBUG-45376 Change-Id: I7b8b77c932060ad36090d388d616b713d93cad0a Reviewed-by: Allan Sandfeld Jensen --- src/core/url_request_context_getter_qt.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/core/url_request_context_getter_qt.cpp') diff --git a/src/core/url_request_context_getter_qt.cpp b/src/core/url_request_context_getter_qt.cpp index 8247e07eb..da0dd8ab3 100644 --- a/src/core/url_request_context_getter_qt.cpp +++ b/src/core/url_request_context_getter_qt.cpp @@ -67,6 +67,7 @@ #include "content_client_qt.h" #include "network_delegate_qt.h" #include "proxy_config_service_qt.h" +#include "proxy_resolver_qt.h" #include "qrc_protocol_handler_qt.h" #include "type_conversion.h" @@ -150,7 +151,12 @@ void URLRequestContextGetterQt::generateStorage() base::WorkerPool::GetTaskRunner(true))); m_storage->set_cert_verifier(net::CertVerifier::CreateDefault()); - m_storage->set_proxy_service(net::ProxyService::CreateUsingSystemProxyResolver(proxyConfigService, 0, NULL)); + net::ProxyService *proxyService = nullptr; + if (ProxyResolverQt::useProxyResolverQt()) + proxyService = new net::ProxyService(proxyConfigService, new ProxyResolverQt, nullptr); + else + proxyService = net::ProxyService::CreateUsingSystemProxyResolver(proxyConfigService, /*num_pac_threads = */0 /*default*/, NULL); + m_storage->set_proxy_service(proxyService); m_storage->set_ssl_config_service(new net::SSLConfigServiceDefaults); m_storage->set_transport_security_state(new net::TransportSecurityState()); -- cgit v1.2.3