summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2015-06-22 18:52:10 +0200
committerAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2015-06-23 14:58:00 +0000
commitc62091007ab44c4fee9b078393a31ade40eb4262 (patch)
tree4191ff7eaf9d050de7722add4996463ebdb6c45f /src
parent7a1e0d57d1a1683442ef33cd196bf73094152a2a (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.h12
-rw-r--r--src/core/url_request_context_getter_qt.cpp7
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);