Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(30)

Unified Diff: net/proxy/mojo_proxy_resolver_factory_impl.cc

Issue 1145153004: Split ProxyResolverV8Tracing into an implementation and a wrapper. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
« no previous file with comments | « net/proxy/mojo_proxy_resolver_factory_impl.h ('k') | net/proxy/mojo_proxy_resolver_factory_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698