Windows only: Move client socket functionality from TCPClientSocket into TCPSocket.

TCPClientSocket becomes a wrapper around TCPSocket to expose a client-only interface.

The corresponding change for POSIX will be in a separate CL.

BUG=262601
TEST=new tests in tcp_socket_unittest.cc

Review URL: https://chromiumcodereview.appspot.com/23881002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223286 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/net/socket/tcp_server_socket.cc b/net/socket/tcp_server_socket.cc
index 13e9de1..63cb2cf8 100644
--- a/net/socket/tcp_server_socket.cc
+++ b/net/socket/tcp_server_socket.cc
@@ -22,7 +22,7 @@
 }
 
 int TCPServerSocket::Listen(const IPEndPoint& address, int backlog) {
-  int result = socket_.Create(address.GetFamily());
+  int result = socket_.Open(address.GetFamily());
   if (result != OK)
     return result;
 
@@ -88,17 +88,17 @@
   if (result != OK)
     return result;
 
+  // TODO(yzshen): Once we switch TCPClientSocketLibevent to take a connected
+  // TCPSocket object, we don't need to do platform-specific handling.
+#if defined(OS_WIN)
+  scoped_ptr<TCPClientSocket> client_socket(new TCPClientSocket(
+      temp_accepted_socket.Pass(), accepted_address_));
+#elif defined(OS_POSIX)
   scoped_ptr<TCPClientSocket> client_socket(new TCPClientSocket(
       AddressList(accepted_address_),
       temp_accepted_socket->net_log().net_log(),
       temp_accepted_socket->net_log().source()));
-  // TODO(yzshen): Once we switch TCPClientSocket::AdoptSocket() to take a
-  // TCPSocket object, we don't need to do platform-specific handling.
-#if defined(OS_WIN)
-  SOCKET raw_socket = temp_accepted_socket->Release();
-#elif defined(OS_POSIX)
   int raw_socket = temp_accepted_socket->Release();
-#endif
   result = client_socket->AdoptSocket(raw_socket);
   if (result != OK) {
     // |client_socket| won't take ownership of |raw_socket| on failure.
@@ -106,6 +106,7 @@
     temp_accepted_socket->Adopt(raw_socket);
     return result;
   }
+#endif
 
   *output_accepted_socket = client_socket.Pass();
   return OK;