Chromium Code Reviews| Index: extensions/browser/api/socket/socket.h | 
| diff --git a/extensions/browser/api/socket/socket.h b/extensions/browser/api/socket/socket.h | 
| index 9ae45e7ac1dcff4754b601e87fd4bf50a152de41..c386342dc80cd2619c76faed2d00d8bddb858580 100644 | 
| --- a/extensions/browser/api/socket/socket.h | 
| +++ b/extensions/browser/api/socket/socket.h | 
| @@ -39,9 +39,17 @@ typedef base::Callback<void(int, net::TCPClientSocket*)> | 
| // we need to manage it in the context of an extension. | 
| class Socket : public ApiResource { | 
| public: | 
| - enum SocketType { TYPE_TCP, TYPE_UDP, }; | 
| + enum SocketType { TYPE_TCP, TYPE_UDP, TYPE_TLS }; | 
| virtual ~Socket(); | 
| + | 
| + const std::string& hostname() const { return hostname_; } | 
| + | 
| + void set_hostname(const std::string& hostname) { hostname_ = hostname; } | 
| 
 
Ryan Sleevi
2014/03/26 19:57:40
Seems like the comment from 111-114 should be move
 
lally
2014/03/28 16:22:51
Done.
 
 | 
| + | 
| + // Note: |address| contains the resolved IP address, not the hostname of | 
| + // the remote endpoint. In order to upgrade this socket to TLS, callers | 
| + // must also supply the hostname of the endpoint via set_hostname(). | 
| virtual void Connect(const std::string& address, | 
| int port, | 
| const CompletionCallback& callback) = 0; | 
| @@ -100,7 +108,11 @@ class Socket : public ApiResource { | 
| const net::CompletionCallback& callback) = 0; | 
| virtual void OnWriteComplete(int result); | 
| - const std::string address_; | 
| + // The hostname of the remote host that this socket is connected to. Note: | 
| + // This may contain an IP literal. In the case of IDNs, this will contain | 
| + // a series of U-LABELs (UTF-8), not A-LABELs. IP literals for IPv6 will | 
| + // be unbracketed. | 
| + std::string hostname_; | 
| bool is_connected_; | 
| private: |