diff options
-rw-r--r-- | ppapi/cpp/private/flash_tcp_socket.cc | 10 | ||||
-rw-r--r-- | ppapi/thunk/ppb_flash_tcp_socket_thunk.cc | 28 |
2 files changed, 22 insertions, 16 deletions
diff --git a/ppapi/cpp/private/flash_tcp_socket.cc b/ppapi/cpp/private/flash_tcp_socket.cc index f5b4633..82e6414 100644 --- a/ppapi/cpp/private/flash_tcp_socket.cc +++ b/ppapi/cpp/private/flash_tcp_socket.cc @@ -36,7 +36,7 @@ int32_t TCPSocket::Connect(const char* host, uint16_t port, const CompletionCallback& callback) { if (!has_interface<PPB_Flash_TCPSocket>()) - return PP_ERROR_NOINTERFACE; + return callback.MayForce(PP_ERROR_NOINTERFACE); return get_interface<PPB_Flash_TCPSocket>()->Connect( pp_resource(), host, port, callback.pp_completion_callback()); } @@ -44,7 +44,7 @@ int32_t TCPSocket::Connect(const char* host, int32_t TCPSocket::ConnectWithNetAddress(const PP_Flash_NetAddress* addr, const CompletionCallback& callback) { if (!has_interface<PPB_Flash_TCPSocket>()) - return PP_ERROR_NOINTERFACE; + return callback.MayForce(PP_ERROR_NOINTERFACE); return get_interface<PPB_Flash_TCPSocket>()->ConnectWithNetAddress( pp_resource(), addr, callback.pp_completion_callback()); } @@ -69,7 +69,7 @@ bool TCPSocket::GetRemoteAddress(PP_Flash_NetAddress* remote_addr) { int32_t TCPSocket::InitiateSSL(const char* server_name, const CompletionCallback& callback) { if (!has_interface<PPB_Flash_TCPSocket>()) - return PP_ERROR_NOINTERFACE; + return callback.MayForce(PP_ERROR_NOINTERFACE); return get_interface<PPB_Flash_TCPSocket>()->InitiateSSL( pp_resource(), server_name, callback.pp_completion_callback()); } @@ -78,7 +78,7 @@ int32_t TCPSocket::Read(char* buffer, int32_t bytes_to_read, const CompletionCallback& callback) { if (!has_interface<PPB_Flash_TCPSocket>()) - return PP_ERROR_NOINTERFACE; + return callback.MayForce(PP_ERROR_NOINTERFACE); return get_interface<PPB_Flash_TCPSocket>()->Read( pp_resource(), buffer, bytes_to_read, callback.pp_completion_callback()); } @@ -87,7 +87,7 @@ int32_t TCPSocket::Write(const char* buffer, int32_t bytes_to_write, const CompletionCallback& callback) { if (!has_interface<PPB_Flash_TCPSocket>()) - return PP_ERROR_NOINTERFACE; + return callback.MayForce(PP_ERROR_NOINTERFACE); return get_interface<PPB_Flash_TCPSocket>()->Write( pp_resource(), buffer, bytes_to_write, callback.pp_completion_callback()); } diff --git a/ppapi/thunk/ppb_flash_tcp_socket_thunk.cc b/ppapi/thunk/ppb_flash_tcp_socket_thunk.cc index 815dd53..6154d60 100644 --- a/ppapi/thunk/ppb_flash_tcp_socket_thunk.cc +++ b/ppapi/thunk/ppb_flash_tcp_socket_thunk.cc @@ -5,8 +5,9 @@ #include "ppapi/c/pp_completion_callback.h" #include "ppapi/c/pp_errors.h" #include "ppapi/c/private/ppb_flash_tcp_socket.h" -#include "ppapi/thunk/thunk.h" +#include "ppapi/thunk/common.h" #include "ppapi/thunk/enter.h" +#include "ppapi/thunk/thunk.h" #include "ppapi/thunk/ppb_flash_tcp_socket_api.h" #include "ppapi/thunk/resource_creation_api.h" @@ -33,8 +34,9 @@ int32_t Connect(PP_Resource tcp_socket, PP_CompletionCallback callback) { EnterResource<PPB_Flash_TCPSocket_API> enter(tcp_socket, true); if (enter.failed()) - return PP_ERROR_BADRESOURCE; - return enter.object()->Connect(host, port, callback); + return MayForceCallback(callback, PP_ERROR_BADRESOURCE); + int32_t result = enter.object()->Connect(host, port, callback); + return MayForceCallback(callback, result); } int32_t ConnectWithNetAddress(PP_Resource tcp_socket, @@ -42,8 +44,9 @@ int32_t ConnectWithNetAddress(PP_Resource tcp_socket, PP_CompletionCallback callback) { EnterResource<PPB_Flash_TCPSocket_API> enter(tcp_socket, true); if (enter.failed()) - return PP_ERROR_BADRESOURCE; - return enter.object()->ConnectWithNetAddress(addr, callback); + return MayForceCallback(callback, PP_ERROR_BADRESOURCE); + int32_t result = enter.object()->ConnectWithNetAddress(addr, callback); + return MayForceCallback(callback, result); } PP_Bool GetLocalAddress(PP_Resource tcp_socket, @@ -67,8 +70,9 @@ int32_t InitiateSSL(PP_Resource tcp_socket, PP_CompletionCallback callback) { EnterResource<PPB_Flash_TCPSocket_API> enter(tcp_socket, true); if (enter.failed()) - return PP_ERROR_BADRESOURCE; - return enter.object()->InitiateSSL(server_name, callback); + return MayForceCallback(callback, PP_ERROR_BADRESOURCE); + int32_t result = enter.object()->InitiateSSL(server_name, callback); + return MayForceCallback(callback, result); } int32_t Read(PP_Resource tcp_socket, @@ -77,8 +81,9 @@ int32_t Read(PP_Resource tcp_socket, PP_CompletionCallback callback) { EnterResource<PPB_Flash_TCPSocket_API> enter(tcp_socket, true); if (enter.failed()) - return PP_ERROR_BADRESOURCE; - return enter.object()->Read(buffer, bytes_to_read, callback); + return MayForceCallback(callback, PP_ERROR_BADRESOURCE); + int32_t result = enter.object()->Read(buffer, bytes_to_read, callback); + return MayForceCallback(callback, result); } int32_t Write(PP_Resource tcp_socket, @@ -87,8 +92,9 @@ int32_t Write(PP_Resource tcp_socket, PP_CompletionCallback callback) { EnterResource<PPB_Flash_TCPSocket_API> enter(tcp_socket, true); if (enter.failed()) - return PP_ERROR_BADRESOURCE; - return enter.object()->Write(buffer, bytes_to_write, callback); + return MayForceCallback(callback, PP_ERROR_BADRESOURCE); + int32_t result = enter.object()->Write(buffer, bytes_to_write, callback); + return MayForceCallback(callback, result); } void Disconnect(PP_Resource tcp_socket) { |