Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(587)

Unified Diff: webkit/plugins/ppapi/ppb_transport_impl.cc

Issue 6899055: PPAPI: Force async callback invocation option. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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.
« ppapi/tests/test_directory_reader.cc ('K') | « webkit/plugins/ppapi/ppb_surface_3d_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698