Index: ppapi/shared_impl/private/udp_socket_private_impl.cc |
diff --git a/ppapi/shared_impl/private/udp_socket_private_impl.cc b/ppapi/shared_impl/private/udp_socket_private_impl.cc |
index 3879b68b26d1db5ac63dacc3b5169ff6c5214cc9..45948f67b5078e7d303b89e65653c7e96e186d75 100644 |
--- a/ppapi/shared_impl/private/udp_socket_private_impl.cc |
+++ b/ppapi/shared_impl/private/udp_socket_private_impl.cc |
@@ -41,17 +41,15 @@ UDPSocketPrivateImpl::AsPPB_UDPSocket_Private_API() { |
} |
int32_t UDPSocketPrivateImpl::Bind(const PP_NetAddress_Private* addr, |
- PP_CompletionCallback callback) { |
- if (!addr || !callback.func) |
+ ApiCallbackType callback) { |
+ if (!addr) |
return PP_ERROR_BADARGUMENT; |
if (bound_ || closed_) |
return PP_ERROR_FAILED; |
if (TrackedCallback::IsPending(bind_callback_)) |
return PP_ERROR_INPROGRESS; |
- // TODO(dmichael): use some other strategy for determining if an |
- // operation is in progress |
- bind_callback_ = new TrackedCallback(this, callback); |
+ bind_callback_ = callback; |
// Send the request, the browser will call us back via BindACK. |
SendBind(*addr); |
@@ -68,8 +66,8 @@ PP_Bool UDPSocketPrivateImpl::GetBoundAddress(PP_NetAddress_Private* addr) { |
int32_t UDPSocketPrivateImpl::RecvFrom(char* buffer, |
int32_t num_bytes, |
- PP_CompletionCallback callback) { |
- if (!buffer || num_bytes <= 0 || !callback.func) |
+ ApiCallbackType callback) { |
+ if (!buffer || num_bytes <= 0) |
return PP_ERROR_BADARGUMENT; |
if (!bound_) |
return PP_ERROR_FAILED; |
@@ -78,7 +76,7 @@ int32_t UDPSocketPrivateImpl::RecvFrom(char* buffer, |
read_buffer_ = buffer; |
bytes_to_read_ = std::min(num_bytes, kMaxReadSize); |
- recvfrom_callback_ = new TrackedCallback(this, callback); |
+ recvfrom_callback_ = callback; |
// Send the request, the browser will call us back via RecvFromACK. |
SendRecvFrom(bytes_to_read_); |
@@ -96,8 +94,8 @@ PP_Bool UDPSocketPrivateImpl::GetRecvFromAddress(PP_NetAddress_Private* addr) { |
int32_t UDPSocketPrivateImpl::SendTo(const char* buffer, |
int32_t num_bytes, |
const PP_NetAddress_Private* addr, |
- PP_CompletionCallback callback) { |
- if (!buffer || num_bytes <= 0 || !addr || !callback.func) |
+ ApiCallbackType callback) { |
+ if (!buffer || num_bytes <= 0 || !addr) |
return PP_ERROR_BADARGUMENT; |
if (!bound_) |
return PP_ERROR_FAILED; |
@@ -107,7 +105,7 @@ int32_t UDPSocketPrivateImpl::SendTo(const char* buffer, |
if (num_bytes > kMaxWriteSize) |
num_bytes = kMaxWriteSize; |
- sendto_callback_ = new TrackedCallback(this, callback); |
+ sendto_callback_ = callback; |
// Send the request, the browser will call us back via SendToACK. |
SendSendTo(std::string(buffer, num_bytes), *addr); |