| // Copyright 2016 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| module viz.mojom; |
| |
| import "mojo/public/mojom/base/time.mojom"; |
| import "services/viz/public/interfaces/compositing/begin_frame_args.mojom"; |
| import "services/viz/public/interfaces/compositing/frame_deadline.mojom"; |
| import "services/viz/public/interfaces/compositing/selection.mojom"; |
| import "services/viz/public/interfaces/compositing/surface_id.mojom"; |
| import "services/viz/public/interfaces/compositing/surface_range.mojom"; |
| import "ui/latency/mojo/latency_info.mojom"; |
| import "ui/gfx/geometry/mojo/geometry.mojom"; |
| |
| // See components/viz/service/quads/compositor_frame_metadata.h. |
| struct CompositorFrameMetadata { |
| float device_scale_factor; |
| gfx.mojom.Vector2dF root_scroll_offset; |
| float page_scale_factor; |
| gfx.mojom.SizeF scrollable_viewport_size; |
| bool may_contain_video; |
| bool is_resourceless_software_draw_with_scroll_or_animation; |
| uint32 root_background_color; |
| array<ui.mojom.LatencyInfo> latency_info; |
| array<SurfaceRange> referenced_surfaces; |
| FrameDeadline deadline; |
| array<SurfaceId> activation_dependencies; |
| uint32 content_source_id; |
| BeginFrameAck begin_frame_ack; |
| uint32 frame_token; |
| bool send_frame_token_to_embedder; |
| |
| float min_page_scale_factor; |
| |
| [EnableIf=is_android] |
| float max_page_scale_factor; |
| |
| [EnableIf=is_android] |
| gfx.mojom.SizeF root_layer_size; |
| |
| [EnableIf=is_android] |
| bool root_overflow_y_hidden; |
| |
| float top_controls_height; |
| |
| float top_controls_shown_ratio; |
| |
| mojo_base.mojom.TimeTicks local_surface_id_allocation_time; |
| |
| [EnableIf=is_android] |
| float bottom_controls_height; |
| |
| [EnableIf=is_android] |
| float bottom_controls_shown_ratio; |
| |
| [EnableIf=is_android] |
| Selection selection; |
| }; |