Index: webkit/plugins/ppapi/ppb_transport_impl.cc |
diff --git a/webkit/plugins/ppapi/ppb_transport_impl.cc b/webkit/plugins/ppapi/ppb_transport_impl.cc |
index caa60e41b5aba03f9f72d72c1ed679569f307e5e..4945e809c5e64c53984994f41a650a5115b755c0 100644 |
--- a/webkit/plugins/ppapi/ppb_transport_impl.cc |
+++ b/webkit/plugins/ppapi/ppb_transport_impl.cc |
@@ -24,6 +24,7 @@ |
#include "webkit/plugins/ppapi/ppapi_plugin_instance.h" |
#include "webkit/plugins/ppapi/resource_helper.h" |
+using ppapi::ApiCallbackType; |
using ppapi::StringVar; |
using ppapi::thunk::PPB_Transport_API; |
using ppapi::TrackedCallback; |
@@ -237,9 +238,7 @@ int32_t PPB_Transport_Impl::SetProperty(PP_TransportProperty property, |
return PP_OK; |
} |
-int32_t PPB_Transport_Impl::Connect(PP_CompletionCallback callback) { |
- if (!callback.func) |
- return PP_ERROR_BLOCKS_MAIN_THREAD; |
+int32_t PPB_Transport_Impl::Connect(ApiCallbackType callback) { |
if (!p2p_transport_.get()) |
return PP_ERROR_FAILED; |
@@ -261,14 +260,12 @@ int32_t PPB_Transport_Impl::Connect(PP_CompletionCallback callback) { |
if (!plugin_module) |
return PP_ERROR_FAILED; |
- connect_callback_ = new TrackedCallback(this, callback); |
+ connect_callback_ = callback; |
return PP_OK_COMPLETIONPENDING; |
} |
int32_t PPB_Transport_Impl::GetNextAddress(PP_Var* address, |
- PP_CompletionCallback callback) { |
- if (!callback.func) |
- return PP_ERROR_BLOCKS_MAIN_THREAD; |
+ ApiCallbackType callback) { |
if (!p2p_transport_.get()) |
return PP_ERROR_FAILED; |
@@ -285,7 +282,7 @@ int32_t PPB_Transport_Impl::GetNextAddress(PP_Var* address, |
return PP_OK; |
} |
- next_address_callback_ = new TrackedCallback(this, callback); |
+ next_address_callback_ = callback; |
return PP_OK_COMPLETIONPENDING; |
} |
@@ -302,9 +299,7 @@ int32_t PPB_Transport_Impl::ReceiveRemoteAddress(PP_Var address) { |
} |
int32_t PPB_Transport_Impl::Recv(void* data, uint32_t len, |
- PP_CompletionCallback callback) { |
- if (!callback.func) |
- return PP_ERROR_BLOCKS_MAIN_THREAD; |
+ ApiCallbackType callback) { |
if (!p2p_transport_.get()) |
return PP_ERROR_FAILED; |
@@ -325,15 +320,13 @@ int32_t PPB_Transport_Impl::Recv(void* data, uint32_t len, |
channel->Read(buffer, len, base::Bind(&PPB_Transport_Impl::OnRead, |
base::Unretained(this)))); |
if (result == PP_OK_COMPLETIONPENDING) |
- recv_callback_ = new TrackedCallback(this, callback); |
+ recv_callback_ = callback; |
return result; |
} |
int32_t PPB_Transport_Impl::Send(const void* data, uint32_t len, |
- PP_CompletionCallback callback) { |
- if (!callback.func) |
- return PP_ERROR_BLOCKS_MAIN_THREAD; |
+ ApiCallbackType callback) { |
if (!p2p_transport_.get()) |
return PP_ERROR_FAILED; |
@@ -354,7 +347,7 @@ int32_t PPB_Transport_Impl::Send(const void* data, uint32_t len, |
channel->Write(buffer, len, base::Bind(&PPB_Transport_Impl::OnWritten, |
base::Unretained(this)))); |
if (result == PP_OK_COMPLETIONPENDING) |
- send_callback_ = new TrackedCallback(this, callback); |
+ send_callback_ = callback; |
return result; |
} |