Index: ppapi/thunk/ppb_websocket_thunk.cc |
diff --git a/ppapi/thunk/ppb_websocket_thunk.cc b/ppapi/thunk/ppb_websocket_thunk.cc |
index 1fcae10d28cd8468b3e9ce948a834acecd393483..e83293ca4361da94aef94d4fec2df8ebb1ac4e26 100644 |
--- a/ppapi/thunk/ppb_websocket_thunk.cc |
+++ b/ppapi/thunk/ppb_websocket_thunk.cc |
@@ -4,7 +4,6 @@ |
#include "ppapi/c/pp_errors.h" |
#include "ppapi/c/pp_var.h" |
-#include "ppapi/thunk/common.h" |
#include "ppapi/thunk/thunk.h" |
#include "ppapi/thunk/enter.h" |
#include "ppapi/thunk/ppb_websocket_api.h" |
@@ -15,15 +14,17 @@ namespace thunk { |
namespace { |
+typedef EnterResource<PPB_WebSocket_API> EnterWebSocket; |
+ |
PP_Resource Create(PP_Instance instance) { |
- EnterFunction<ResourceCreationAPI> enter(instance, true); |
+ EnterResourceCreation enter(instance); |
if (enter.failed()) |
return 0; |
return enter.functions()->CreateWebSocket(instance); |
} |
PP_Bool IsWebSocket(PP_Resource resource) { |
- EnterResource<PPB_WebSocket_API> enter(resource, false); |
+ EnterWebSocket enter(resource, false); |
return PP_FromBool(enter.succeeded()); |
} |
@@ -32,93 +33,90 @@ int32_t Connect(PP_Resource resource, |
const PP_Var protocols[], |
uint32_t protocol_count, |
PP_CompletionCallback callback) { |
- EnterResource<PPB_WebSocket_API> enter(resource, false); |
+ EnterWebSocket enter(resource, callback, false); |
if (enter.failed()) |
- return MayForceCallback(callback, PP_ERROR_BADRESOURCE); |
- int32_t result = |
- enter.object()->Connect(url, protocols, protocol_count, callback); |
- return MayForceCallback(callback, result); |
+ return enter.retval(); |
+ return enter.SetResult(enter.object()->Connect( |
+ url, protocols, protocol_count, callback)); |
} |
int32_t Close(PP_Resource resource, |
uint16_t code, |
PP_Var reason, |
PP_CompletionCallback callback) { |
- EnterResource<PPB_WebSocket_API> enter(resource, false); |
+ EnterWebSocket enter(resource, callback, false); |
if (enter.failed()) |
- return MayForceCallback(callback, PP_ERROR_BADRESOURCE); |
- int32_t result = enter.object()->Close(code, reason, callback); |
- return MayForceCallback(callback, result); |
+ return enter.retval(); |
+ return enter.SetResult(enter.object()->Close(code, reason, callback)); |
} |
int32_t ReceiveMessage(PP_Resource resource, |
PP_Var* message, |
PP_CompletionCallback callback) { |
- EnterResource<PPB_WebSocket_API> enter(resource, false); |
+ EnterWebSocket enter(resource, callback, false); |
if (enter.failed()) |
- return MayForceCallback(callback, PP_ERROR_BADRESOURCE); |
- int32_t result = enter.object()->ReceiveMessage(message, callback); |
- return MayForceCallback(callback, result); |
+ return enter.retval(); |
+ return enter.SetResult(enter.object()->ReceiveMessage(message, callback)); |
} |
int32_t SendMessage(PP_Resource resource, PP_Var message) { |
- EnterResource<PPB_WebSocket_API> enter(resource, false); |
+ EnterWebSocket enter(resource, false); |
if (enter.failed()) |
- return PP_ERROR_BADRESOURCE; |
+ return enter.retval(); |
return enter.object()->SendMessage(message); |
} |
uint64_t GetBufferedAmount(PP_Resource resource) { |
- EnterResource<PPB_WebSocket_API> enter(resource, false); |
+ EnterWebSocket enter(resource, false); |
if (enter.failed()) |
return 0; |
return enter.object()->GetBufferedAmount(); |
} |
uint16_t GetCloseCode(PP_Resource resource) { |
- EnterResource<PPB_WebSocket_API> enter(resource, false); |
+ EnterWebSocket enter(resource, false); |
if (enter.failed()) |
return 0; |
return enter.object()->GetCloseCode(); |
} |
PP_Var GetCloseReason(PP_Resource resource) { |
- EnterResource<PPB_WebSocket_API> enter(resource, false); |
+ EnterWebSocket enter(resource, false); |
if (enter.failed()) |
return PP_MakeUndefined(); |
return enter.object()->GetCloseReason(); |
} |
PP_Bool GetCloseWasClean(PP_Resource resource) { |
- EnterResource<PPB_WebSocket_API> enter(resource, false); |
+ EnterWebSocket enter(resource, false); |
if (enter.failed()) |
return PP_FALSE; |
return enter.object()->GetCloseWasClean(); |
} |
PP_Var GetExtensions(PP_Resource resource) { |
- EnterResource<PPB_WebSocket_API> enter(resource, false); |
+ EnterWebSocket enter(resource, false); |
if (enter.failed()) |
return PP_MakeUndefined(); |
return enter.object()->GetExtensions(); |
} |
PP_Var GetProtocol(PP_Resource resource) { |
- EnterResource<PPB_WebSocket_API> enter(resource, false); |
+ EnterWebSocket enter(resource, false); |
if (enter.failed()) |
return PP_MakeUndefined(); |
return enter.object()->GetProtocol(); |
} |
PP_WebSocketReadyState GetReadyState(PP_Resource resource) { |
- EnterResource<PPB_WebSocket_API> enter(resource, false); |
+ EnterWebSocket enter(resource, false); |
if (enter.failed()) |
return PP_WEBSOCKETREADYSTATE_INVALID; |
return enter.object()->GetReadyState(); |
} |
PP_Var GetURL(PP_Resource resource) { |
- EnterResource<PPB_WebSocket_API> enter(resource, false); |
+ EnterWebSocket enter(resource, false); |
if (enter.failed()) |
return PP_MakeUndefined(); |
return enter.object()->GetURL(); |