summaryrefslogtreecommitdiffstats
path: root/src/core/url_request_context_getter_qt.cpp
diff options
context:
space:
mode:
authorPierre Rossi <pierre.rossi@theqtcompany.com>2015-05-21 17:28:44 +0200
committerPierre Rossi <pierre.rossi@theqtcompany.com>2015-06-08 11:17:33 +0000
commit0e006b8ea755ebad01faf3e747e61abdf158289a (patch)
tree28fbc979b8576fa6c22044785e6c59d8f1048252 /src/core/url_request_context_getter_qt.cpp
parent8c3178b64d992435cb90a426ff075fee6778e04a (diff)
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 <allan.jensen@theqtcompany.com>
Diffstat (limited to 'src/core/url_request_context_getter_qt.cpp')
-rw-r--r--src/core/url_request_context_getter_qt.cpp8
1 files changed, 7 insertions, 1 deletions
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());