blob: c5ebc7708d69dfbde2fa81961f6b73ad38b754c7 [file] [log] [blame]
// 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;
};