diff options
author | Kai Koehne <kai.koehne@theqtcompany.com> | 2015-06-30 15:28:46 +0200 |
---|---|---|
committer | Kai Koehne <kai.koehne@theqtcompany.com> | 2015-07-23 10:00:32 +0000 |
commit | 04539e3a79c31d626c18820a373efd8a0707c04d (patch) | |
tree | 3d6233365e6ef2084ae45b8ad6e45abb3a49def7 /src/core/url_request_context_getter_qt.h | |
parent | b3dd299dfec35444ec89e7525dc1eebe2493d9eb (diff) |
Use v8 backend for proxy resolution
Use the v8 proxy resolution backend instead of the native one in the
multi-process case. This fixes a particular issue on windows where the
winhttp one will attempt to find proxy servers for every single request:
https://crbug.com/40797 . Chrome uses the v8 backend too.
Resort to the native backend though if started with --single-process. This
is because the Chromium renderer and the V8 ProxyResolver can't run in the
same process. See also proxy_resolver_v8.h:
// It is important that *ALL* instances of V8 in the process be using
// v8::Locker. If not there can be race conditions between the non-locked V8
// instances and the locked V8 instances used by ProxyResolverV8 (assuming they
// run on different threads).
//
// This is the case with the V8 instance used by chromium's renderer -- it runs
// on a different thread from ProxyResolver (renderer thread vs PAC thread),
// and does not use locking since it expects to be alone.
Task-number: QTBUG-44763
Change-Id: I7b48cb9d0f3c41fdddffc9eb9f51d83442d80622
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Diffstat (limited to 'src/core/url_request_context_getter_qt.h')
-rw-r--r-- | src/core/url_request_context_getter_qt.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/core/url_request_context_getter_qt.h b/src/core/url_request_context_getter_qt.h index d08836714..38cfd7957 100644 --- a/src/core/url_request_context_getter_qt.h +++ b/src/core/url_request_context_getter_qt.h @@ -47,6 +47,7 @@ #include "content/public/common/url_constants.h" #include "net/url_request/url_request_context_storage.h" #include "net/url_request/url_request_job_factory_impl.h" +#include "net/proxy/dhcp_proxy_script_fetcher_factory.h" #include "qglobal.h" #include <qatomic.h> @@ -95,6 +96,7 @@ private: scoped_ptr<net::NetworkDelegate> m_networkDelegate; scoped_ptr<net::URLRequestContextStorage> m_storage; scoped_ptr<net::URLRequestJobFactoryImpl> m_jobFactory; + scoped_ptr<net::DhcpProxyScriptFetcherFactory> m_dhcpProxyScriptFetcherFactory; }; } // namespace QtWebEngineCore |