| 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; }
|
| +
|
| + // 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:
|
|
|