use crate::pb_enum;
use crate::pb_msg;
pb_enum!(ChromeFrameReporterState {
STATE_NO_UPDATE_DESIRED: 0,
STATE_PRESENTED_ALL: 1,
STATE_PRESENTED_PARTIAL: 2,
STATE_DROPPED: 3,
});
pb_enum!(ChromeFrameReporterFrameDropReason {
REASON_UNSPECIFIED: 0,
REASON_DISPLAY_COMPOSITOR: 1,
REASON_MAIN_THREAD: 2,
REASON_CLIENT_COMPOSITOR: 3,
});
pb_enum!(ChromeFrameReporterScrollState {
SCROLL_NONE: 0,
SCROLL_MAIN_THREAD: 1,
SCROLL_COMPOSITOR_THREAD: 2,
SCROLL_RASTER: 3,
SCROLL_UNKNOWN: 4,
});
pb_enum!(ChromeFrameReporterFrameType {
FORKED: 0,
BACKFILL: 1,
});
pb_msg!(ChromeFrameReporter {
state: ChromeFrameReporterState, enum, 1,
reason: ChromeFrameReporterFrameDropReason, enum, 2,
frame_source: u64, primitive, 3,
frame_sequence: u64, primitive, 4,
affects_smoothness: bool, primitive, 5,
scroll_state: ChromeFrameReporterScrollState, enum, 6,
has_main_animation: bool, primitive, 7,
has_compositor_animation: bool, primitive, 8,
has_smooth_input_main: bool, primitive, 9,
has_missing_content: bool, primitive, 10,
layer_tree_host_id: u64, primitive, 11,
has_high_latency: bool, primitive, 12,
frame_type: ChromeFrameReporterFrameType, enum, 13,
high_latency_contribution_stage: String, primitive, 14,
checkerboarded_needs_raster: bool, primitive, 15,
checkerboarded_needs_record: bool, primitive, 16,
surface_frame_trace_id: i64, primitive, 17,
display_trace_id: i64, primitive, 18,
});