Index: net/socket/client_socket_factory.cc |
diff --git a/net/socket/client_socket_factory.cc b/net/socket/client_socket_factory.cc |
index 311f926b59fcefdc3f2c9be276d025c0251dfcd3..9a547a49b98fb633ffbbec6d5a65cb4d5769bdaa 100644 |
--- a/net/socket/client_socket_factory.cc |
+++ b/net/socket/client_socket_factory.cc |
@@ -8,6 +8,8 @@ |
#include "base/lazy_instance.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" |
#include "net/socket/tcp_client_socket.h" |
@@ -60,10 +62,19 @@ class DefaultClientSocketFactory : public ClientSocketFactory, |
scoped_ptr<StreamSocket> CreateTransportClientSocket( |
const AddressList& addresses, |
+ 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->CreateSocketPerformanceWatcher( |
+ SocketPerformanceWatcherFactory::PROTOCOL_TCP); |
+ } |
+ return scoped_ptr<StreamSocket>(new TCPClientSocket( |
+ addresses, std::move(socket_performance_watcher), net_log, source)); |
} |
scoped_ptr<SSLClientSocket> CreateSSLClientSocket( |