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

Unified Diff: cc/ipc/quads_struct_traits.cc

Issue 2582823002: WIP: Surface Synchronization System
Patch Set: Only create ClientSurfaceEmbedder if window is visible. Trash it otherwise. Created 3 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 side-by-side diff with in-line comments
Download patch
Index: cc/ipc/quads_struct_traits.cc
diff --git a/cc/ipc/quads_struct_traits.cc b/cc/ipc/quads_struct_traits.cc
index 7695c12a8102080edd0784ac31aaa7c9b02cd74a..57fdd9415fda9f2ba3ae4e8bc103e52f80712343 100644
--- a/cc/ipc/quads_struct_traits.cc
+++ b/cc/ipc/quads_struct_traits.cc
@@ -102,11 +102,41 @@ bool StructTraits<cc::mojom::StreamVideoQuadStateDataView, cc::DrawQuad>::Read(
}
// static
+cc::mojom::SurfaceDrawQuadType
+EnumTraits<cc::mojom::SurfaceDrawQuadType, cc::SurfaceDrawQuadType>::ToMojom(
+ cc::SurfaceDrawQuadType surface_draw_quad_type) {
+ switch (surface_draw_quad_type) {
+ case cc::SurfaceDrawQuadType::PRIMARY:
+ return cc::mojom::SurfaceDrawQuadType::PRIMARY;
+ case cc::SurfaceDrawQuadType::FALLBACK:
+ return cc::mojom::SurfaceDrawQuadType::FALLBACK;
+ }
+}
+
+// static
+bool EnumTraits<cc::mojom::SurfaceDrawQuadType, cc::SurfaceDrawQuadType>::
+ FromMojom(cc::mojom::SurfaceDrawQuadType input,
+ cc::SurfaceDrawQuadType* out) {
+ switch (input) {
+ case cc::mojom::SurfaceDrawQuadType::PRIMARY:
+ *out = cc::SurfaceDrawQuadType::PRIMARY;
+ return true;
+ case cc::mojom::SurfaceDrawQuadType::FALLBACK:
+ *out = cc::SurfaceDrawQuadType::FALLBACK;
+ return true;
+ }
+ return false;
+}
+
+// static
bool StructTraits<cc::mojom::SurfaceQuadStateDataView, cc::DrawQuad>::Read(
cc::mojom::SurfaceQuadStateDataView data,
cc::DrawQuad* out) {
cc::SurfaceDrawQuad* quad = static_cast<cc::SurfaceDrawQuad*>(out);
- return data.ReadSurface(&quad->surface_id);
+ // This wil be populated in RenderPass deserialization.
+ quad->fallback_quad = nullptr;
+ return data.ReadSurfaceDrawQuadType(&quad->surface_draw_quad_type) &&
+ data.ReadSurface(&quad->surface_id);
}
// static

Powered by Google App Engine
This is Rietveld 408576698