Chromium Code Reviews| Index: chrome/browser/devtools/remote_debugging_server.cc |
| diff --git a/chrome/browser/devtools/remote_debugging_server.cc b/chrome/browser/devtools/remote_debugging_server.cc |
| index c355ce5b40d7b5460a16f1f651acf8ad3e036c11..2576410505e46ac6f6c8d40f81a16861190e404b 100644 |
| --- a/chrome/browser/devtools/remote_debugging_server.cc |
| +++ b/chrome/browser/devtools/remote_debugging_server.cc |
| @@ -45,14 +45,26 @@ class TCPServerSocketFactory |
| last_tethering_port_(kMinTetheringPort) {} |
| private: |
| + scoped_ptr<net::ServerSocket> CreateLocalHostServerSocket(int port) { |
| + scoped_ptr<net::ServerSocket> socket( |
| + new net::TCPServerSocket(nullptr, net::NetLog::Source())); |
| + if (socket->ListenWithAddressAndPort( |
| + "127.0.0.1", port, kBackLog) == net::OK) |
| + return socket; |
|
mmenke
2016/04/01 18:41:21
Where's the RemoteDebuggingClient? Would it be be
mmenke
2016/04/01 18:42:16
Also, it's possible the port could be used by anot
|
| + if (socket->ListenWithAddressAndPort("::1", port, kBackLog) == net::OK) |
| + return socket; |
| + return scoped_ptr<net::ServerSocket>(); |
| + } |
| + |
| // devtools_http_handler::DevToolsHttpHandler::ServerSocketFactory. |
| scoped_ptr<net::ServerSocket> CreateForHttpServer() override { |
| scoped_ptr<net::ServerSocket> socket( |
| new net::TCPServerSocket(nullptr, net::NetLog::Source())); |
| - if (socket->ListenWithAddressAndPort(address_, port_, kBackLog) != net::OK) |
| - return scoped_ptr<net::ServerSocket>(); |
| - |
| - return socket; |
| + if (address_.empty()) |
| + return CreateLocalHostServerSocket(port_); |
| + if (socket->ListenWithAddressAndPort(address_, port_, kBackLog) == net::OK) |
| + return socket; |
| + return scoped_ptr<net::ServerSocket>(); |
| } |
| scoped_ptr<net::ServerSocket> CreateForTethering(std::string* name) override { |
| @@ -63,13 +75,7 @@ class TCPServerSocketFactory |
| last_tethering_port_ = kMinTetheringPort; |
| uint16_t port = ++last_tethering_port_; |
| *name = base::UintToString(port); |
| - scoped_ptr<net::TCPServerSocket> socket( |
| - new net::TCPServerSocket(nullptr, net::NetLog::Source())); |
| - if (socket->ListenWithAddressAndPort("127.0.0.1", port, kBackLog) != |
| - net::OK) { |
| - return scoped_ptr<net::ServerSocket>(); |
| - } |
| - return std::move(socket); |
| + return CreateLocalHostServerSocket(port); |
| } |
| std::string address_; |