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

Side by Side Diff: ppapi/thunk/ppb_transport_thunk.cc

Issue 10081020: PPAPI: Make blocking completion callbacks work. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Updated TestURLLoader to test blocking callbacks. Created 8 years, 8 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ppapi/c/pp_completion_callback.h" 5 #include "ppapi/c/pp_completion_callback.h"
6 #include "ppapi/c/pp_errors.h" 6 #include "ppapi/c/pp_errors.h"
7 #include "ppapi/thunk/enter.h" 7 #include "ppapi/thunk/enter.h"
8 #include "ppapi/thunk/thunk.h" 8 #include "ppapi/thunk/thunk.h"
9 #include "ppapi/thunk/ppb_transport_api.h" 9 #include "ppapi/thunk/ppb_transport_api.h"
10 #include "ppapi/thunk/resource_creation_api.h" 10 #include "ppapi/thunk/resource_creation_api.h"
(...skipping 30 matching lines...) Expand all
41 EnterTransport enter(transport, true); 41 EnterTransport enter(transport, true);
42 if (enter.failed()) 42 if (enter.failed())
43 return enter.retval(); 43 return enter.retval();
44 return enter.object()->SetProperty(property, value); 44 return enter.object()->SetProperty(property, value);
45 } 45 }
46 46
47 int32_t Connect(PP_Resource transport, PP_CompletionCallback callback) { 47 int32_t Connect(PP_Resource transport, PP_CompletionCallback callback) {
48 EnterTransport enter(transport, callback, true); 48 EnterTransport enter(transport, callback, true);
49 if (enter.failed()) 49 if (enter.failed())
50 return enter.retval(); 50 return enter.retval();
51 return enter.SetResult(enter.object()->Connect(callback)); 51 return enter.SetResult(enter.object()->Connect(enter.callback()));
52 } 52 }
53 53
54 int32_t GetNextAddress(PP_Resource transport, PP_Var* address, 54 int32_t GetNextAddress(PP_Resource transport, PP_Var* address,
55 PP_CompletionCallback callback) { 55 PP_CompletionCallback callback) {
56 EnterTransport enter(transport, callback, true); 56 EnterTransport enter(transport, callback, true);
57 if (enter.failed()) 57 if (enter.failed())
58 return enter.retval(); 58 return enter.retval();
59 return enter.SetResult(enter.object()->GetNextAddress(address, callback)); 59 return enter.SetResult(enter.object()->GetNextAddress(address,
60 enter.callback()));
60 } 61 }
61 62
62 int32_t ReceiveRemoteAddress(PP_Resource transport, PP_Var address) { 63 int32_t ReceiveRemoteAddress(PP_Resource transport, PP_Var address) {
63 EnterTransport enter(transport, true); 64 EnterTransport enter(transport, true);
64 if (enter.failed()) 65 if (enter.failed())
65 return enter.retval(); 66 return enter.retval();
66 return enter.object()->ReceiveRemoteAddress(address); 67 return enter.object()->ReceiveRemoteAddress(address);
67 } 68 }
68 69
69 int32_t Recv(PP_Resource transport, void* data, uint32_t len, 70 int32_t Recv(PP_Resource transport, void* data, uint32_t len,
70 PP_CompletionCallback callback) { 71 PP_CompletionCallback callback) {
71 EnterTransport enter(transport, callback, true); 72 EnterTransport enter(transport, callback, true);
72 if (enter.failed()) 73 if (enter.failed())
73 return enter.retval(); 74 return enter.retval();
74 return enter.SetResult(enter.object()->Recv(data, len, callback)); 75 return enter.SetResult(enter.object()->Recv(data, len, enter.callback()));
75 } 76 }
76 77
77 int32_t Send(PP_Resource transport, const void* data, uint32_t len, 78 int32_t Send(PP_Resource transport, const void* data, uint32_t len,
78 PP_CompletionCallback callback) { 79 PP_CompletionCallback callback) {
79 EnterTransport enter(transport, callback, true); 80 EnterTransport enter(transport, callback, true);
80 if (enter.failed()) 81 if (enter.failed())
81 return enter.retval(); 82 return enter.retval();
82 return enter.SetResult(enter.object()->Send(data, len, callback)); 83 return enter.SetResult(enter.object()->Send(data, len, enter.callback()));
83 } 84 }
84 85
85 int32_t Close(PP_Resource transport) { 86 int32_t Close(PP_Resource transport) {
86 EnterTransport enter(transport, true); 87 EnterTransport enter(transport, true);
87 if (enter.failed()) 88 if (enter.failed())
88 return enter.retval(); 89 return enter.retval();
89 return enter.object()->Close(); 90 return enter.object()->Close();
90 } 91 }
91 92
92 const PPB_Transport_Dev g_ppb_transport_thunk = { 93 const PPB_Transport_Dev g_ppb_transport_thunk = {
(...skipping 10 matching lines...) Expand all
103 }; 104 };
104 105
105 } // namespace 106 } // namespace
106 107
107 const PPB_Transport_Dev_0_7* GetPPB_Transport_Dev_0_7_Thunk() { 108 const PPB_Transport_Dev_0_7* GetPPB_Transport_Dev_0_7_Thunk() {
108 return &g_ppb_transport_thunk; 109 return &g_ppb_transport_thunk;
109 } 110 }
110 111
111 } // namespace thunk 112 } // namespace thunk
112 } // namespace ppapi 113 } // namespace ppapi
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698