diff options
author | Andras Becsi <andras.becsi@digia.com> | 2013-12-11 21:33:03 +0100 |
---|---|---|
committer | Andras Becsi <andras.becsi@digia.com> | 2013-12-13 12:34:07 +0100 |
commit | f2a33ff9cbc6d19943f1c7fbddd1f23d23975577 (patch) | |
tree | 0586a32aa390ade8557dfd6b4897f43a07449578 /chromium/ppapi/cpp/tcp_socket.cc | |
parent | 5362912cdb5eea702b68ebe23702468d17c3017a (diff) | |
download | qtwebengine-chromium-f2a33ff9cbc6d19943f1c7fbddd1f23d23975577.tar.gz |
Update Chromium to branch 1650 (31.0.1650.63)
Change-Id: I57d8c832eaec1eb2364e0a8e7352a6dd354db99f
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Diffstat (limited to 'chromium/ppapi/cpp/tcp_socket.cc')
-rw-r--r-- | chromium/ppapi/cpp/tcp_socket.cc | 72 |
1 files changed, 69 insertions, 3 deletions
diff --git a/chromium/ppapi/cpp/tcp_socket.cc b/chromium/ppapi/cpp/tcp_socket.cc index f0002fa5545..ab08ff3626c 100644 --- a/chromium/ppapi/cpp/tcp_socket.cc +++ b/chromium/ppapi/cpp/tcp_socket.cc @@ -17,13 +17,20 @@ template <> const char* interface_name<PPB_TCPSocket_1_0>() { return PPB_TCPSOCKET_INTERFACE_1_0; } +template <> const char* interface_name<PPB_TCPSocket_1_1>() { + return PPB_TCPSOCKET_INTERFACE_1_1; +} + } // namespace TCPSocket::TCPSocket() { } TCPSocket::TCPSocket(const InstanceHandle& instance) { - if (has_interface<PPB_TCPSocket_1_0>()) { + if (has_interface<PPB_TCPSocket_1_1>()) { + PassRefFromConstructor(get_interface<PPB_TCPSocket_1_1>()->Create( + instance.pp_instance())); + } else if (has_interface<PPB_TCPSocket_1_0>()) { PassRefFromConstructor(get_interface<PPB_TCPSocket_1_0>()->Create( instance.pp_instance())); } @@ -46,11 +53,25 @@ TCPSocket& TCPSocket::operator=(const TCPSocket& other) { // static bool TCPSocket::IsAvailable() { - return has_interface<PPB_TCPSocket_1_0>(); + return has_interface<PPB_TCPSocket_1_1>() || + has_interface<PPB_TCPSocket_1_0>(); +} + +int32_t TCPSocket::Bind(const NetAddress& addr, + const CompletionCallback& callback) { + if (has_interface<PPB_TCPSocket_1_1>()) { + return get_interface<PPB_TCPSocket_1_1>()->Bind( + pp_resource(), addr.pp_resource(), callback.pp_completion_callback()); + } + return callback.MayForce(PP_ERROR_NOINTERFACE); } int32_t TCPSocket::Connect(const NetAddress& addr, const CompletionCallback& callback) { + if (has_interface<PPB_TCPSocket_1_1>()) { + return get_interface<PPB_TCPSocket_1_1>()->Connect( + pp_resource(), addr.pp_resource(), callback.pp_completion_callback()); + } if (has_interface<PPB_TCPSocket_1_0>()) { return get_interface<PPB_TCPSocket_1_0>()->Connect( pp_resource(), addr.pp_resource(), callback.pp_completion_callback()); @@ -59,6 +80,11 @@ int32_t TCPSocket::Connect(const NetAddress& addr, } NetAddress TCPSocket::GetLocalAddress() const { + if (has_interface<PPB_TCPSocket_1_1>()) { + return NetAddress( + PASS_REF, + get_interface<PPB_TCPSocket_1_1>()->GetLocalAddress(pp_resource())); + } if (has_interface<PPB_TCPSocket_1_0>()) { return NetAddress( PASS_REF, @@ -68,6 +94,11 @@ NetAddress TCPSocket::GetLocalAddress() const { } NetAddress TCPSocket::GetRemoteAddress() const { + if (has_interface<PPB_TCPSocket_1_1>()) { + return NetAddress( + PASS_REF, + get_interface<PPB_TCPSocket_1_1>()->GetRemoteAddress(pp_resource())); + } if (has_interface<PPB_TCPSocket_1_0>()) { return NetAddress( PASS_REF, @@ -79,6 +110,11 @@ NetAddress TCPSocket::GetRemoteAddress() const { int32_t TCPSocket::Read(char* buffer, int32_t bytes_to_read, const CompletionCallback& callback) { + if (has_interface<PPB_TCPSocket_1_1>()) { + return get_interface<PPB_TCPSocket_1_1>()->Read( + pp_resource(), buffer, bytes_to_read, + callback.pp_completion_callback()); + } if (has_interface<PPB_TCPSocket_1_0>()) { return get_interface<PPB_TCPSocket_1_0>()->Read( pp_resource(), buffer, bytes_to_read, @@ -90,6 +126,11 @@ int32_t TCPSocket::Read(char* buffer, int32_t TCPSocket::Write(const char* buffer, int32_t bytes_to_write, const CompletionCallback& callback) { + if (has_interface<PPB_TCPSocket_1_1>()) { + return get_interface<PPB_TCPSocket_1_1>()->Write( + pp_resource(), buffer, bytes_to_write, + callback.pp_completion_callback()); + } if (has_interface<PPB_TCPSocket_1_0>()) { return get_interface<PPB_TCPSocket_1_0>()->Write( pp_resource(), buffer, bytes_to_write, @@ -98,14 +139,39 @@ int32_t TCPSocket::Write(const char* buffer, return callback.MayForce(PP_ERROR_NOINTERFACE); } +int32_t TCPSocket::Listen(int32_t backlog, + const CompletionCallback& callback) { + if (has_interface<PPB_TCPSocket_1_1>()) { + return get_interface<PPB_TCPSocket_1_1>()->Listen( + pp_resource(), backlog, callback.pp_completion_callback()); + } + return callback.MayForce(PP_ERROR_NOINTERFACE); +} + +int32_t TCPSocket::Accept( + const CompletionCallbackWithOutput<TCPSocket>& callback) { + if (has_interface<PPB_TCPSocket_1_1>()) { + return get_interface<PPB_TCPSocket_1_1>()->Accept( + pp_resource(), callback.output(), callback.pp_completion_callback()); + } + return callback.MayForce(PP_ERROR_NOINTERFACE); +} + void TCPSocket::Close() { - if (has_interface<PPB_TCPSocket_1_0>()) + if (has_interface<PPB_TCPSocket_1_1>()) { + get_interface<PPB_TCPSocket_1_1>()->Close(pp_resource()); + } else if (has_interface<PPB_TCPSocket_1_0>()) { get_interface<PPB_TCPSocket_1_0>()->Close(pp_resource()); + } } int32_t TCPSocket::SetOption(PP_TCPSocket_Option name, const Var& value, const CompletionCallback& callback) { + if (has_interface<PPB_TCPSocket_1_1>()) { + return get_interface<PPB_TCPSocket_1_1>()->SetOption( + pp_resource(), name, value.pp_var(), callback.pp_completion_callback()); + } if (has_interface<PPB_TCPSocket_1_0>()) { return get_interface<PPB_TCPSocket_1_0>()->SetOption( pp_resource(), name, value.pp_var(), callback.pp_completion_callback()); |