Index: net/socket/client_socket_factory.cc |
diff --git a/net/socket/client_socket_factory.cc b/net/socket/client_socket_factory.cc |
index cb5d85104869ab0da191117667a19609c16150e1..75fb016599636259a6ff89f7a2b412a4d1b0f783 100644 |
--- a/net/socket/client_socket_factory.cc |
+++ b/net/socket/client_socket_factory.cc |
@@ -8,6 +8,8 @@ |
#include "base/thread_task_runner_handle.h" |
#include "base/threading/sequenced_worker_pool.h" |
#include "build/build_config.h" |
+#include "net/base/socket_performance_watcher.h" |
+#include "net/base/socket_performance_watcher_factory.h" |
#include "net/cert/cert_database.h" |
#include "net/socket/client_socket_handle.h" |
#if defined(USE_OPENSSL) |
@@ -78,10 +80,18 @@ class DefaultClientSocketFactory : public ClientSocketFactory, |
scoped_ptr<StreamSocket> CreateTransportClientSocket( |
const AddressList& addresses, |
+ const SocketPerformanceWatcherFactory* socket_performance_watcher_factory, |
NetLog* net_log, |
const NetLog::Source& source) override { |
- return scoped_ptr<StreamSocket>( |
- new TCPClientSocket(addresses, net_log, source)); |
+ // Create a |SocketPerformanceWatcher|, and pass the ownership to the |
+ // TCPClientSocket. |
+ scoped_ptr<SocketPerformanceWatcher> socket_performance_watcher; |
+ if (socket_performance_watcher_factory) { |
+ socket_performance_watcher = socket_performance_watcher_factory |
+ ->CreateTCPSocketPerformanceWatcher(); |
+ } |
+ return scoped_ptr<StreamSocket>(new TCPClientSocket( |
+ addresses, socket_performance_watcher.Pass(), net_log, source)); |
} |
scoped_ptr<SSLClientSocket> CreateSSLClientSocket( |