Index: cc/ipc/quads_struct_traits.cc |
diff --git a/cc/ipc/quads_struct_traits.cc b/cc/ipc/quads_struct_traits.cc |
index 536b3b94c90047d2f301ebf3e686bfddcf94cff0..efde62b2cf583189f1534c1f98b634b2608b1f10 100644 |
--- a/cc/ipc/quads_struct_traits.cc |
+++ b/cc/ipc/quads_struct_traits.cc |
@@ -44,6 +44,10 @@ cc::DrawQuad* AllocateAndConstruct( |
quad = list->AllocateAndConstruct<cc::YUVVideoDrawQuad>(); |
quad->material = cc::DrawQuad::YUV_VIDEO_CONTENT; |
return quad; |
+ case cc::mojom::DrawQuadState::DataView::Tag::Y_VIDEO_QUAD_STATE: |
+ quad = list->AllocateAndConstruct<cc::YVideoDrawQuad>(); |
+ quad->material = cc::DrawQuad::Y_VIDEO_CONTENT; |
+ return quad; |
} |
NOTREACHED(); |
return nullptr; |
@@ -218,6 +222,21 @@ bool StructTraits<cc::mojom::YUVVideoQuadState, cc::DrawQuad>::Read( |
} |
// static |
+bool StructTraits<cc::mojom::YVideoQuadState, cc::DrawQuad>::Read( |
+ cc::mojom::YVideoQuadStateDataView data, |
+ cc::DrawQuad* out) { |
+ cc::YVideoDrawQuad* quad = static_cast<cc::YVideoDrawQuad*>(out); |
+ quad->resources.ids[cc::YVideoDrawQuad::kResourceIdIndex] = |
+ data.resource_id(); |
+ quad->resources.count = 1; |
+ if (!data.ReadUvTopLeft(&quad->uv_top_left) || |
+ !data.ReadUvBottomRight(&quad->uv_bottom_right)) { |
+ return false; |
+ } |
+ return true; |
+} |
+ |
+// static |
bool StructTraits<cc::mojom::DrawQuad, cc::DrawQuad>::Read( |
cc::mojom::DrawQuadDataView data, |
cc::DrawQuad* out) { |