OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/proxy/ppb_var_deprecated_proxy.h" | 5 #include "ppapi/proxy/ppb_var_deprecated_proxy.h" |
6 | 6 |
7 #include <stdlib.h> // For malloc | 7 #include <stdlib.h> // For malloc |
8 | 8 |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "ppapi/c/dev/ppb_var_deprecated.h" | 10 #include "ppapi/c/dev/ppb_var_deprecated.h" |
11 #include "ppapi/c/pp_var.h" | 11 #include "ppapi/c/pp_var.h" |
12 #include "ppapi/c/ppb_core.h" | 12 #include "ppapi/c/ppb_core.h" |
13 #include "ppapi/proxy/plugin_dispatcher.h" | 13 #include "ppapi/proxy/plugin_dispatcher.h" |
| 14 #include "ppapi/proxy/plugin_var_tracker.h" |
14 #include "ppapi/proxy/ppapi_messages.h" | 15 #include "ppapi/proxy/ppapi_messages.h" |
15 #include "ppapi/proxy/ppp_class_proxy.h" | 16 #include "ppapi/proxy/ppp_class_proxy.h" |
16 #include "ppapi/proxy/serialized_var.h" | 17 #include "ppapi/proxy/serialized_var.h" |
17 | 18 |
18 namespace pp { | 19 namespace pp { |
19 namespace proxy { | 20 namespace proxy { |
20 | 21 |
21 namespace { | 22 namespace { |
22 | 23 |
| 24 // Used to do get the set-up information for calling a var object. If the |
| 25 // exception is set, returns NULL. Otherwise, computes the dispatcher for the |
| 26 // given var object. If the var is not a valid object, returns NULL and sets |
| 27 // the exception. |
| 28 PluginDispatcher* CheckExceptionAndGetDispatcher(const PP_Var& object, |
| 29 PP_Var* exception) { |
| 30 // If an exception is already set, we don't need to do anything, just return |
| 31 // an error to the caller. |
| 32 if (exception && exception->type != PP_VARTYPE_UNDEFINED) |
| 33 return NULL; |
| 34 |
| 35 PluginVarTracker* tracker = PluginVarTracker::GetInstance(); |
| 36 PluginDispatcher* dispatcher = tracker->DispatcherForPluginObject(object); |
| 37 if (dispatcher) |
| 38 return dispatcher; |
| 39 |
| 40 // The object is invalid. This means we can't figure out which dispatcher |
| 41 // to use, which is OK because the call will fail anyway. Set the exception. |
| 42 if (exception) { |
| 43 exception->type = PP_VARTYPE_STRING; |
| 44 exception->value.as_id = |
| 45 tracker->MakeString("Attempting to use an invalid object"); |
| 46 } |
| 47 return NULL; |
| 48 } |
| 49 |
23 // PPP_Var_Deprecated plugin --------------------------------------------------- | 50 // PPP_Var_Deprecated plugin --------------------------------------------------- |
24 | 51 |
25 void AddRefVar(PP_Var var) { | 52 void AddRefVar(PP_Var var) { |
26 PluginVarTracker::GetInstance()->AddRef(var); | 53 PluginVarTracker::GetInstance()->AddRef(var); |
27 } | 54 } |
28 | 55 |
29 void ReleaseVar(PP_Var var) { | 56 void ReleaseVar(PP_Var var) { |
30 PluginVarTracker::GetInstance()->Release(var); | 57 PluginVarTracker::GetInstance()->Release(var); |
31 } | 58 } |
32 | 59 |
(...skipping 12 matching lines...) Expand all Loading... |
45 *len = static_cast<uint32_t>(str->size()); | 72 *len = static_cast<uint32_t>(str->size()); |
46 return str->c_str(); | 73 return str->c_str(); |
47 } | 74 } |
48 *len = 0; | 75 *len = 0; |
49 return NULL; | 76 return NULL; |
50 } | 77 } |
51 | 78 |
52 bool HasProperty(PP_Var var, | 79 bool HasProperty(PP_Var var, |
53 PP_Var name, | 80 PP_Var name, |
54 PP_Var* exception) { | 81 PP_Var* exception) { |
55 Dispatcher* dispatcher = PluginDispatcher::Get(); | 82 Dispatcher* dispatcher = CheckExceptionAndGetDispatcher(var, exception); |
| 83 if (!dispatcher) |
| 84 return false; |
| 85 |
56 ReceiveSerializedException se(dispatcher, exception); | 86 ReceiveSerializedException se(dispatcher, exception); |
57 PP_Bool result = PP_FALSE; | 87 PP_Bool result = PP_FALSE; |
58 if (!se.IsThrown()) { | 88 if (!se.IsThrown()) { |
59 dispatcher->Send(new PpapiHostMsg_PPBVar_HasProperty( | 89 dispatcher->Send(new PpapiHostMsg_PPBVar_HasProperty( |
60 INTERFACE_ID_PPB_VAR_DEPRECATED, | 90 INTERFACE_ID_PPB_VAR_DEPRECATED, |
61 SerializedVarSendInput(dispatcher, var), | 91 SerializedVarSendInput(dispatcher, var), |
62 SerializedVarSendInput(dispatcher, name), &se, &result)); | 92 SerializedVarSendInput(dispatcher, name), &se, &result)); |
63 } | 93 } |
64 return PPBoolToBool(result); | 94 return PPBoolToBool(result); |
65 } | 95 } |
66 | 96 |
67 bool HasMethod(PP_Var var, | 97 bool HasMethod(PP_Var var, |
68 PP_Var name, | 98 PP_Var name, |
69 PP_Var* exception) { | 99 PP_Var* exception) { |
70 Dispatcher* dispatcher = PluginDispatcher::Get(); | 100 Dispatcher* dispatcher = CheckExceptionAndGetDispatcher(var, exception); |
| 101 if (!dispatcher) |
| 102 return false; |
| 103 |
71 ReceiveSerializedException se(dispatcher, exception); | 104 ReceiveSerializedException se(dispatcher, exception); |
72 PP_Bool result = PP_FALSE; | 105 PP_Bool result = PP_FALSE; |
73 if (!se.IsThrown()) { | 106 if (!se.IsThrown()) { |
74 dispatcher->Send(new PpapiHostMsg_PPBVar_HasMethodDeprecated( | 107 dispatcher->Send(new PpapiHostMsg_PPBVar_HasMethodDeprecated( |
75 INTERFACE_ID_PPB_VAR_DEPRECATED, | 108 INTERFACE_ID_PPB_VAR_DEPRECATED, |
76 SerializedVarSendInput(dispatcher, var), | 109 SerializedVarSendInput(dispatcher, var), |
77 SerializedVarSendInput(dispatcher, name), &se, &result)); | 110 SerializedVarSendInput(dispatcher, name), &se, &result)); |
78 } | 111 } |
79 return PPBoolToBool(result); | 112 return PPBoolToBool(result); |
80 } | 113 } |
81 | 114 |
82 PP_Var GetProperty(PP_Var var, | 115 PP_Var GetProperty(PP_Var var, |
83 PP_Var name, | 116 PP_Var name, |
84 PP_Var* exception) { | 117 PP_Var* exception) { |
85 Dispatcher* dispatcher = PluginDispatcher::Get(); | 118 Dispatcher* dispatcher = CheckExceptionAndGetDispatcher(var, exception); |
| 119 if (!dispatcher) |
| 120 return PP_MakeUndefined(); |
| 121 |
86 ReceiveSerializedException se(dispatcher, exception); | 122 ReceiveSerializedException se(dispatcher, exception); |
87 ReceiveSerializedVarReturnValue result; | 123 ReceiveSerializedVarReturnValue result; |
88 if (!se.IsThrown()) { | 124 if (!se.IsThrown()) { |
89 dispatcher->Send(new PpapiHostMsg_PPBVar_GetProperty( | 125 dispatcher->Send(new PpapiHostMsg_PPBVar_GetProperty( |
90 INTERFACE_ID_PPB_VAR_DEPRECATED, | 126 INTERFACE_ID_PPB_VAR_DEPRECATED, |
91 SerializedVarSendInput(dispatcher, var), | 127 SerializedVarSendInput(dispatcher, var), |
92 SerializedVarSendInput(dispatcher, name), &se, &result)); | 128 SerializedVarSendInput(dispatcher, name), &se, &result)); |
93 } | 129 } |
94 return result.Return(dispatcher); | 130 return result.Return(dispatcher); |
95 } | 131 } |
96 | 132 |
97 void EnumerateProperties(PP_Var var, | 133 void EnumerateProperties(PP_Var var, |
98 uint32_t* property_count, | 134 uint32_t* property_count, |
99 PP_Var** properties, | 135 PP_Var** properties, |
100 PP_Var* exception) { | 136 PP_Var* exception) { |
101 Dispatcher* dispatcher = PluginDispatcher::Get(); | 137 Dispatcher* dispatcher = CheckExceptionAndGetDispatcher(var, exception); |
| 138 if (!dispatcher) { |
| 139 *property_count = 0; |
| 140 *properties = NULL; |
| 141 return; |
| 142 } |
102 | 143 |
103 ReceiveSerializedVarVectorOutParam out_vector(dispatcher, | 144 ReceiveSerializedVarVectorOutParam out_vector(dispatcher, |
104 property_count, properties); | 145 property_count, properties); |
105 ReceiveSerializedException se(dispatcher, exception); | 146 ReceiveSerializedException se(dispatcher, exception); |
106 if (!se.IsThrown()) { | 147 if (!se.IsThrown()) { |
107 dispatcher->Send(new PpapiHostMsg_PPBVar_EnumerateProperties( | 148 dispatcher->Send(new PpapiHostMsg_PPBVar_EnumerateProperties( |
108 INTERFACE_ID_PPB_VAR_DEPRECATED, | 149 INTERFACE_ID_PPB_VAR_DEPRECATED, |
109 SerializedVarSendInput(dispatcher, var), | 150 SerializedVarSendInput(dispatcher, var), |
110 out_vector.OutParam(), &se)); | 151 out_vector.OutParam(), &se)); |
111 } | 152 } |
112 } | 153 } |
113 | 154 |
114 void SetProperty(PP_Var var, | 155 void SetProperty(PP_Var var, |
115 PP_Var name, | 156 PP_Var name, |
116 PP_Var value, | 157 PP_Var value, |
117 PP_Var* exception) { | 158 PP_Var* exception) { |
118 Dispatcher* dispatcher = PluginDispatcher::Get(); | 159 Dispatcher* dispatcher = CheckExceptionAndGetDispatcher(var, exception); |
| 160 if (!dispatcher) |
| 161 return; |
| 162 |
119 ReceiveSerializedException se(dispatcher, exception); | 163 ReceiveSerializedException se(dispatcher, exception); |
120 if (!se.IsThrown()) { | 164 if (!se.IsThrown()) { |
121 dispatcher->Send(new PpapiHostMsg_PPBVar_SetPropertyDeprecated( | 165 dispatcher->Send(new PpapiHostMsg_PPBVar_SetPropertyDeprecated( |
122 INTERFACE_ID_PPB_VAR_DEPRECATED, | 166 INTERFACE_ID_PPB_VAR_DEPRECATED, |
123 SerializedVarSendInput(dispatcher, var), | 167 SerializedVarSendInput(dispatcher, var), |
124 SerializedVarSendInput(dispatcher, name), | 168 SerializedVarSendInput(dispatcher, name), |
125 SerializedVarSendInput(dispatcher, value), &se)); | 169 SerializedVarSendInput(dispatcher, value), &se)); |
126 } | 170 } |
127 } | 171 } |
128 | 172 |
129 void RemoveProperty(PP_Var var, | 173 void RemoveProperty(PP_Var var, |
130 PP_Var name, | 174 PP_Var name, |
131 PP_Var* exception) { | 175 PP_Var* exception) { |
132 Dispatcher* dispatcher = PluginDispatcher::Get(); | 176 Dispatcher* dispatcher = CheckExceptionAndGetDispatcher(var, exception); |
| 177 if (!dispatcher) |
| 178 return; |
| 179 |
133 ReceiveSerializedException se(dispatcher, exception); | 180 ReceiveSerializedException se(dispatcher, exception); |
134 PP_Bool result = PP_FALSE; | 181 PP_Bool result = PP_FALSE; |
135 if (!se.IsThrown()) { | 182 if (!se.IsThrown()) { |
136 dispatcher->Send(new PpapiHostMsg_PPBVar_DeleteProperty( | 183 dispatcher->Send(new PpapiHostMsg_PPBVar_DeleteProperty( |
137 INTERFACE_ID_PPB_VAR_DEPRECATED, | 184 INTERFACE_ID_PPB_VAR_DEPRECATED, |
138 SerializedVarSendInput(dispatcher, var), | 185 SerializedVarSendInput(dispatcher, var), |
139 SerializedVarSendInput(dispatcher, name), &se, &result)); | 186 SerializedVarSendInput(dispatcher, name), &se, &result)); |
140 } | 187 } |
141 } | 188 } |
142 | 189 |
143 PP_Var Call(PP_Var object, | 190 PP_Var Call(PP_Var object, |
144 PP_Var method_name, | 191 PP_Var method_name, |
145 uint32_t argc, | 192 uint32_t argc, |
146 PP_Var* argv, | 193 PP_Var* argv, |
147 PP_Var* exception) { | 194 PP_Var* exception) { |
148 Dispatcher* dispatcher = PluginDispatcher::Get(); | 195 Dispatcher* dispatcher = CheckExceptionAndGetDispatcher(object, exception); |
| 196 if (!dispatcher) |
| 197 return PP_MakeUndefined(); |
| 198 |
149 ReceiveSerializedVarReturnValue result; | 199 ReceiveSerializedVarReturnValue result; |
150 ReceiveSerializedException se(dispatcher, exception); | 200 ReceiveSerializedException se(dispatcher, exception); |
151 if (!se.IsThrown()) { | 201 if (!se.IsThrown()) { |
152 std::vector<SerializedVar> argv_vect; | 202 std::vector<SerializedVar> argv_vect; |
153 SerializedVarSendInput::ConvertVector(dispatcher, argv, argc, &argv_vect); | 203 SerializedVarSendInput::ConvertVector(dispatcher, argv, argc, &argv_vect); |
154 | 204 |
155 dispatcher->Send(new PpapiHostMsg_PPBVar_CallDeprecated( | 205 dispatcher->Send(new PpapiHostMsg_PPBVar_CallDeprecated( |
156 INTERFACE_ID_PPB_VAR_DEPRECATED, | 206 INTERFACE_ID_PPB_VAR_DEPRECATED, |
157 SerializedVarSendInput(dispatcher, object), | 207 SerializedVarSendInput(dispatcher, object), |
158 SerializedVarSendInput(dispatcher, method_name), argv_vect, | 208 SerializedVarSendInput(dispatcher, method_name), argv_vect, |
159 &se, &result)); | 209 &se, &result)); |
160 } | 210 } |
161 return result.Return(dispatcher); | 211 return result.Return(dispatcher); |
162 } | 212 } |
163 | 213 |
164 PP_Var Construct(PP_Var object, | 214 PP_Var Construct(PP_Var object, |
165 uint32_t argc, | 215 uint32_t argc, |
166 PP_Var* argv, | 216 PP_Var* argv, |
167 PP_Var* exception) { | 217 PP_Var* exception) { |
168 Dispatcher* dispatcher = PluginDispatcher::Get(); | 218 Dispatcher* dispatcher = CheckExceptionAndGetDispatcher(object, exception); |
| 219 if (!dispatcher) |
| 220 return PP_MakeUndefined(); |
| 221 |
169 ReceiveSerializedVarReturnValue result; | 222 ReceiveSerializedVarReturnValue result; |
170 ReceiveSerializedException se(dispatcher, exception); | 223 ReceiveSerializedException se(dispatcher, exception); |
171 if (!se.IsThrown()) { | 224 if (!se.IsThrown()) { |
172 std::vector<SerializedVar> argv_vect; | 225 std::vector<SerializedVar> argv_vect; |
173 SerializedVarSendInput::ConvertVector(dispatcher, argv, argc, &argv_vect); | 226 SerializedVarSendInput::ConvertVector(dispatcher, argv, argc, &argv_vect); |
174 | 227 |
175 dispatcher->Send(new PpapiHostMsg_PPBVar_Construct( | 228 dispatcher->Send(new PpapiHostMsg_PPBVar_Construct( |
176 INTERFACE_ID_PPB_VAR_DEPRECATED, | 229 INTERFACE_ID_PPB_VAR_DEPRECATED, |
177 SerializedVarSendInput(dispatcher, object), | 230 SerializedVarSendInput(dispatcher, object), |
178 argv_vect, &se, &result)); | 231 argv_vect, &se, &result)); |
179 } | 232 } |
180 return result.Return(dispatcher); | 233 return result.Return(dispatcher); |
181 } | 234 } |
182 | 235 |
183 bool IsInstanceOf(PP_Var var, | 236 bool IsInstanceOf(PP_Var var, |
184 const PPP_Class_Deprecated* ppp_class, | 237 const PPP_Class_Deprecated* ppp_class, |
185 void** ppp_class_data) { | 238 void** ppp_class_data) { |
| 239 Dispatcher* dispatcher = CheckExceptionAndGetDispatcher(var, NULL); |
| 240 if (!dispatcher) |
| 241 return false; |
| 242 |
186 PP_Bool result = PP_FALSE; | 243 PP_Bool result = PP_FALSE; |
187 Dispatcher* dispatcher = PluginDispatcher::Get(); | |
188 int64 class_int = static_cast<int64>(reinterpret_cast<intptr_t>(ppp_class)); | 244 int64 class_int = static_cast<int64>(reinterpret_cast<intptr_t>(ppp_class)); |
189 int64 class_data_int = 0; | 245 int64 class_data_int = 0; |
190 dispatcher->Send(new PpapiHostMsg_PPBVar_IsInstanceOfDeprecated( | 246 dispatcher->Send(new PpapiHostMsg_PPBVar_IsInstanceOfDeprecated( |
191 INTERFACE_ID_PPB_VAR_DEPRECATED, SerializedVarSendInput(dispatcher, var), | 247 INTERFACE_ID_PPB_VAR_DEPRECATED, SerializedVarSendInput(dispatcher, var), |
192 class_int, &class_data_int, &result)); | 248 class_int, &class_data_int, &result)); |
193 *ppp_class_data = | 249 *ppp_class_data = |
194 reinterpret_cast<void*>(static_cast<intptr_t>(class_data_int)); | 250 reinterpret_cast<void*>(static_cast<intptr_t>(class_data_int)); |
195 return PPBoolToBool(result); | 251 return PPBoolToBool(result); |
196 } | 252 } |
197 | 253 |
198 PP_Var CreateObject(PP_Instance instance, | 254 PP_Var CreateObject(PP_Instance instance, |
199 const PPP_Class_Deprecated* ppp_class, | 255 const PPP_Class_Deprecated* ppp_class, |
200 void* ppp_class_data) { | 256 void* ppp_class_data) { |
201 Dispatcher* dispatcher = PluginDispatcher::Get(); | 257 Dispatcher* dispatcher = PluginDispatcher::GetForInstance(instance); |
| 258 if (!dispatcher) |
| 259 return PP_MakeUndefined(); |
| 260 |
202 ReceiveSerializedVarReturnValue result; | 261 ReceiveSerializedVarReturnValue result; |
203 int64 class_int = static_cast<int64>(reinterpret_cast<intptr_t>(ppp_class)); | 262 int64 class_int = static_cast<int64>(reinterpret_cast<intptr_t>(ppp_class)); |
204 int64 data_int = | 263 int64 data_int = |
205 static_cast<int64>(reinterpret_cast<intptr_t>(ppp_class_data)); | 264 static_cast<int64>(reinterpret_cast<intptr_t>(ppp_class_data)); |
206 dispatcher->Send(new PpapiHostMsg_PPBVar_CreateObjectDeprecated( | 265 dispatcher->Send(new PpapiHostMsg_PPBVar_CreateObjectDeprecated( |
207 INTERFACE_ID_PPB_VAR_DEPRECATED, instance, class_int, data_int, | 266 INTERFACE_ID_PPB_VAR_DEPRECATED, instance, class_int, data_int, |
208 &result)); | 267 &result)); |
209 return result.Return(dispatcher); | 268 return result.Return(dispatcher); |
210 } | 269 } |
211 | 270 |
212 const PPB_Var_Deprecated var_deprecated_interface = { | 271 const PPB_Var_Deprecated var_deprecated_interface = { |
213 &AddRefVar, | 272 &AddRefVar, |
214 &ReleaseVar, | 273 &ReleaseVar, |
215 &VarFromUtf8, | 274 &VarFromUtf8, |
216 &VarToUtf8, | 275 &VarToUtf8, |
217 &HasProperty, | 276 &HasProperty, |
218 &HasMethod, | 277 &HasMethod, |
219 &GetProperty, | 278 &GetProperty, |
220 &EnumerateProperties, | 279 &EnumerateProperties, |
221 &SetProperty, | 280 &SetProperty, |
222 &RemoveProperty, | 281 &RemoveProperty, |
223 &Call, | 282 &Call, |
224 &Construct, | 283 &Construct, |
225 &IsInstanceOf, | 284 &IsInstanceOf, |
226 &CreateObject | 285 &CreateObject |
227 }; | 286 }; |
228 | 287 |
| 288 InterfaceProxy* CreateVarDeprecatedProxy(Dispatcher* dispatcher, |
| 289 const void* target_interface) { |
| 290 return new PPB_Var_Deprecated_Proxy(dispatcher, target_interface); |
| 291 } |
| 292 |
229 } // namespace | 293 } // namespace |
230 | 294 |
231 PPB_Var_Deprecated_Proxy::PPB_Var_Deprecated_Proxy( | 295 PPB_Var_Deprecated_Proxy::PPB_Var_Deprecated_Proxy( |
232 Dispatcher* dispatcher, | 296 Dispatcher* dispatcher, |
233 const void* target_interface) | 297 const void* target_interface) |
234 : InterfaceProxy(dispatcher, target_interface) { | 298 : InterfaceProxy(dispatcher, target_interface) { |
235 } | 299 } |
236 | 300 |
237 PPB_Var_Deprecated_Proxy::~PPB_Var_Deprecated_Proxy() { | 301 PPB_Var_Deprecated_Proxy::~PPB_Var_Deprecated_Proxy() { |
238 } | 302 } |
239 | 303 |
240 const void* PPB_Var_Deprecated_Proxy::GetSourceInterface() const { | 304 // static |
241 return &var_deprecated_interface; | 305 const InterfaceProxy::Info* PPB_Var_Deprecated_Proxy::GetInfo() { |
242 } | 306 static const Info info = { |
243 | 307 &var_deprecated_interface, |
244 InterfaceID PPB_Var_Deprecated_Proxy::GetInterfaceId() const { | 308 PPB_VAR_DEPRECATED_INTERFACE, |
245 return INTERFACE_ID_PPB_VAR_DEPRECATED; | 309 INTERFACE_ID_PPB_VAR_DEPRECATED, |
| 310 false, |
| 311 &CreateVarDeprecatedProxy, |
| 312 }; |
| 313 return &info; |
246 } | 314 } |
247 | 315 |
248 bool PPB_Var_Deprecated_Proxy::OnMessageReceived(const IPC::Message& msg) { | 316 bool PPB_Var_Deprecated_Proxy::OnMessageReceived(const IPC::Message& msg) { |
249 bool handled = true; | 317 bool handled = true; |
250 IPC_BEGIN_MESSAGE_MAP(PPB_Var_Deprecated_Proxy, msg) | 318 IPC_BEGIN_MESSAGE_MAP(PPB_Var_Deprecated_Proxy, msg) |
251 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBVar_HasProperty, | 319 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBVar_HasProperty, |
252 OnMsgHasProperty) | 320 OnMsgHasProperty) |
253 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBVar_HasMethodDeprecated, | 321 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBVar_HasMethodDeprecated, |
254 OnMsgHasMethodDeprecated) | 322 OnMsgHasMethodDeprecated) |
255 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBVar_GetProperty, | 323 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBVar_GetProperty, |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
378 PP_Instance instance, | 446 PP_Instance instance, |
379 int64 ppp_class, | 447 int64 ppp_class, |
380 int64 class_data, | 448 int64 class_data, |
381 SerializedVarReturnValue result) { | 449 SerializedVarReturnValue result) { |
382 result.Return(dispatcher(), PPP_Class_Proxy::CreateProxiedObject( | 450 result.Return(dispatcher(), PPP_Class_Proxy::CreateProxiedObject( |
383 ppb_var_target(), dispatcher(), instance, ppp_class, class_data)); | 451 ppb_var_target(), dispatcher(), instance, ppp_class, class_data)); |
384 } | 452 } |
385 | 453 |
386 } // namespace proxy | 454 } // namespace proxy |
387 } // namespace pp | 455 } // namespace pp |
OLD | NEW |