diff options
author | Pierre Rossi <pierre.rossi@theqtcompany.com> | 2015-05-21 17:28:44 +0200 |
---|---|---|
committer | Pierre Rossi <pierre.rossi@theqtcompany.com> | 2015-06-08 11:17:33 +0000 |
commit | 0e006b8ea755ebad01faf3e747e61abdf158289a (patch) | |
tree | 28fbc979b8576fa6c22044785e6c59d8f1048252 /src/core/url_request_context_getter_qt.cpp | |
parent | 8c3178b64d992435cb90a426ff075fee6778e04a (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.cpp | 8 |
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()); |