| OLD | NEW |
| 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 "cc/ipc/cc_param_traits.h" | 5 #include "cc/ipc/cc_param_traits.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/numerics/safe_conversions.h" | 10 #include "base/numerics/safe_conversions.h" |
| 11 #include "base/time/time.h" | 11 #include "base/time/time.h" |
| 12 #include "cc/output/compositor_frame.h" | 12 #include "cc/output/compositor_frame.h" |
| 13 #include "cc/output/filter_operations.h" | 13 #include "cc/output/filter_operations.h" |
| 14 #include "cc/quads/debug_border_draw_quad.h" | 14 #include "cc/quads/debug_border_draw_quad.h" |
| 15 #include "cc/quads/draw_quad.h" | 15 #include "cc/quads/draw_quad.h" |
| 16 #include "cc/quads/largest_draw_quad.h" | 16 #include "cc/quads/largest_draw_quad.h" |
| 17 #include "cc/quads/render_pass_draw_quad.h" | 17 #include "cc/quads/render_pass_draw_quad.h" |
| 18 #include "cc/quads/solid_color_draw_quad.h" | 18 #include "cc/quads/solid_color_draw_quad.h" |
| 19 #include "cc/quads/surface_draw_quad.h" | 19 #include "cc/quads/surface_draw_quad.h" |
| 20 #include "cc/quads/tile_draw_quad.h" | 20 #include "cc/quads/tile_draw_quad.h" |
| 21 #include "cc/quads/y_video_draw_quad.h" |
| 21 #include "cc/quads/yuv_video_draw_quad.h" | 22 #include "cc/quads/yuv_video_draw_quad.h" |
| 22 #include "cc/surfaces/surface_id.h" | 23 #include "cc/surfaces/surface_id.h" |
| 23 #include "third_party/skia/include/core/SkData.h" | 24 #include "third_party/skia/include/core/SkData.h" |
| 24 #include "third_party/skia/include/core/SkFlattenableSerialization.h" | 25 #include "third_party/skia/include/core/SkFlattenableSerialization.h" |
| 25 #include "third_party/skia/include/core/SkImageFilter.h" | 26 #include "third_party/skia/include/core/SkImageFilter.h" |
| 26 #include "third_party/skia/include/core/SkRefCnt.h" | 27 #include "third_party/skia/include/core/SkRefCnt.h" |
| 27 #include "ui/gfx/ipc/geometry/gfx_param_traits.h" | 28 #include "ui/gfx/ipc/geometry/gfx_param_traits.h" |
| 28 #include "ui/gfx/ipc/skia/gfx_skia_param_traits.h" | 29 #include "ui/gfx/ipc/skia/gfx_skia_param_traits.h" |
| 29 | 30 |
| 30 namespace IPC { | 31 namespace IPC { |
| (...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 362 break; | 363 break; |
| 363 case cc::DrawQuad::TILED_CONTENT: | 364 case cc::DrawQuad::TILED_CONTENT: |
| 364 WriteParam(m, *cc::TileDrawQuad::MaterialCast(quad)); | 365 WriteParam(m, *cc::TileDrawQuad::MaterialCast(quad)); |
| 365 break; | 366 break; |
| 366 case cc::DrawQuad::STREAM_VIDEO_CONTENT: | 367 case cc::DrawQuad::STREAM_VIDEO_CONTENT: |
| 367 WriteParam(m, *cc::StreamVideoDrawQuad::MaterialCast(quad)); | 368 WriteParam(m, *cc::StreamVideoDrawQuad::MaterialCast(quad)); |
| 368 break; | 369 break; |
| 369 case cc::DrawQuad::YUV_VIDEO_CONTENT: | 370 case cc::DrawQuad::YUV_VIDEO_CONTENT: |
| 370 WriteParam(m, *cc::YUVVideoDrawQuad::MaterialCast(quad)); | 371 WriteParam(m, *cc::YUVVideoDrawQuad::MaterialCast(quad)); |
| 371 break; | 372 break; |
| 373 case cc::DrawQuad::Y_VIDEO_CONTENT: |
| 374 WriteParam(m, *cc::YVideoDrawQuad::MaterialCast(quad)); |
| 375 break; |
| 372 case cc::DrawQuad::INVALID: | 376 case cc::DrawQuad::INVALID: |
| 373 break; | 377 break; |
| 374 } | 378 } |
| 375 | 379 |
| 376 // Null shared quad states should not occur. | 380 // Null shared quad states should not occur. |
| 377 DCHECK(quad->shared_quad_state); | 381 DCHECK(quad->shared_quad_state); |
| 378 | 382 |
| 379 // SharedQuadStates should appear in the order they are used by DrawQuads. | 383 // SharedQuadStates should appear in the order they are used by DrawQuads. |
| 380 // Find the SharedQuadState for this DrawQuad. | 384 // Find the SharedQuadState for this DrawQuad. |
| 381 while (shared_quad_state_iter != p.shared_quad_state_list.end() && | 385 while (shared_quad_state_iter != p.shared_quad_state_list.end() && |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 467 break; | 471 break; |
| 468 case cc::DrawQuad::TILED_CONTENT: | 472 case cc::DrawQuad::TILED_CONTENT: |
| 469 draw_quad = ReadDrawQuad<cc::TileDrawQuad>(m, iter, p); | 473 draw_quad = ReadDrawQuad<cc::TileDrawQuad>(m, iter, p); |
| 470 break; | 474 break; |
| 471 case cc::DrawQuad::STREAM_VIDEO_CONTENT: | 475 case cc::DrawQuad::STREAM_VIDEO_CONTENT: |
| 472 draw_quad = ReadDrawQuad<cc::StreamVideoDrawQuad>(m, iter, p); | 476 draw_quad = ReadDrawQuad<cc::StreamVideoDrawQuad>(m, iter, p); |
| 473 break; | 477 break; |
| 474 case cc::DrawQuad::YUV_VIDEO_CONTENT: | 478 case cc::DrawQuad::YUV_VIDEO_CONTENT: |
| 475 draw_quad = ReadDrawQuad<cc::YUVVideoDrawQuad>(m, iter, p); | 479 draw_quad = ReadDrawQuad<cc::YUVVideoDrawQuad>(m, iter, p); |
| 476 break; | 480 break; |
| 481 case cc::DrawQuad::Y_VIDEO_CONTENT: |
| 482 draw_quad = ReadDrawQuad<cc::YVideoDrawQuad>(m, iter, p); |
| 483 break; |
| 477 case cc::DrawQuad::INVALID: | 484 case cc::DrawQuad::INVALID: |
| 478 break; | 485 break; |
| 479 } | 486 } |
| 480 if (!draw_quad) | 487 if (!draw_quad) |
| 481 return false; | 488 return false; |
| 482 if (!draw_quad->rect.Contains(draw_quad->visible_rect)) { | 489 if (!draw_quad->rect.Contains(draw_quad->visible_rect)) { |
| 483 LOG(ERROR) << "Quad with invalid visible rect " << draw_quad->material | 490 LOG(ERROR) << "Quad with invalid visible rect " << draw_quad->material |
| 484 << " rect: " << draw_quad->rect.ToString() | 491 << " rect: " << draw_quad->rect.ToString() |
| 485 << " visible_rect: " << draw_quad->visible_rect.ToString(); | 492 << " visible_rect: " << draw_quad->visible_rect.ToString(); |
| 486 return false; | 493 return false; |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 554 break; | 561 break; |
| 555 case cc::DrawQuad::TILED_CONTENT: | 562 case cc::DrawQuad::TILED_CONTENT: |
| 556 LogParam(*cc::TileDrawQuad::MaterialCast(quad), l); | 563 LogParam(*cc::TileDrawQuad::MaterialCast(quad), l); |
| 557 break; | 564 break; |
| 558 case cc::DrawQuad::STREAM_VIDEO_CONTENT: | 565 case cc::DrawQuad::STREAM_VIDEO_CONTENT: |
| 559 LogParam(*cc::StreamVideoDrawQuad::MaterialCast(quad), l); | 566 LogParam(*cc::StreamVideoDrawQuad::MaterialCast(quad), l); |
| 560 break; | 567 break; |
| 561 case cc::DrawQuad::YUV_VIDEO_CONTENT: | 568 case cc::DrawQuad::YUV_VIDEO_CONTENT: |
| 562 LogParam(*cc::YUVVideoDrawQuad::MaterialCast(quad), l); | 569 LogParam(*cc::YUVVideoDrawQuad::MaterialCast(quad), l); |
| 563 break; | 570 break; |
| 571 case cc::DrawQuad::Y_VIDEO_CONTENT: |
| 572 LogParam(*cc::YVideoDrawQuad::MaterialCast(quad), l); |
| 573 break; |
| 564 case cc::DrawQuad::INVALID: | 574 case cc::DrawQuad::INVALID: |
| 565 break; | 575 break; |
| 566 } | 576 } |
| 567 } | 577 } |
| 568 l->append("])"); | 578 l->append("])"); |
| 569 } | 579 } |
| 570 | 580 |
| 571 void ParamTraits<cc::FrameSinkId>::GetSize(base::PickleSizer* s, | 581 void ParamTraits<cc::FrameSinkId>::GetSize(base::PickleSizer* s, |
| 572 const param_type& p) { | 582 const param_type& p) { |
| 573 GetParamSize(s, p.client_id()); | 583 GetParamSize(s, p.client_id()); |
| (...skipping 444 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1018 #undef CC_IPC_CC_PARAM_TRAITS_MACROS_H_ | 1028 #undef CC_IPC_CC_PARAM_TRAITS_MACROS_H_ |
| 1019 #include "cc/ipc/cc_param_traits_macros.h" | 1029 #include "cc/ipc/cc_param_traits_macros.h" |
| 1020 } // namespace IPC | 1030 } // namespace IPC |
| 1021 | 1031 |
| 1022 // Generate param traits log methods. | 1032 // Generate param traits log methods. |
| 1023 #include "ipc/param_traits_log_macros.h" | 1033 #include "ipc/param_traits_log_macros.h" |
| 1024 namespace IPC { | 1034 namespace IPC { |
| 1025 #undef CC_IPC_CC_PARAM_TRAITS_MACROS_H_ | 1035 #undef CC_IPC_CC_PARAM_TRAITS_MACROS_H_ |
| 1026 #include "cc/ipc/cc_param_traits_macros.h" | 1036 #include "cc/ipc/cc_param_traits_macros.h" |
| 1027 } // namespace IPC | 1037 } // namespace IPC |
| OLD | NEW |