Index: net/proxy/proxy_service_v8.cc |
diff --git a/net/proxy/proxy_service_v8.cc b/net/proxy/proxy_service_v8.cc |
index 44ae82c3554c900e6b2df9438e27eab50339b12b..d5a3dd769cb9e6c8b5592d34cddf99276f9c039a 100644 |
--- a/net/proxy/proxy_service_v8.cc |
+++ b/net/proxy/proxy_service_v8.cc |
@@ -5,71 +5,16 @@ |
#include "net/proxy/proxy_service_v8.h" |
#include "base/logging.h" |
-#include "net/proxy/multi_threaded_proxy_resolver.h" |
#include "net/proxy/network_delegate_error_observer.h" |
#include "net/proxy/proxy_resolver.h" |
-#include "net/proxy/proxy_resolver_js_bindings.h" |
-#include "net/proxy/proxy_resolver_v8.h" |
+#include "net/proxy/proxy_resolver_v8_tracing.h" |
#include "net/proxy/proxy_service.h" |
-#include "net/proxy/sync_host_resolver_bridge.h" |
namespace net { |
-namespace { |
- |
-// This factory creates V8ProxyResolvers with appropriate javascript bindings. |
-class ProxyResolverFactoryForV8 : public ProxyResolverFactory { |
- public: |
- // |async_host_resolver|, |io_loop| and |net_log| must remain |
- // valid for the duration of our lifetime. |
- // |async_host_resolver| will only be operated on |io_loop|. |
- // TODO(willchan): remove io_loop and replace it with origin_loop. |
- ProxyResolverFactoryForV8(HostResolver* async_host_resolver, |
- MessageLoop* io_loop, |
- base::MessageLoopProxy* origin_loop, |
- NetLog* net_log, |
- NetworkDelegate* network_delegate) |
- : ProxyResolverFactory(true /*expects_pac_bytes*/), |
- async_host_resolver_(async_host_resolver), |
- io_loop_(io_loop), |
- origin_loop_(origin_loop), |
- net_log_(net_log), |
- network_delegate_(network_delegate) { |
- } |
- |
- virtual ProxyResolver* CreateProxyResolver() OVERRIDE { |
- // Create a synchronous host resolver wrapper that operates |
- // |async_host_resolver_| on |io_loop_|. |
- SyncHostResolverBridge* sync_host_resolver = |
- new SyncHostResolverBridge(async_host_resolver_, io_loop_); |
- |
- NetworkDelegateErrorObserver* error_observer = |
- new NetworkDelegateErrorObserver( |
- network_delegate_, origin_loop_.get()); |
- |
- // ProxyResolverJSBindings takes ownership of |error_observer| and |
- // |sync_host_resolver|. |
- ProxyResolverJSBindings* js_bindings = |
- ProxyResolverJSBindings::CreateDefault( |
- sync_host_resolver, net_log_, error_observer); |
- |
- // ProxyResolverV8 takes ownership of |js_bindings|. |
- return new ProxyResolverV8(js_bindings); |
- } |
- |
- private: |
- HostResolver* const async_host_resolver_; |
- MessageLoop* io_loop_; |
- scoped_refptr<base::MessageLoopProxy> origin_loop_; |
- NetLog* net_log_; |
- NetworkDelegate* network_delegate_; |
-}; |
- |
-} // namespace |
// static |
ProxyService* CreateProxyServiceUsingV8ProxyResolver( |
ProxyConfigService* proxy_config_service, |
- size_t num_pac_threads, |
ProxyScriptFetcher* proxy_script_fetcher, |
DhcpProxyScriptFetcher* dhcp_proxy_script_fetcher, |
HostResolver* host_resolver, |
@@ -80,19 +25,12 @@ ProxyService* CreateProxyServiceUsingV8ProxyResolver( |
DCHECK(dhcp_proxy_script_fetcher); |
DCHECK(host_resolver); |
- if (num_pac_threads == 0) |
- num_pac_threads = ProxyService::kDefaultNumPacThreads; |
- |
- ProxyResolverFactory* sync_resolver_factory = |
- new ProxyResolverFactoryForV8( |
- host_resolver, |
- MessageLoop::current(), |
- base::MessageLoopProxy::current(), |
- net_log, |
- network_delegate); |
+ ProxyResolverErrorObserver* error_observer = |
+ new NetworkDelegateErrorObserver( |
+ network_delegate, base::MessageLoopProxy::current()); |
ProxyResolver* proxy_resolver = |
- new MultiThreadedProxyResolver(sync_resolver_factory, num_pac_threads); |
+ new ProxyResolverV8Tracing(host_resolver, error_observer, net_log); |
ProxyService* proxy_service = |
new ProxyService(proxy_config_service, proxy_resolver, net_log); |