| Index: ppapi/shared_impl/private/ppb_tcp_server_socket_shared.cc
|
| diff --git a/ppapi/shared_impl/private/ppb_tcp_server_socket_shared.cc b/ppapi/shared_impl/private/ppb_tcp_server_socket_shared.cc
|
| index c919bf29e998b7510985dc22a7c3d38a16811476..f057da602e4321c5ebf6fdb1130c90f71cca5713 100644
|
| --- a/ppapi/shared_impl/private/ppb_tcp_server_socket_shared.cc
|
| +++ b/ppapi/shared_impl/private/ppb_tcp_server_socket_shared.cc
|
| @@ -34,30 +34,28 @@ PPB_TCPServerSocket_Shared::AsPPB_TCPServerSocket_Private_API() {
|
| return this;
|
| }
|
|
|
| -int32_t PPB_TCPServerSocket_Shared::Listen(const PP_NetAddress_Private* addr,
|
| - int32_t backlog,
|
| - PP_CompletionCallback callback) {
|
| +int32_t PPB_TCPServerSocket_Shared::Listen(
|
| + const PP_NetAddress_Private* addr,
|
| + int32_t backlog,
|
| + scoped_refptr<TrackedCallback> callback) {
|
| if (!addr)
|
| return PP_ERROR_BADARGUMENT;
|
| - if (!callback.func)
|
| - return PP_ERROR_BLOCKS_MAIN_THREAD;
|
| if (state_ != BEFORE_LISTENING)
|
| return PP_ERROR_FAILED;
|
| if (TrackedCallback::IsPending(listen_callback_))
|
| return PP_ERROR_INPROGRESS; // Can only have one pending request.
|
|
|
| - listen_callback_ = new TrackedCallback(this, callback);
|
| + listen_callback_ = callback;
|
| // Send the request, the browser will call us back via ListenACK
|
| SendListen(*addr, backlog);
|
| return PP_OK_COMPLETIONPENDING;
|
| }
|
|
|
| -int32_t PPB_TCPServerSocket_Shared::Accept(PP_Resource* tcp_socket,
|
| - PP_CompletionCallback callback) {
|
| +int32_t PPB_TCPServerSocket_Shared::Accept(
|
| + PP_Resource* tcp_socket,
|
| + scoped_refptr<TrackedCallback> callback) {
|
| if (!tcp_socket)
|
| return PP_ERROR_BADARGUMENT;
|
| - if (!callback.func)
|
| - return PP_ERROR_BLOCKS_MAIN_THREAD;
|
|
|
| if (state_ != LISTENING)
|
| return PP_ERROR_FAILED;
|
| @@ -65,7 +63,7 @@ int32_t PPB_TCPServerSocket_Shared::Accept(PP_Resource* tcp_socket,
|
| return PP_ERROR_INPROGRESS;
|
|
|
| tcp_socket_buffer_ = tcp_socket;
|
| - accept_callback_ = new TrackedCallback(this, callback);
|
| + accept_callback_ = callback;
|
|
|
| SendAccept();
|
| return PP_OK_COMPLETIONPENDING;
|
|
|