diff options
author | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2015-06-22 18:52:10 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2015-06-23 14:58:00 +0000 |
commit | c62091007ab44c4fee9b078393a31ade40eb4262 (patch) | |
tree | 4191ff7eaf9d050de7722add4996463ebdb6c45f /src | |
parent | 7a1e0d57d1a1683442ef33cd196bf73094152a2a (diff) |
Fix ProxyResolverQt for Chromium 44
We now have to construct the proxy service using a proxy resolver
factory.
Change-Id: Id5c7957165f997c4a7f05d24d77b4ae68efd5a62
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/core/proxy_resolver_qt.h | 12 | ||||
-rw-r--r-- | src/core/url_request_context_getter_qt.cpp | 7 |
2 files changed, 16 insertions, 3 deletions
diff --git a/src/core/proxy_resolver_qt.h b/src/core/proxy_resolver_qt.h index 5580de598..4d419fb6e 100644 --- a/src/core/proxy_resolver_qt.h +++ b/src/core/proxy_resolver_qt.h @@ -38,6 +38,7 @@ #define PROXY_RESOLVER_QT_H #include "net/proxy/proxy_resolver.h" +#include "net/proxy/proxy_resolver_factory.h" #include <qglobal.h> @@ -59,4 +60,15 @@ public: int SetPacScript(const scoped_refptr<net::ProxyResolverScriptData>& /*script_data*/, const net::CompletionCallback& /*callback*/) override; }; +class ProxyResolverFactoryQt : public net::LegacyProxyResolverFactory { +public: + ProxyResolverFactoryQt(bool expects_pac_bytes) : net::LegacyProxyResolverFactory(expects_pac_bytes) + { + } + scoped_ptr<net::ProxyResolver> CreateProxyResolver() override + { + return scoped_ptr<net::ProxyResolver>(new ProxyResolverQt()); + } +}; + #endif // PROXY_RESOLVER_QT_H diff --git a/src/core/url_request_context_getter_qt.cpp b/src/core/url_request_context_getter_qt.cpp index d829666b7..5cede6ef6 100644 --- a/src/core/url_request_context_getter_qt.cpp +++ b/src/core/url_request_context_getter_qt.cpp @@ -156,9 +156,10 @@ void URLRequestContextGetterQt::generateStorage() m_storage->set_cert_verifier(net::CertVerifier::CreateDefault()); net::ProxyService *proxyService = nullptr; - if (ProxyResolverQt::useProxyResolverQt()) - proxyService = new net::ProxyService(proxyConfigService, new ProxyResolverQt, nullptr); - else + if (ProxyResolverQt::useProxyResolverQt()) { + scoped_ptr<ProxyResolverFactoryQt> factory(new ProxyResolverFactoryQt(false)); + proxyService = new net::ProxyService(proxyConfigService, factory.Pass(), 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); |