summaryrefslogtreecommitdiff
path: root/chromium/ppapi/cpp/tcp_socket.cc
diff options
context:
space:
mode:
authorAndras Becsi <andras.becsi@digia.com>2013-12-11 21:33:03 +0100
committerAndras Becsi <andras.becsi@digia.com>2013-12-13 12:34:07 +0100
commitf2a33ff9cbc6d19943f1c7fbddd1f23d23975577 (patch)
tree0586a32aa390ade8557dfd6b4897f43a07449578 /chromium/ppapi/cpp/tcp_socket.cc
parent5362912cdb5eea702b68ebe23702468d17c3017a (diff)
downloadqtwebengine-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.cc72
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());