| Index: webkit/plugins/ppapi/ppb_transport_impl.cc
|
| ===================================================================
|
| --- webkit/plugins/ppapi/ppb_transport_impl.cc (revision 89886)
|
| +++ webkit/plugins/ppapi/ppb_transport_impl.cc (working copy)
|
| @@ -12,11 +12,13 @@
|
| #include "ppapi/c/dev/ppb_transport_dev.h"
|
| #include "ppapi/c/pp_completion_callback.h"
|
| #include "ppapi/c/pp_errors.h"
|
| +#include "ppapi/thunk/common.h"
|
| #include "webkit/plugins/ppapi/common.h"
|
| #include "webkit/plugins/ppapi/plugin_module.h"
|
| #include "webkit/plugins/ppapi/ppapi_plugin_instance.h"
|
| #include "webkit/plugins/ppapi/var.h"
|
|
|
| +using ppapi::thunk::MayForceCallback;
|
| using webkit_glue::P2PTransport;
|
|
|
| namespace webkit {
|
| @@ -53,14 +55,18 @@
|
| int32_t Connect(PP_Resource resource, PP_CompletionCallback callback) {
|
| scoped_refptr<PPB_Transport_Impl> t(
|
| Resource::GetAs<PPB_Transport_Impl>(resource));
|
| - return (t.get()) ? t->Connect(callback) : PP_ERROR_BADRESOURCE;
|
| + if (!t.get())
|
| + return MayForceCallback(callback, PP_ERROR_BADRESOURCE);
|
| + return MayForceCallback(callback, t->Connect(callback));
|
| }
|
|
|
| int32_t GetNextAddress(PP_Resource resource, PP_Var* address,
|
| PP_CompletionCallback callback) {
|
| scoped_refptr<PPB_Transport_Impl> t(
|
| Resource::GetAs<PPB_Transport_Impl>(resource));
|
| - return (t.get())? t->GetNextAddress(address, callback) : PP_ERROR_BADRESOURCE;
|
| + if (!t.get())
|
| + return MayForceCallback(callback, PP_ERROR_BADRESOURCE);
|
| + return MayForceCallback(callback, t->GetNextAddress(address, callback));
|
| }
|
|
|
| int32_t ReceiveRemoteAddress(PP_Resource resource, PP_Var address) {
|
| @@ -73,14 +79,18 @@
|
| PP_CompletionCallback callback) {
|
| scoped_refptr<PPB_Transport_Impl> t(
|
| Resource::GetAs<PPB_Transport_Impl>(resource));
|
| - return (t.get())? t->Recv(data, len, callback) : PP_ERROR_BADRESOURCE;
|
| + if (!t.get())
|
| + return MayForceCallback(callback, PP_ERROR_BADRESOURCE);
|
| + return MayForceCallback(callback, t->Recv(data, len, callback));
|
| }
|
|
|
| int32_t Send(PP_Resource resource, const void* data, uint32_t len,
|
| PP_CompletionCallback callback) {
|
| scoped_refptr<PPB_Transport_Impl> t(
|
| Resource::GetAs<PPB_Transport_Impl>(resource));
|
| - return (t.get())? t->Send(data, len, callback) : PP_ERROR_BADRESOURCE;
|
| + if (!t.get())
|
| + return MayForceCallback(callback, PP_ERROR_BADRESOURCE);
|
| + return MayForceCallback(callback, t->Send(data, len, callback));
|
| }
|
|
|
| // Disconnects from the remote peer.
|
|
|