// 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. syntax = "proto2"; import "vector2d.proto"; import "vector2df.proto"; option optimize_for = LITE_RUNTIME; package cc.proto; message ScrollUpdateInfo { optional int64 layer_id = 1; optional Vector2d scroll_delta = 2; } message ScrollAndScaleSet { repeated ScrollUpdateInfo scrolls = 1; optional float page_scale_delta = 2; optional Vector2dF elastic_overscroll_delta = 3; optional float top_controls_delta = 4; // TODO(khushalsagar): Do we need to send swap promises? // See crbug/576999. } message BeginFrameArgs { enum BeginFrameArgsType { INVALID = 1; NORMAL = 2; MISSED = 3; BEGIN_FRAME_ARGS_TYPE_MAX = 100; } optional int64 frame_time = 1; optional int64 deadline = 2; optional int64 interval = 3; optional BeginFrameArgsType type = 4; optional bool on_critical_path = 5; } message BeginMainFrameAndCommitState { optional int64 begin_frame_id = 1; optional BeginFrameArgs begin_frame_args = 2; optional ScrollAndScaleSet scroll_info = 3; optional int64 memory_allocation_limit_bytes = 4; optional bool evicted_ui_resources = 5; }