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

Side by Side Diff: ppapi/proxy/ppapi_param_traits.cc

Issue 6334016: Refactor PPAPI proxy resource handling to maintain which host they came from,... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 11 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
« no previous file with comments | « ppapi/proxy/ppapi_param_traits.h ('k') | ppapi/proxy/ppapi_proxy_test.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/ppapi_param_traits.h" 5 #include "ppapi/proxy/ppapi_param_traits.h"
6 6
7 #include <string.h> // For memcpy 7 #include <string.h> // For memcpy
8 8
9 #include "ppapi/c/dev/pp_file_info_dev.h" 9 #include "ppapi/c/dev/pp_file_info_dev.h"
10 #include "ppapi/c/pp_resource.h" 10 #include "ppapi/c/pp_resource.h"
11 #include "ppapi/proxy/host_resource.h"
11 #include "ppapi/proxy/interface_proxy.h" 12 #include "ppapi/proxy/interface_proxy.h"
12 #include "ppapi/proxy/ppapi_messages.h" 13 #include "ppapi/proxy/ppapi_messages.h"
13 #include "ppapi/proxy/serialized_var.h" 14 #include "ppapi/proxy/serialized_var.h"
14 15
15 namespace IPC { 16 namespace IPC {
16 17
17 // PP_Bool --------------------------------------------------------------------- 18 // PP_Bool ---------------------------------------------------------------------
18 19
19 // static 20 // static
20 void ParamTraits<PP_Bool>::Write(Message* m, const param_type& p) { 21 void ParamTraits<PP_Bool>::Write(Message* m, const param_type& p) {
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 174
174 // static 175 // static
175 bool ParamTraits<PP_Size>::Read(const Message* m, void** iter, param_type* r) { 176 bool ParamTraits<PP_Size>::Read(const Message* m, void** iter, param_type* r) {
176 return m->ReadInt(iter, &r->width) && m->ReadInt(iter, &r->height); 177 return m->ReadInt(iter, &r->width) && m->ReadInt(iter, &r->height);
177 } 178 }
178 179
179 // static 180 // static
180 void ParamTraits<PP_Size>::Log(const param_type& p, std::string* l) { 181 void ParamTraits<PP_Size>::Log(const param_type& p, std::string* l) {
181 } 182 }
182 183
184 // PPBAudio_NotifyAudioStreamCreated_Params ------------------------------------
185
186 // static
187 void ParamTraits<pp::proxy::PPBAudio_NotifyAudioStreamCreated_Params>::Write(
188 Message* m,
189 const param_type& p) {
190 ParamTraits<PP_Instance>::Write(m, p.instance);
191 ParamTraits<pp::proxy::HostResource>::Write(m, p.audio_id);
192 ParamTraits<int32_t>::Write(m, p.result_code);
193 ParamTraits<PlatformFileForTransit>::Write(m, p.socket_handle);
194 ParamTraits<int32_t>::Write(m, p.length);
195 }
196
197 // static
198 bool ParamTraits<pp::proxy::PPBAudio_NotifyAudioStreamCreated_Params>::Read(
199 const Message* m,
200 void** iter,
201 param_type* r) {
202 return
203 ParamTraits<PP_Instance>::Read(m, iter, &r->instance) &&
204 ParamTraits<pp::proxy::HostResource>::Read(m, iter, &r->audio_id) &&
205 ParamTraits<int32_t>::Read(m, iter, &r->result_code) &&
206 ParamTraits<PlatformFileForTransit>::Read(m, iter, &r->socket_handle) &&
207 ParamTraits<int32_t>::Read(m, iter, &r->length);
208 }
209
210 // static
211 void ParamTraits<pp::proxy::PPBAudio_NotifyAudioStreamCreated_Params>::Log(
212 const param_type& p,
213 std::string* l) {
214 }
215
183 // PPBFlash_DrawGlyphs_Params -------------------------------------------------- 216 // PPBFlash_DrawGlyphs_Params --------------------------------------------------
184 217
185 // static 218 // static
186 void ParamTraits<pp::proxy::PPBFlash_DrawGlyphs_Params>::Write( 219 void ParamTraits<pp::proxy::PPBFlash_DrawGlyphs_Params>::Write(
187 Message* m, 220 Message* m,
188 const param_type& p) { 221 const param_type& p) {
189 ParamTraits<PP_Instance>::Write(m, p.instance); 222 ParamTraits<PP_Instance>::Write(m, p.instance);
190 ParamTraits<PP_Resource>::Write(m, p.pp_image_data); 223 ParamTraits<pp::proxy::HostResource>::Write(m, p.image_data);
191 ParamTraits<pp::proxy::SerializedFontDescription>::Write(m, p.font_desc); 224 ParamTraits<pp::proxy::SerializedFontDescription>::Write(m, p.font_desc);
192 ParamTraits<uint32_t>::Write(m, p.color); 225 ParamTraits<uint32_t>::Write(m, p.color);
193 ParamTraits<PP_Point>::Write(m, p.position); 226 ParamTraits<PP_Point>::Write(m, p.position);
194 ParamTraits<PP_Rect>::Write(m, p.clip); 227 ParamTraits<PP_Rect>::Write(m, p.clip);
195 ParamTraits<float>::Write(m, p.transformation[0][0]); 228 ParamTraits<float>::Write(m, p.transformation[0][0]);
196 ParamTraits<float>::Write(m, p.transformation[0][1]); 229 ParamTraits<float>::Write(m, p.transformation[0][1]);
197 ParamTraits<float>::Write(m, p.transformation[0][2]); 230 ParamTraits<float>::Write(m, p.transformation[0][2]);
198 ParamTraits<float>::Write(m, p.transformation[1][0]); 231 ParamTraits<float>::Write(m, p.transformation[1][0]);
199 ParamTraits<float>::Write(m, p.transformation[1][1]); 232 ParamTraits<float>::Write(m, p.transformation[1][1]);
200 ParamTraits<float>::Write(m, p.transformation[1][2]); 233 ParamTraits<float>::Write(m, p.transformation[1][2]);
201 ParamTraits<float>::Write(m, p.transformation[2][0]); 234 ParamTraits<float>::Write(m, p.transformation[2][0]);
202 ParamTraits<float>::Write(m, p.transformation[2][1]); 235 ParamTraits<float>::Write(m, p.transformation[2][1]);
203 ParamTraits<float>::Write(m, p.transformation[2][2]); 236 ParamTraits<float>::Write(m, p.transformation[2][2]);
204 ParamTraits<std::vector<uint16_t> >::Write(m, p.glyph_indices); 237 ParamTraits<std::vector<uint16_t> >::Write(m, p.glyph_indices);
205 ParamTraits<std::vector<PP_Point> >::Write(m, p.glyph_advances); 238 ParamTraits<std::vector<PP_Point> >::Write(m, p.glyph_advances);
206 } 239 }
207 240
208 // static 241 // static
209 bool ParamTraits<pp::proxy::PPBFlash_DrawGlyphs_Params>::Read( 242 bool ParamTraits<pp::proxy::PPBFlash_DrawGlyphs_Params>::Read(
210 const Message* m, 243 const Message* m,
211 void** iter, 244 void** iter,
212 param_type* r) { 245 param_type* r) {
213 return 246 return
214 ParamTraits<PP_Instance>::Read(m, iter, &r->instance) && 247 ParamTraits<PP_Instance>::Read(m, iter, &r->instance) &&
215 ParamTraits<PP_Resource>::Read(m, iter, &r->pp_image_data) && 248 ParamTraits<pp::proxy::HostResource>::Read(m, iter,
249 &r->image_data) &&
216 ParamTraits<pp::proxy::SerializedFontDescription>::Read(m, iter, 250 ParamTraits<pp::proxy::SerializedFontDescription>::Read(m, iter,
217 &r->font_desc) && 251 &r->font_desc) &&
218 ParamTraits<uint32_t>::Read(m, iter, &r->color) && 252 ParamTraits<uint32_t>::Read(m, iter, &r->color) &&
219 ParamTraits<PP_Point>::Read(m, iter, &r->position) && 253 ParamTraits<PP_Point>::Read(m, iter, &r->position) &&
220 ParamTraits<PP_Rect>::Read(m, iter, &r->clip) && 254 ParamTraits<PP_Rect>::Read(m, iter, &r->clip) &&
221 ParamTraits<float>::Read(m, iter, &r->transformation[0][0]) && 255 ParamTraits<float>::Read(m, iter, &r->transformation[0][0]) &&
222 ParamTraits<float>::Read(m, iter, &r->transformation[0][1]) && 256 ParamTraits<float>::Read(m, iter, &r->transformation[0][1]) &&
223 ParamTraits<float>::Read(m, iter, &r->transformation[0][2]) && 257 ParamTraits<float>::Read(m, iter, &r->transformation[0][2]) &&
224 ParamTraits<float>::Read(m, iter, &r->transformation[1][0]) && 258 ParamTraits<float>::Read(m, iter, &r->transformation[1][0]) &&
225 ParamTraits<float>::Read(m, iter, &r->transformation[1][1]) && 259 ParamTraits<float>::Read(m, iter, &r->transformation[1][1]) &&
(...skipping 11 matching lines...) Expand all
237 const param_type& p, 271 const param_type& p,
238 std::string* l) { 272 std::string* l) {
239 } 273 }
240 274
241 // PPBFont_DrawTextAt_Params --------------------------------------------------- 275 // PPBFont_DrawTextAt_Params ---------------------------------------------------
242 276
243 // static 277 // static
244 void ParamTraits<pp::proxy::PPBFont_DrawTextAt_Params>::Write( 278 void ParamTraits<pp::proxy::PPBFont_DrawTextAt_Params>::Write(
245 Message* m, 279 Message* m,
246 const param_type& p) { 280 const param_type& p) {
247 ParamTraits<PP_Resource>::Write(m, p.font); 281 ParamTraits<pp::proxy::HostResource>::Write(m, p.font);
248 ParamTraits<PP_Resource>::Write(m, p.image_data); 282 ParamTraits<pp::proxy::HostResource>::Write(m, p.image_data);
249 ParamTraits<PP_Bool>::Write(m, p.text_is_rtl); 283 ParamTraits<PP_Bool>::Write(m, p.text_is_rtl);
250 ParamTraits<PP_Bool>::Write(m, p.override_direction); 284 ParamTraits<PP_Bool>::Write(m, p.override_direction);
251 ParamTraits<PP_Point>::Write(m, p.position); 285 ParamTraits<PP_Point>::Write(m, p.position);
252 ParamTraits<uint32_t>::Write(m, p.color); 286 ParamTraits<uint32_t>::Write(m, p.color);
253 ParamTraits<PP_Rect>::Write(m, p.clip); 287 ParamTraits<PP_Rect>::Write(m, p.clip);
254 ParamTraits<bool>::Write(m, p.clip_is_null); 288 ParamTraits<bool>::Write(m, p.clip_is_null);
255 ParamTraits<PP_Bool>::Write(m, p.image_data_is_opaque); 289 ParamTraits<PP_Bool>::Write(m, p.image_data_is_opaque);
256 } 290 }
257 291
258 // static 292 // static
259 bool ParamTraits<pp::proxy::PPBFont_DrawTextAt_Params>::Read( 293 bool ParamTraits<pp::proxy::PPBFont_DrawTextAt_Params>::Read(
260 const Message* m, 294 const Message* m,
261 void** iter, 295 void** iter,
262 param_type* r) { 296 param_type* r) {
263 return 297 return
264 ParamTraits<PP_Resource>::Read(m, iter, &r->font) && 298 ParamTraits<pp::proxy::HostResource>::Read(m, iter, &r->font) &&
265 ParamTraits<PP_Resource>::Read(m, iter, &r->image_data) && 299 ParamTraits<pp::proxy::HostResource>::Read(m, iter,
300 &r->image_data) &&
266 ParamTraits<PP_Bool>::Read(m, iter, &r->text_is_rtl) && 301 ParamTraits<PP_Bool>::Read(m, iter, &r->text_is_rtl) &&
267 ParamTraits<PP_Bool>::Read(m, iter, &r->override_direction) && 302 ParamTraits<PP_Bool>::Read(m, iter, &r->override_direction) &&
268 ParamTraits<PP_Point>::Read(m, iter, &r->position) && 303 ParamTraits<PP_Point>::Read(m, iter, &r->position) &&
269 ParamTraits<uint32_t>::Read(m, iter, &r->color) && 304 ParamTraits<uint32_t>::Read(m, iter, &r->color) &&
270 ParamTraits<PP_Rect>::Read(m, iter, &r->clip) && 305 ParamTraits<PP_Rect>::Read(m, iter, &r->clip) &&
271 ParamTraits<bool>::Read(m, iter, &r->clip_is_null) && 306 ParamTraits<bool>::Read(m, iter, &r->clip_is_null) &&
272 ParamTraits<PP_Bool>::Read(m, iter, &r->image_data_is_opaque); 307 ParamTraits<PP_Bool>::Read(m, iter, &r->image_data_is_opaque);
273 } 308 }
274 309
275 // static 310 // static
276 void ParamTraits<pp::proxy::PPBFont_DrawTextAt_Params>::Log( 311 void ParamTraits<pp::proxy::PPBFont_DrawTextAt_Params>::Log(
277 const param_type& p, 312 const param_type& p,
278 std::string* l) { 313 std::string* l) {
279 } 314 }
280 315
316 // PPBURLLoader_UpdateProgress_Params ------------------------------------------
317
318 // static
319 void ParamTraits<pp::proxy::PPBURLLoader_UpdateProgress_Params>::Write(
320 Message* m,
321 const param_type& p) {
322 ParamTraits<PP_Instance>::Write(m, p.instance);
323 ParamTraits<pp::proxy::HostResource>::Write(m, p.resource);
324 ParamTraits<int64_t>::Write(m, p.bytes_sent);
325 ParamTraits<int64_t>::Write(m, p.total_bytes_to_be_sent);
326 ParamTraits<int64_t>::Write(m, p.bytes_received);
327 ParamTraits<int64_t>::Write(m, p.total_bytes_to_be_received);
328 }
329
330 // static
331 bool ParamTraits<pp::proxy::PPBURLLoader_UpdateProgress_Params>::Read(
332 const Message* m,
333 void** iter,
334 param_type* r) {
335 return
336 ParamTraits<PP_Instance>::Read(m, iter, &r->instance) &&
337 ParamTraits<pp::proxy::HostResource>::Read(m, iter, &r->resource) &&
338 ParamTraits<int64_t>::Read(m, iter, &r->bytes_sent) &&
339 ParamTraits<int64_t>::Read(m, iter, &r->total_bytes_to_be_sent) &&
340 ParamTraits<int64_t>::Read(m, iter, &r->bytes_received) &&
341 ParamTraits<int64_t>::Read(m, iter, &r->total_bytes_to_be_received);
342 }
343
344 // static
345 void ParamTraits<pp::proxy::PPBURLLoader_UpdateProgress_Params>::Log(
346 const param_type& p,
347 std::string* l) {
348 }
349
281 // SerializedDirEntry ---------------------------------------------------------- 350 // SerializedDirEntry ----------------------------------------------------------
282 351
283 // static 352 // static
284 void ParamTraits<pp::proxy::SerializedDirEntry>::Write(Message* m, 353 void ParamTraits<pp::proxy::SerializedDirEntry>::Write(Message* m,
285 const param_type& p) { 354 const param_type& p) {
286 ParamTraits<std::string>::Write(m, p.name); 355 ParamTraits<std::string>::Write(m, p.name);
287 ParamTraits<bool>::Write(m, p.is_dir); 356 ParamTraits<bool>::Write(m, p.is_dir);
288 } 357 }
289 358
290 // static 359 // static
291 bool ParamTraits<pp::proxy::SerializedDirEntry>::Read(const Message* m, 360 bool ParamTraits<pp::proxy::SerializedDirEntry>::Read(const Message* m,
292 void** iter, 361 void** iter,
293 param_type* r) { 362 param_type* r) {
294 return ParamTraits<std::string>::Read(m, iter, &r->name) && 363 return ParamTraits<std::string>::Read(m, iter, &r->name) &&
295 ParamTraits<bool>::Read(m, iter, &r->is_dir); 364 ParamTraits<bool>::Read(m, iter, &r->is_dir);
296 } 365 }
297 366
298 // static 367 // static
299 void ParamTraits<pp::proxy::SerializedDirEntry>::Log(const param_type& p, 368 void ParamTraits<pp::proxy::SerializedDirEntry>::Log(const param_type& p,
300 std::string* l) { 369 std::string* l) {
301 } 370 }
302 371
303 // SerializedVar ---------------------------------------------------------------
304
305 // static
306 void ParamTraits<pp::proxy::SerializedVar>::Write(Message* m,
307 const param_type& p) {
308 p.WriteToMessage(m);
309 }
310
311 // static
312 bool ParamTraits<pp::proxy::SerializedVar>::Read(const Message* m,
313 void** iter,
314 param_type* r) {
315 return r->ReadFromMessage(m, iter);
316 }
317
318 // static
319 void ParamTraits<pp::proxy::SerializedVar>::Log(const param_type& p,
320 std::string* l) {
321 }
322
323 // pp::proxy::SerializedFontDescription ---------------------------------------- 372 // pp::proxy::SerializedFontDescription ----------------------------------------
324 373
325 // static 374 // static
326 void ParamTraits<pp::proxy::SerializedFontDescription>::Write( 375 void ParamTraits<pp::proxy::SerializedFontDescription>::Write(
327 Message* m, 376 Message* m,
328 const param_type& p) { 377 const param_type& p) {
329 ParamTraits<pp::proxy::SerializedVar>::Write(m, p.face); 378 ParamTraits<pp::proxy::SerializedVar>::Write(m, p.face);
330 ParamTraits<int32_t>::Write(m, p.family); 379 ParamTraits<int32_t>::Write(m, p.family);
331 ParamTraits<uint32_t>::Write(m, p.size); 380 ParamTraits<uint32_t>::Write(m, p.size);
332 ParamTraits<int32_t>::Write(m, p.weight); 381 ParamTraits<int32_t>::Write(m, p.weight);
(...skipping 18 matching lines...) Expand all
351 ParamTraits<int32_t>::Read(m, iter, &r->letter_spacing) && 400 ParamTraits<int32_t>::Read(m, iter, &r->letter_spacing) &&
352 ParamTraits<int32_t>::Read(m, iter, &r->word_spacing); 401 ParamTraits<int32_t>::Read(m, iter, &r->word_spacing);
353 } 402 }
354 403
355 // static 404 // static
356 void ParamTraits<pp::proxy::SerializedFontDescription>::Log( 405 void ParamTraits<pp::proxy::SerializedFontDescription>::Log(
357 const param_type& p, 406 const param_type& p,
358 std::string* l) { 407 std::string* l) {
359 } 408 }
360 409
410 // HostResource ----------------------------------------------------------
411
412 // static
413 void ParamTraits<pp::proxy::HostResource>::Write(Message* m,
414 const param_type& p) {
viettrungluu 2011/01/27 20:16:30 Nit: indentation. (And elsewhere in this file.)
415 ParamTraits<PP_Instance>::Write(m, p.instance());
416 ParamTraits<PP_Resource>::Write(m, p.host_resource());
417 }
418
419 // static
420 bool ParamTraits<pp::proxy::HostResource>::Read(const Message* m,
421 void** iter,
422 param_type* r) {
423 PP_Instance instance;
424 PP_Resource resource;
425 if (!ParamTraits<PP_Instance>::Read(m, iter, &instance) ||
426 !ParamTraits<PP_Resource>::Read(m, iter, &resource))
427 return false;
428 r->SetHostResource(instance, resource);
429 return true;
430 }
431
432 // static
433 void ParamTraits<pp::proxy::HostResource>::Log(const param_type& p,
434 std::string* l) {
435 }
436
437 // SerializedVar ---------------------------------------------------------------
438
439 // static
440 void ParamTraits<pp::proxy::SerializedVar>::Write(Message* m,
441 const param_type& p) {
442 p.WriteToMessage(m);
443 }
444
445 // static
446 bool ParamTraits<pp::proxy::SerializedVar>::Read(const Message* m,
447 void** iter,
448 param_type* r) {
449 return r->ReadFromMessage(m, iter);
450 }
451
452 // static
453 void ParamTraits<pp::proxy::SerializedVar>::Log(const param_type& p,
454 std::string* l) {
455 }
456
361 // std::vector<SerializedVar> -------------------------------------------------- 457 // std::vector<SerializedVar> --------------------------------------------------
362 458
363 void ParamTraits< std::vector<pp::proxy::SerializedVar> >::Write( 459 void ParamTraits< std::vector<pp::proxy::SerializedVar> >::Write(
364 Message* m, 460 Message* m,
365 const param_type& p) { 461 const param_type& p) {
366 WriteParam(m, static_cast<int>(p.size())); 462 WriteParam(m, static_cast<int>(p.size()));
367 for (size_t i = 0; i < p.size(); i++) 463 for (size_t i = 0; i < p.size(); i++)
368 WriteParam(m, p[i]); 464 WriteParam(m, p[i]);
369 } 465 }
370 466
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
407 return true; 503 return true;
408 } 504 }
409 505
410 // static 506 // static
411 void ParamTraits< std::vector<pp::proxy::SerializedVar> >::Log( 507 void ParamTraits< std::vector<pp::proxy::SerializedVar> >::Log(
412 const param_type& p, 508 const param_type& p,
413 std::string* l) { 509 std::string* l) {
414 } 510 }
415 511
416 } // namespace IPC 512 } // namespace IPC
OLDNEW
« no previous file with comments | « ppapi/proxy/ppapi_param_traits.h ('k') | ppapi/proxy/ppapi_proxy_test.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698