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: |