Index: net/proxy/mojo_proxy_resolver_factory_impl.cc |
diff --git a/net/proxy/mojo_proxy_resolver_factory_impl.cc b/net/proxy/mojo_proxy_resolver_factory_impl.cc |
index 4a95aa727a7afa588a293bce1d6d8d0d4b785942..834151e99c9c6912ef8ac3ee22f2611fbca21c2b 100644 |
--- a/net/proxy/mojo_proxy_resolver_factory_impl.cc |
+++ b/net/proxy/mojo_proxy_resolver_factory_impl.cc |
@@ -13,7 +13,7 @@ |
#include "net/proxy/proxy_resolver_error_observer_mojo.h" |
#include "net/proxy/proxy_resolver_factory.h" |
#include "net/proxy/proxy_resolver_v8.h" |
-#include "net/proxy/proxy_resolver_v8_tracing.h" |
+#include "net/proxy/proxy_resolver_v8_tracing_wrapper.h" |
#include "third_party/mojo/src/mojo/public/cpp/bindings/error_handler.h" |
namespace net { |
@@ -26,38 +26,12 @@ scoped_ptr<ProxyResolverErrorObserver> ReturnErrorObserver( |
scoped_ptr<ProxyResolverFactory> CreateDefaultProxyResolver( |
HostResolver* host_resolver, |
- scoped_ptr<ProxyResolverErrorObserver> error_observer, |
- const ProxyResolver::LoadStateChangedCallback& callback) { |
- return make_scoped_ptr(new ProxyResolverFactoryV8Tracing( |
- host_resolver, nullptr, callback, |
+ scoped_ptr<ProxyResolverErrorObserver> error_observer) { |
+ return make_scoped_ptr(new ProxyResolverFactoryV8TracingWrapper( |
+ host_resolver, nullptr, |
base::Bind(&ReturnErrorObserver, base::Passed(&error_observer)))); |
} |
-class LoadStateChangeForwarder |
- : public base::RefCounted<LoadStateChangeForwarder> { |
- public: |
- LoadStateChangeForwarder() = default; |
- |
- void OnLoadStateChanged(ProxyResolver::RequestHandle request_handle, |
- LoadState load_state) const { |
- if (!callback_.is_null()) |
- callback_.Run(request_handle, load_state); |
- } |
- |
- void set_load_state_changed_callback( |
- const ProxyResolver::LoadStateChangedCallback& callback) { |
- callback_ = callback; |
- } |
- |
- private: |
- friend class base::RefCounted<LoadStateChangeForwarder>; |
- ~LoadStateChangeForwarder() = default; |
- |
- ProxyResolver::LoadStateChangedCallback callback_; |
- |
- DISALLOW_COPY_AND_ASSIGN(LoadStateChangeForwarder); |
-}; |
- |
// A class to manage the lifetime of a MojoProxyResolverImpl and a |
// HostResolverMojo. An instance will remain while the message pipes for both |
// mojo connections remain open. |
@@ -66,8 +40,6 @@ class MojoProxyResolverHolder : public mojo::ErrorHandler { |
MojoProxyResolverHolder( |
scoped_ptr<HostResolverMojo> host_resolver, |
scoped_ptr<ProxyResolver> proxy_resolver_impl, |
- const scoped_refptr<LoadStateChangeForwarder>& |
- load_state_change_forwarder, |
mojo::InterfaceRequest<interfaces::ProxyResolver> request); |
private: |
@@ -84,13 +56,9 @@ class MojoProxyResolverHolder : public mojo::ErrorHandler { |
MojoProxyResolverHolder::MojoProxyResolverHolder( |
scoped_ptr<HostResolverMojo> host_resolver, |
scoped_ptr<ProxyResolver> proxy_resolver_impl, |
- const scoped_refptr<LoadStateChangeForwarder>& load_state_change_forwarder, |
mojo::InterfaceRequest<interfaces::ProxyResolver> request) |
: host_resolver_(host_resolver.Pass()), |
- mojo_proxy_resolver_( |
- proxy_resolver_impl.Pass(), |
- base::Bind(&LoadStateChangeForwarder::set_load_state_changed_callback, |
- load_state_change_forwarder)), |
+ mojo_proxy_resolver_(proxy_resolver_impl.Pass()), |
binding_(&mojo_proxy_resolver_, request.Pass()) { |
binding_.set_error_handler(this); |
host_resolver_->set_disconnect_callback(base::Bind( |
@@ -122,7 +90,6 @@ class MojoProxyResolverFactoryImpl::Job : public mojo::ErrorHandler { |
MojoProxyResolverFactoryImpl* const parent_; |
scoped_ptr<HostResolverMojo> host_resolver_; |
- scoped_refptr<LoadStateChangeForwarder> load_state_change_forwarder_; |
scoped_ptr<ProxyResolver> proxy_resolver_impl_; |
mojo::InterfaceRequest<interfaces::ProxyResolver> proxy_request_; |
scoped_ptr<net::ProxyResolverFactory> factory_; |
@@ -145,13 +112,10 @@ MojoProxyResolverFactoryImpl::Job::Job( |
host_resolver.Pass(), |
base::Bind(&MojoProxyResolverFactoryImpl::Job::OnConnectionError, |
base::Unretained(this)))), |
- load_state_change_forwarder_(new LoadStateChangeForwarder), |
proxy_request_(request.Pass()), |
factory_(proxy_resolver_factory.Run( |
host_resolver_.get(), |
- ProxyResolverErrorObserverMojo::Create(error_observer.Pass()), |
- base::Bind(&LoadStateChangeForwarder::OnLoadStateChanged, |
- load_state_change_forwarder_))), |
+ ProxyResolverErrorObserverMojo::Create(error_observer.Pass()))), |
client_ptr_(client.Pass()) { |
client_ptr_.set_error_handler(this); |
factory_->CreateProxyResolver( |
@@ -172,9 +136,9 @@ void MojoProxyResolverFactoryImpl::Job::OnProxyResolverCreated(int error) { |
if (error == OK) { |
// The MojoProxyResolverHolder will delete itself if either |
// |host_resolver_| or |proxy_request_| encounters a connection error. |
- new MojoProxyResolverHolder( |
- host_resolver_.Pass(), proxy_resolver_impl_.Pass(), |
- load_state_change_forwarder_, proxy_request_.Pass()); |
+ new MojoProxyResolverHolder(host_resolver_.Pass(), |
+ proxy_resolver_impl_.Pass(), |
+ proxy_request_.Pass()); |
} |
client_ptr_->ReportResult(error); |
parent_->RemoveJob(this); |